MÓDULO 1.1

🧭 Design de ferramentas

Converta jornadas humanas em ferramentas pequenas, distintas e fáceis de escolher.

6

Tópicos

3h

Carga

Integrator

Nível

Arquitetura

Tipo

0 de 60%
1

Comece pela jornada crítica

O que é: Uma tool nasce de um objetivo real do usuário, não de cada botão ou função existente no código.

Por que aprender: Mapear início, decisão, efeito e evidência impede que a integração copie a interface sem compreender a intenção.

Jornada humana estado de partida Catálogo coerente decisão observável Escolha do agente 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.

jornada: "encontrar e reservar uma vaga"
estado_inicial: "catálogo aberto"
resultado: "reserva preparada, ainda não confirmada"
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

objetivo observável

02

estado inicial

03

efeito esperado

04

evidência final

2

Dê uma responsabilidade a cada tool

O que é: Ferramentas pequenas realizam uma intenção completa e não competem pela mesma chamada.

Por que aprender: Quando duas descrições parecem responder ao mesmo pedido, a LLM precisa adivinhar e a taxa de escolha correta cai.

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.
buscar_cursos({ tema, nivel })
consultar_curso({ cursoId })
verificar_vagas({ cursoId, turmaId })
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

sem sobreposição

02

verbo preciso

03

fronteira clara

04

saída própria

3

Projete entradas para o agente

O que é: A entrada deve pedir apenas dados necessários e representar alternativas fechadas com enums quando possível.

Por que aprender: Schemas focados reduzem argumentos inventados, mas a validação real continua obrigatória no execute e no backend.

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.

nivel: {
  type: "string",
  enum: ["iniciante", "intermediario", "avancado"]
}
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

campos mínimos

02

enum útil

03

descrição concreta

04

validação real

4

Escolha IDs e nomes compreensíveis

O que é: O agente pode conhecer o nome dito pelo usuário antes de conhecer o identificador interno do sistema.

Por que aprender: Separar busca, resolução e ação evita exigir IDs opacos cedo demais ou aceitar nomes ambíguos tarde demais.

CÓDIGO DE REFERÊNCIA

const curso = await buscar_cursos({ tema: "WebMCP" });
await consultar_curso({ cursoId: curso.id });
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

nome descobre

02

ID identifica

03

resolução explícita

04

ambiguidade tratada

5

Registre somente o que faz sentido agora

O que é: O catálogo deve acompanhar rota, seleção, autenticação e etapa atual da jornada.

Por que aprender: Menos ferramentas disponíveis significam menos contexto e menos chamadas impossíveis.

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

await modelContext.registerTool(confirmarInscricao, {
  signal: etapaConfirmacao.signal
});
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

catálogo contextual

02

registro dinâmico

03

sessão visível

04

cleanup

6

Refatore um catálogo ruim

O que é: Nomes genéricos e sobrepostos precisam virar uma sequência que revele intenção e efeito.

Por que aprender: A entrega prova que o catálogo orienta o agente e também explica o fluxo para produto, segurança e QA.

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

Refatorar um catálogo ambíguo em uma sequência de tools com responsabilidade única e critérios de escolha.

Critério de Integrator responsável

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

// antes
curso(); gerenciar_curso(); resolver_inscricao();
// depois
buscar_cursos(); iniciar_inscricao(); confirmar_inscricao();
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

inventário

02

refatoração

03

teste de escolha

04

documentação

📦 Entrega do módulo

Refatorar um catálogo ambíguo em uma sequência de tools com responsabilidade única e critérios de escolha.

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