Visão Geral
O que o Sequential Thinking faz, quando usar e exemplos práticos de uso
O Sequential Thinking transforma uma instrução em linguagem natural em execução orientada por steps. Você diz o que quer; o motor organiza a sequência e executa com segurança.
O que ele faz
- Interpreta instruções em linguagem natural
- Quebra a tarefa em steps executáveis
- Executa cada step na ordem correta
- Reage a falhas com retry, skip, pause ou abort
- Mantém histórico e estado para retomada
- Emite eventos de progresso para o frontend
- Retorna métricas de execução e custo
Quando usar
Use quando você precisa automatizar um fluxo com múltiplas etapas, especialmente se:
- A tarefa depende de passos encadeados
- Você precisa rastrear progresso em tempo real
- É importante retomar em caso de falha/interrupção
- O fluxo pode variar conforme o pedido do usuário
Quando não usar
Não use para operações de 1 passo, sem necessidade de contexto, retomada ou observabilidade.
Capacidades principais
1) Execução com ações reais
Use POST /runWithAgents para rodar com ações de produção.
Exemplo:
curl -X POST "{BASE_URL}/runWithAgents" \
-H "Authorization: Bearer {TOKEN}" \
-H "Content-Type: application/json" \
-d '{
"instructions": "Busque informações sobre planos e responda de forma objetiva."
}'
2) Teste seguro em sandbox
Use POST /run para validar comportamento sem efeitos colaterais externos.
Exemplo:
curl -X POST "{BASE_URL}/run" \
-H "Content-Type: application/json" \
-d '{
"instructions": "Converta o texto para maiúsculas e retorne o resultado."
}'
3) Descoberta de capacidades disponíveis
Use GET /listActions para listar ações e parâmetros esperados.
curl -X GET "{BASE_URL}/listActions"
Exemplo de retorno (resumido)
{
"data": {
"result": {
"success": true,
"intentId": "uuid-da-execucao",
"steps": [
{
"stepNumber": 1,
"action": "ragSearch",
"status": "completed"
},
{
"stepNumber": 2,
"action": "respondToUser",
"status": "completed"
}
],
"metrics": {
"totalDurationMs": 4500,
"totalLlmCalls": 3
},
"error": null
},
"events": [
{ "type": "plan_ready" },
{ "type": "step_started" },
{ "type": "step_completed" },
{ "type": "execution_completed" }
]
}
}
Eventos que você pode consumir no frontend
plan_readyexecution_startedstep_startedstep_completedstep_failedexecution_completedexecution_failedexecution_cancelled
Esses eventos permitem exibir progresso, status por etapa e mensagens de erro em tempo real.
Controle de execução disponível
O motor oferece:
- Limite de steps por execução
- Timeout por step
- Política de retry
- Cancelamento
- Retomada de execução
- Modo de validação sem execução real (
dryRun)
Boas práticas de uso
- Escreva instruções claras, com objetivo e resultado esperado
- Consulte
listActionsantes para entender limitações - Use
runno desenvolvimento erunWithAgentsem produção - No cliente, sempre cheque
result.successantes de usar a resposta final
Casos de uso comuns
- Buscar informação e responder ao usuário com contexto
- Encadear ações que dependem da saída anterior
- Automatizar fluxos de suporte, atendimento ou operação
- Executar processos longos com feedback em tempo real
Resumo rápido
Você entrega uma instrução; o motor entrega execução estruturada, observável e resiliente.
Quando usar cada endpoint
| Cenário | Endpoint |
|---|---|
| Teste local sem efeitos colaterais | POST /run |
| Execução real com agentes em produção | POST /runWithAgents |
| Descobrir ações e schemas disponíveis | GET /listActions |
Se você quer começar rápido, use POST /run com uma instrução curta e monitore os eventos retornados.