MÓDULO 1.1

🔎 Descoberta de ferramentas

Leia catálogos dinâmicos, filtre capacidades e transforme descritores WebMCP em contexto útil ao modelo.

6

Tópicos

3h

Carga

Agent Developer

Nível

Agentes

Tipo

0 de 60%
1

Comece pelo pedido do usuário

O que é: Descoberta começa com intenção, restrições e estado atual, não com a enumeração cega de todas as tools.

Por que aprender: Um objetivo normalizado reduz ruído antes mesmo de apresentar capacidades ao modelo.

Página WebMCP estado de partida Catálogo filtrado decisão observável Modelo decide 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 objetivo = { acao: "buscar", entidade: "curso", tema: "WebMCP", nivel: "iniciante" };
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

intenção

02

restrições

03

contexto

04

critério de sucesso

2

Leia o catálogo como contrato

O que é: Nome, descrição, inputSchema e annotations formam a interface que o agente consegue raciocinar.

Por que aprender: Tratar o descritor como dado permite validar, indexar, comparar e registrar decisões.

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.
const tools = await document.modelContext.getTools();
for (const tool of tools) validarDescritor(tool);
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

name

02

description

03

inputSchema

04

annotations

3

Filtre antes de chamar o modelo

O que é: Regras determinísticas eliminam tools incompatíveis com rota, autenticação, risco ou entidade.

Por que aprender: O filtro diminui tokens e impede escolhas que já sabemos serem inválidas.

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 candidatas = tools.filter(tool =>
  policy.isVisible(tool, pageState, userSession)
);
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

rota atual

02

sessão

03

risco

04

pré-condição

4

Crie representações úteis

O que é: O agente precisa de descrições curtas, schemas íntegros e exemplos coerentes, sem despejar implementação interna.

Por que aprender: Uma representação estável melhora escolha e permite comparar modelos ou prompts.

CÓDIGO DE REFERÊNCIA

const promptTools = candidatas.map(({ name, description, inputSchema }) =>
  ({ name, description, inputSchema })
);
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

serialização

02

limite de contexto

03

exemplo

04

redação

5

Reaja ao catálogo efêmero

O que é: Navegação, login e seleção podem alterar as tools disponíveis durante a mesma conversa.

Por que aprender: O agente deve invalidar snapshots e redescobrir capacidades quando o documento sinaliza mudanç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

document.modelContext.addEventListener("toolchange", () => {
  catalogCache.invalidate(location.href);
});
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

toolchange

02

snapshot

03

invalidação

04

redescoberta

6

Meça a qualidade da descoberta

O que é: Cobertura, precisão e tool correta no top-k revelam se o pipeline recupera boas candidatas.

Por que aprender: Sem evals de descoberta, uma resposta final ruim pode ser atribuída ao componente errado.

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

Construir um inspetor que captura o catálogo atual, explica cada tool e seleciona apenas as candidatas relevantes para um pedido.

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.

caso: "curso iniciante"
esperadas: ["buscar_cursos"]
proibidas: ["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

recall

02

precision

03

top-k

04

dataset

📦 Entrega do módulo

Construir um inspetor que captura o catálogo atual, explica cada tool e seleciona apenas as candidatas relevantes para um pedido.

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