MÓDULO 1.4

💬 Loop conversacional

Construa o ciclo observar, decidir, executar e responder sem perder estado, controle ou transparência.

6

Tópicos

3h

Carga

Agent Developer

Nível

Orquestração

Tipo

0 de 60%
1

Defina o estado do turno

O que é: Cada turno reúne mensagem, snapshot da página, catálogo, execuções anteriores e orçamento restante.

Por que aprender: Um estado explícito evita prompts montados por concatenação acidental.

Observar contexto estado de partida Decidir + agir decisão observável Responder + continuar resultado verificável

Antes de modelar

Escreva o pedido da pessoa, o estado atual e a evidência que provará conclusão.

Erro de partida

Começar pelo nome de uma função ou por um botão produz uma tool sem objetivo humano claro.

Preveja antes de abrir o código

Qual informação muda a decisão? Qual efeito precisa aparecer na interface? Responda antes de implementar.

const turn = { message, pageState, tools, calls: [], budget: { maxCalls: 4 } };
Indo mais fundo: evidência que vale guardar

Registre a entrada, o estado anterior, a decisão tomada, o resultado e a alteração visível da página.

Inclua também uma falha provocada e o comportamento observado sem suporte WebMCP.

Conceitos-chave

01

turn state

02

page snapshot

03

history

04

budget

2

Implemente observar, decidir, agir

O que é: O loop alterna observação estruturada, decisão do modelo e execução controlada até atingir um terminal.

Por que aprender: Separar fases facilita teste e evita recursão sem limite.

PerguntaContrato forteContrato fraco
Quando usar?A descrição nomeia intenção e contexto.“Faz coisas” ou “gerencia”.
O que recebe?Somente dados necessários.Objeto genérico e ilimitado.
O que devolve?Estado e próxima ação verificáveis.Texto sem protocolo.
Como falha?Código, motivo e recuperação.Exceção opaca.

Faça

  • ✓ Use verbos específicos.
  • ✓ Delimite entradas.
  • ✓ Declare a evidência.

Evite

  • ✗ Misturar intenções.
  • ✗ Aceitar qualquer objeto.
  • ✗ Esconder efeitos.
while (!turn.done && turn.calls.length < turn.budget.maxCalls) {
  turn.next = await decide(observe(turn));
  await act(turn.next, turn);
}
Indo mais fundo: evidência que vale guardar

Registre a entrada, o estado anterior, a decisão tomada, o resultado e a alteração visível da página.

Inclua também uma falha provocada e o comportamento observado sem suporte WebMCP.

Conceitos-chave

01

observe

02

decide

03

act

04

terminal

3

Gerencie múltiplas chamadas

O que é: Uma tarefa pode exigir busca, detalhe e ação, com resultados alimentando decisões posteriores.

Por que aprender: O runtime precisa preservar dependências sem deixar o modelo inventar um ID intermediário.

1

Observe

Capture estado, entrada e contexto antes da ação.

2

Decida

Valide pré-condições e escolha a transição permitida.

3

Execute

Aplique a regra compartilhada e respeite cancelamento.

4

Prove

Atualize a interface e devolva resultado estruturado.

Ponto de controle

Se a etapa 2 reprovar, a tool não tenta “dar um jeito”: ela devolve uma recuperação explícita.

const courseId = calls.buscar_cursos.output.items[0].id;
await propose("consultar_curso", { courseId });
Indo mais fundo: evidência que vale guardar

Registre a entrada, o estado anterior, a decisão tomada, o resultado e a alteração visível da página.

Inclua também uma falha provocada e o comportamento observado sem suporte WebMCP.

Conceitos-chave

01

dependency

02

result binding

03

sequence

04

parallel safety

4

Interrompa para o humano

O que é: Ambiguidade, alto risco ou mudança material de plano cria um ponto de confirmação.

Por que aprender: A pausa mantém agência humana sem quebrar a continuidade do turno.

CÓDIGO DE REFERÊNCIA

return pause({ reason: "MULTIPLE_MATCHES", choices, resumeToken });
Entrada

É pequena, descrita e validável.

Execução

Reutiliza a regra real da aplicação.

Saída

Permite verificar efeito e continuar.

Leia o código como contrato

Sublinhe onde a entrada é validada, onde o efeito acontece, onde o cancelamento chega e onde a UI é atualizada.

Indo mais fundo: evidência que vale guardar

Registre a entrada, o estado anterior, a decisão tomada, o resultado e a alteração visível da página.

Inclua também uma falha provocada e o comportamento observado sem suporte WebMCP.

Conceitos-chave

01

human in the loop

02

ambiguity

03

risk

04

resume token

5

Responda com evidência

O que é: A resposta distingue o que foi observado, o que foi executado e o que ainda depende do usuário.

Por que aprender: Transparência reduz falsas afirmações de sucesso e melhora confiança.

Falha provocada

Execute o cenário com estado ausente, entrada inválida ou capacidade indisponível.

Recuperação esperada

A resposta informa o que falhou, o que permanece seguro e qual ação pode continuar.

Matriz mínima de teste

✓ caminho feliz reproduzível

✓ entrada inválida acionável

✓ cancelamento encerra trabalho

✓ fallback preserva a jornada

✓ interface reflete o estado

✓ backend mantém autorização

return answer({ found: 3, executed: [], pending: "escolha um curso", evidence: trace.links });
Indo mais fundo: evidência que vale guardar

Registre a entrada, o estado anterior, a decisão tomada, o resultado e a alteração visível da página.

Inclua também uma falha provocada e o comportamento observado sem suporte WebMCP.

Conceitos-chave

01

grounding

02

executed effects

03

pending action

04

citation

6

Avalie a conversa completa

O que é: O teste mede conclusão, tool correta, passos, segurança, recuperação e qualidade da resposta.

Por que aprender: Avaliar apenas o texto final esconde chamadas desnecessárias ou perigosas.

Exercício de síntese

  1. 1. Explique o problema sem usar o nome da tecnologia.
  2. 2. Desenhe o estado anterior e posterior.
  3. 3. Implemente a menor prova funcional.
  4. 4. Provoque uma falha e registre a recuperação.
  5. 5. Entregue código, evidência e uma limitação conhecida.

Desafio do módulo

Entregar um Page Agent que resolve uma busca em múltiplas etapas, pede confirmação e explica o resultado com evidências.

Critério de Agent Developer responsável

A entrega precisa funcionar, explicar seus limites e preservar o caminho humano quando a capacidade experimental não existir.

score = success * 40 + correctTools * 25 + safety * 25 + clarity * 10;
Indo mais fundo: evidência que vale guardar

Registre a entrada, o estado anterior, a decisão tomada, o resultado e a alteração visível da página.

Inclua também uma falha provocada e o comportamento observado sem suporte WebMCP.

Conceitos-chave

01

task success

02

tool accuracy

03

step count

04

safety

📦 Entrega do módulo

Entregar um Page Agent que resolve uma busca em múltiplas etapas, pede confirmação e explica o resultado com evidências.

Critério de aceite

A entrega funciona com suporte WebMCP e mantém o caminho manual quando a API não existe.

Evidência

Inclua código, cenário testado, resultado observado e uma limitação conhecida.

Fontes técnicas