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_ready
  • execution_started
  • step_started
  • step_completed
  • step_failed
  • execution_completed
  • execution_failed
  • execution_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 listActions antes para entender limitações
  • Use run no desenvolvimento e runWithAgents em produção
  • No cliente, sempre cheque result.success antes 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árioEndpoint
Teste local sem efeitos colateraisPOST /run
Execução real com agentes em produçãoPOST /runWithAgents
Descobrir ações e schemas disponíveisGET /listActions

Se você quer começar rápido, use POST /run com uma instrução curta e monitore os eventos retornados.