← Blog

Agentes de IA: o que fazem, onde falham e quando pedir um humano

Um agente, no sentido que o mercado passou a usar, não é “um chatbot mais esperto”. É um laço. Recebe um objetivo, propõe um passo, chama uma ferramenta, lê o resultado, decide o próximo passo. Pensar, agir, observar. De novo. O texto que o modelo gera no meio do caminho não é a entrega. É rascunho de controle.

Essa ideia é antiga em automação. O que mudou é quem escolhe a ferramenta: o próprio modelo, a partir de uma lista descrita em linguagem natural. A flexibilidade é real. O modo de falhar também. O laço que não termina, a ferramenta que não existe, a ação irreversível sem alguém na porteira.

Vale contrastar, cedo, com uma única chamada de RAG. Recuperar trechos e gerar uma resposta é um passo só. Barato de entender, barato de recusar, barato de auditar. O agente entra quando a tarefa não cabe nesse passo: precisa consultar, depois calcular, depois escrever, depois gravar. Se a tarefa cabe, o agente é teatro.

O laço: pensar, ferramenta, observar

O esqueleto se repete entre bibliotecas.

  1. O sistema monta um prompt com o objetivo, o estado e as ferramentas disponíveis.
  2. O modelo devolve um pensamento breve e uma chamada: nome da ferramenta, argumentos.
  3. O programa executa — busca, SQL, HTTP, arquivo — e devolve o resultado como observação.
  4. O modelo vê a observação e escolhe: outra ferramenta, uma pergunta ao usuário, ou a resposta final.

Sem o passo 3, você não tem agente. Tem um modelo que narra que usou uma ferramenta. A narração é barata e mentirosa. Agente de verdade toca o mundo: lê um banco, cria um ticket, dispara um e-mail. Por isso a conversa sobre agentes é, no fundo, uma conversa sobre permissão.

flowchart TD
  O[Objetivo] --> P[Pensar]
  P --> F[Chamar ferramenta]
  F --> V[Observar]
  V --> D{Terminou?}
  D -->|Não| P
  D -->|Sim| R[Resultado]
  D -->|Risco| H[Humano]
  classDef ouro fill:#FBF5E4,stroke:#C9A227,color:#0B1F18,stroke-width:1.4px
  classDef verde fill:#F3FAF7,stroke:#1E7A57,color:#0B1F18,stroke-width:1.4px
  classDef fim fill:#14513B,stroke:#0F3328,color:#FBFAF6,stroke-width:1.4px
  class O ouro
  class P,F,V,D verde
  class R,H fim

Na mesa editorial, o analogo honesto não é “o autor autônomo”. É o assistente com telefone. Ele pode checar uma ficha no catálogo, pedir uma capa, rascunhar um e-mail ao revisor. Ele não publica o livro nem altera o preço na loja sem alguém dizer sim. A metáfora aguenta bastante peso. Quando o marketing de agentes promete “funcionário digital”, desconte o adjetivo.

Onde o laço gira à toa

O fracasso mais visível é o loop. O modelo chama a mesma busca com palavras levemente diferentes. Não encontra. Tenta de novo. A fatura sobe. A latência estoura. O usuário espera uma resposta que já não virá melhor.

Isso acontece quando o objetivo é vago (“resolva a cobrança”), quando a ferramenta devolve ruído, quando não há critério de parada. Um agente sem orçamento é um processo sem timeout. Defina teto de passos, teto de tokens, teto de ferramentas por tipo. Ao estourar, entregue o estado a um humano: o que tentou, o que viu, o que falta.

Há o loop elegante, pior de diagnosticar: o modelo declara progresso (“agora vou verificar a política”) e chama uma ferramenta que não muda o estado. A narrativa avança. O mundo não. Logs que mostram só o texto final escondem isso. Logs que mostram cada chamada — nome, argumentos, duração, trecho da observação — revelam.

Ferramentas alucinadas

O modelo pode inventar uma ferramenta que não está na lista, ou inventar argumentos que o esquema não prevê. “catalogo.publicar(slug='novo-titulo')” quando só existe catalogo.consultar. Se o seu executor é permissivo, a invenção vira um erro opaco. Se o executor é estrito — nomes enumerados, JSON validado, rejeição clara — o modelo recebe o erro e, no melhor caso, escolhe a ferramenta certa.

Descrições vagas pioram o quadro. Duas ferramentas, “buscar livros” e “buscar pedidos”, ambas descritas como “busca informações”. O modelo sorteia. Uma frase de descrição é contrato. Escreva como se fosse a orelha de um volume: o que faz, o que não faz, um exemplo de argumento.

Outro hábito ruim: dar ao modelo uma ferramenta genérica de código ou de SQL irrestrito “para ser flexível”. Flexível, aqui, é sinônimo de superfície de ataque. Prefira ações estreitas: preco_de(slug), status_do_pedido(id), trechos_do_manual(pergunta). RAG, aliás, pode ser uma dessas ferramentas — uma, não o agente inteiro.

A porteira humana

Toda ação com efeito externo precisa de uma classe: só leitura, reversível, irreversível. Só leitura pode correr no laço. Reversível pode correr com registro e compensação. Irreversível — publicar, cobrar, apagar, enviar para a lista inteira — pede um humano, ou pelo menos uma confirmação explícita fora do modelo.

A porteira não é desconfiança romântica da máquina. É o mesmo critério de um estagiário no primeiro mês. Ele pesquisa sozinho. Ele não dispara a newsletter. Um agente que envia e-mail “porque o raciocínio concluiu que era hora” é um incidente com prosa fluida.

Desenhe a porteira antes da demo. A demo sem porteira sempre funciona no palco. Em produção, o primeiro objetivo mal interpretado encontra a API que não deveria.

Quando uma única chamada de RAG basta

Se a pergunta é “o que o manual diz sobre X?” e a resposta é um parágrafo, você não precisa de laço. Precisa de recuperação e geração, com recusa sem evidência. O agente, nesse caso, acrescenta latência, custo e um modo novo de errar (a busca certa na volta 4, depois de três ferramentas inúteis).

Use o laço quando a tarefa tem dependência real:

  • consultar o pedido, depois a política, depois redigir o e-mail e esperar o sim humano;
  • achar o capítulo, depois a errata, depois abrir um card de correção;
  • listar arquivos, escolher um, resumir, gravar o resumo num destino conhecido.

Mesmo nesses fluxos, o primeiro desenho pode ser um script seu com duas ou três chamadas fixas, não um agente que escolhe o grafo. O modelo decide o texto. Você decide a ordem. Agente de verdade — o modelo escolhendo o próximo tipo de passo — justifica-se quando a ordem não é previsível e o custo de prever todas as ramificações é pior do que vigiar o laço.

O mínimo para não se envergonhar

  • orçamento de passos e de dinheiro por execução;
  • ferramentas estreitas, descritas com exemplo;
  • executor que recusa nome e argumento inválidos;
  • log de cada pensamento, chamada e observação;
  • classificação de risco e porteira para o irreversível;
  • um caminho sem agente para a pergunta que é só documento.

MCP, o protocolo para expor ferramentas e recursos a modelos, entra nesse quadro como tomada padronizada — não como cérebro. Deixemos isso para outro texto. Aqui cabe a frase que o hype tenta adiar: a maior parte do trabalho útil ainda é recuperar um trecho e escrever com cuidado. O laço é para o resto. E o resto, se tocar o mundo, atravessa uma porteira com nome e sobrenome.

Leia também: RAG: por que recuperar contexto em vez de encher o prompt e LangChain não é mágica.

#Agentes#LLM#Ferramentas#MCP

Thiago Nogueira

Autor de A Caixa Mágica e das séries Programming One e AI One na Editora Pensar Bem.

Capa de AI One

AI One · Volume 1

Do logaritmo ao gradiente, sem fingir que entendeu.