π¬ Comece pelo prompt: o que voce pede
A primeira camada e a que todo mundo conhece: o prompt, o texto que voce escreve pedindo alguma coisa pro modelo. E tambem a camada onde a maioria das pessoas empaca β quando o agente faz besteira, o reflexo e "deixa eu reescrever o prompt". As vezes funciona. Na maioria das vezes, so adia o problema.
Melhorar prompt tem retorno decrescente rapido: as primeiras melhorias (ser especifico, dar exemplo, pedir formato de saida) resolvem muita coisa. Depois de um certo ponto, adicionar mais instrucao no prompt para de mexer no resultado. Isso e sinal β nao de que voce escreveu mal, mas de que o problema mudou de endereco.
π Novo aqui? Tres palavras antes de seguir
- Harness: a infraestrutura em volta do modelo β quais ferramentas ele tem, que permissoes, como a saida e capturada. Sem harness, o modelo so conversa; com harness, ele age.
- Janela de contexto: a quantidade de texto (medida em tokens) que o modelo consegue "ver" de uma vez ao responder. Passou do limite, ele esquece o que veio antes.
- Orcamento de token: quanto texto (entrada + saida) voce se permite gastar numa chamada ou numa tarefa inteira β e o limite pratico de custo e de contexto.
O que olhar: a linha tracejada sobe sem quebrar β cada degrau esta em cima do anterior, nao no lugar dele. O brilho fica so no ultimo degrau, "grafo", que e o horizonte deste modulo. Guarde a ordem: e nela que voce vai diagnosticar onde um agente quebrado esta realmente travado.
β Prompt resolve
- βFormato de saida errado (pediu texto, veio JSON malformado)
- βTom ou nivel de detalhe fora do esperado
- βAmbiguidade genuina na instrucao ("resuma" β em quantas linhas?)
β Prompt nao resolve
- βO agente nao tem acesso ao arquivo que precisa ler (e harness)
- βEle "esqueceu" uma instrucao dada 40 mil tokens atras (e contexto)
- βEle para de tentar de novo depois do primeiro erro (e loop)
Conceitos-chave
A mais visivel, a mais tentada
Melhora rapido, depois emperra
Prompt ruim as vezes e sintoma de outra camada
Parou de melhorar? Suba de camada
π§ Controle o contexto: o que ele sabe
A segunda camada e o contexto: tudo que o agente "enxerga" no momento de agir β arquivos abertos, historico da conversa, documentacao anexada, saida de uma ferramenta que ele acabou de rodar. O prompt e o que voce pede; o contexto e o que ele sabe enquanto responde. Sao coisas diferentes, e confundi-las e o erro mais comum depois do prompt.
Todo modelo tem uma janela de contexto limitada. Quando ela enche de coisa irrelevante β logs verbosos, arquivos que ninguem precisa, historico repetido β o modelo comeca a "esquecer" o que importa, mesmo que a instrucao original estivesse perfeita. Contexto errado derruba prompt bom; nao existe prompt bom o suficiente pra compensar uma janela de contexto poluida.
π O que costuma entupir a janela de contexto
- Saida de ferramenta bruta β um log de 500 linhas quando so 3 importavam
- Historico acumulado β 40 idas e vindas de uma conversa que devia ter sido resetada
- Documentacao inteira β colar o manual todo em vez do trecho relevante
- Instrucao desatualizada β regra antiga que ninguem removeu e ainda compete por atencao
β Contexto bem cuidado
- βSo o trecho de arquivo que sera editado, nao o repositorio inteiro
- βSaida de ferramenta resumida antes de voltar pro modelo
- βHistorico podado quando a tarefa muda de fase
β Contexto que sabota
- βColar tudo "pra garantir" β o modelo nao pesa importancia igual voce
- βDeixar erro de uma tentativa anterior contaminar a proxima sem marcar que foi resolvido
- βNunca podar β a janela so cresce ate estourar
π‘ Dica pratica
Antes de reescrever um prompt que "nao esta funcionando", olhe pra dentro da janela de contexto naquele momento. Se tem coisa ali que voce mesmo nao conseguiria usar pra responder direito, o modelo tambem nao vai conseguir. Limpar contexto costuma resolver o que reescrever prompt nao resolveu.
Conceitos-chave
O que o agente sabe, nao o que voce pede
Tem teto de tokens, sempre
Irrelevante compete com o que importa
Contexto pede curadoria continua
π§° Monte o harness: com o que ele age
A terceira camada e o harness: a infraestrutura em volta do modelo. Quais ferramentas ele tem (ler arquivo, rodar comando, chamar uma API), com que permissoes, como a saida de cada ferramenta e capturada e devolvida pro modelo, o que acontece quando uma ferramenta falha (retentativa β tentar de novo automaticamente), e quanto orcamento de token a tarefa inteira tem pra gastar.
Prompt diz o que; harness diz com o que. Um agente com prompt perfeito e harness pobre (sem acesso ao arquivo certo, sem permissao pra rodar o comando que resolveria o problema) fica travado do mesmo jeito β e nenhuma reescrita de prompt destrava, porque o problema nunca esteve no texto.
Ferramentas e permissoes
O que o agente pode chamar, e o que ele pode fazer com cada chamada.
Ler e diferente de escrever; escrever num arquivo e diferente de rodar um comando no sistema. Cada nivel e uma decisao de risco.
Captura de saida e retentativa
O que volta pro modelo depois de uma chamada de ferramenta, e o que acontece se ela falhar.
Retentativa (retry): tentar de novo automaticamente apos uma falha, geralmente com limite de tentativas.
Orcamento de token
O teto de gasto (entrada + saida) pra chamada ou pra tarefa inteira.
Sem orcamento definido, um agente com loop pode consumir credito indefinidamente antes de alguem perceber.
β οΈ Sinal de que o problema e harness, nao prompt
Se voce pede a mesma coisa de dois jeitos diferentes e o agente falha do mesmo jeito nos dois β checando arquivo errado, sem permissao pra rodar o teste, sem ferramenta pra validar o proprio trabalho β o prompt nao e o gargalo. E a infraestrutura em volta que precisa mudar.
Conceitos-chave
Com o que ele age, nao o que ele sabe
O que esta disponivel pra chamar
O que ele pode, nao so o que existe
O teto de gasto da tarefa
π Desenhe o loop: quantas vezes e como para
A quarta camada e o loop: quantas vezes o agente tenta e como ele sabe que terminou. Essa e a Trilha 2 inteira condensada β descobrir, planejar, agir, verificar, parar. E a camada onde voce para de escrever prompt e passa a projetar ciclo: nao e mais sobre o que pedir numa unica chamada, e sobre como o sistema se comporta ao longo de varias.
Um agente pode ter prompt otimo, contexto limpo e harness bem montado e ainda falhar β porque ninguem desenhou a condicao de parada, ou porque o verificador (o que decide se o resultado ta bom) esta ausente ou fraco. Nesse ponto, mais prompt nao ajuda: o que falta e desenho de loop.
π― A pergunta que muda quando voce sobe pra esta camada
Nao e mais "o que eu peco?" β e "quantas voltas isso leva, e o que me diz que acabou?"
Se a resposta for "nao sei, ele para quando cansa" ou "nao sei, roda ate estourar o orcamento", o loop nao esta desenhado β esta acontecendo por acidente.
Conceitos-chave
Quantas vezes e como sabe que terminou
Sem ela, roda pra sempre
O que decide se passou
Sistema, nao chamada unica
πΈοΈ Ligue os loops num grafo: quantos e como se conectam
A quinta camada so faz sentido depois das outras quatro: quantos loops voce tem, e como eles se ligam. Um grafo, aqui, e literalmente varios loops (ou nos sem loop nenhum) conectados por arestas β o pesquisador manda pro escritor, o escritor manda pro revisor, o revisor pode devolver pro escritor. Cada um desses e um no; a rede toda e o grafo.
Subir pra esta camada sem dominar as quatro de baixo multiplica o problema em vez de resolver. Se um loop individual ja nao tem condicao de parada clara, colocar tres desses loops num grafo nao cria tres problemas β cria um problema combinatorio, porque agora cada loop mal desenhado pode contaminar os vizinhos.
π‘ Dica pratica
Antes de desenhar um grafo, pergunte: cada no individual, isolado, ja funciona como loop β com condicao de parada e verificador proprios? Se a resposta pra qualquer um deles for nao, resolva ali primeiro. Grafo nao conserta loop quebrado, so espalha a quebra.
Conceitos-chave
Quantos loops e como se ligam
Cada no pode ser um loop inteiro
So sobe quem domina a camada 4
Grafo sobre loop quebrado piora
βοΈ Compare os dois harnesses: script Γ runtime distribuido
O harness de UM loop cabe num script: entrada de prompt, janela de contexto, orcamento de token, logica de retentativa, captura de saida. Voce escreve isso numa tarde. O harness de um GRAFO faz tudo isso e mais: roteamento de mensagem entre nos, isolamento de falha de um no (um no cair nao pode derrubar o grafo inteiro), consistencia de estado entre nos (o que um no sabe tem que bater com o que o proximo espera), criacao dinamica de no (o grafo decide em tempo de execucao que precisa de mais um no), e observabilidade do grafo inteiro.
Observabilidade, aqui, e a capacidade de responder: quais nos rodaram, em que ordem, com que latencia (tempo de execucao). Num script de um loop so, essa pergunta e trivial β rodou uma vez, rodou de novo, parou. Num grafo com nos paralelos e roteamento condicional, sem instrumentacao voce simplesmente nao sabe o que aconteceu. E exatamente por isso que frameworks de orquestracao (ferramentas que coordenam varios agentes/nos) ganham tracao quando a conversa vai de loop pra grafo: eles resolvem esse pacote de problemas de runtime distribuido β um sistema onde varias partes rodam de forma coordenada, cada uma podendo falhar independente das outras β em vez de deixar cada equipe reinventar isso na mao.
O que olhar: compare o tamanho das duas caixas. A caixa da esquerda tem 4 responsabilidades e cabe numa tarde de trabalho. A caixa da direita tem 5 responsabilidades β e cada uma delas, sozinha, e um projeto de engenharia (isolamento de falha, por exemplo, e o assunto inteiro de sistemas distribuidos classicos). Isso explica por que "so adicionar mais um agente" nunca e "so".
| Responsabilidade | Harness de loop | Harness de grafo |
|---|---|---|
| Entrada de prompt | 1 ponto de entrada | 1 por no, roteado |
| Falha | Para o loop inteiro | Isolada, nao derruba o grafo |
| Estado | Uma variavel local | Precisa de schema entre nos |
| Observabilidade | Um log linear | Trace de nos, ordem, latencia |
π§ͺ Exemplo pratico: diagnostique em qual camada esta o problema
Objetivo: parar de reescrever prompt no escuro. Um prompt pronto pra rodar no Claude Code (ou qualquer assistente agentico) que forca a passar pelas cinco camadas antes de aceitar "melhore o prompt" como resposta.
Meu agente faz <o que ele faz de errado> quando eu peco <a tarefa>. Antes de sugerir qualquer mudanca, analise as cinco camadas NESTA ORDEM e descarte cada uma explicitamente antes de passar pra proxima: 1. PROMPT β a instrucao em si tem ambiguidade real, ou ja e clara? 2. CONTEXTO β o que o agente "ve" no momento de agir esta limpo, ou tem coisa irrelevante competindo com o que importa? 3. HARNESS β ele tem a ferramenta certa, com a permissao certa, e a saida dela volta pra ele de um jeito util? 4. LOOP β existe condicao de parada e verificador? Ele sabe quando "terminou" de verdade, ou so para de tentar? 5. GRAFO β se ha mais de um agente/etapa, o problema esta na ligacao entre eles (roteamento, estado que vaza) e nao dentro de um unico no? Para cada camada, diga "descartada" ou "e aqui" com uma frase de justificativa. So recomende uma mudanca depois de passar pelas cinco.
Como verificar: se a resposta for so "melhore o prompt assim..." sem mencionar as outras quatro camadas, o modelo pulou o diagnostico β peca de novo, insistindo pra ele descartar camada por camada, na ordem, antes de recomendar qualquer coisa.
Agora troque pelo seu: substitua
<o que ele faz de errado> e <a tarefa>
pelo caso real que voce tem em maos.
Checagem rapida (nao bloqueia nada): seu agente com UM so loop ja funciona bem sozinho, mas voce quer adicionar um segundo agente que revisa o resultado dele. O que essa mudanca exige que um harness de loop simples nao tinha?
Conceitos-chave
Diferenca de porte, nao de grau
Roteamento, isolamento, estado, spawn, observabilidade
Quem rodou, em que ordem, com que latencia
Por isso frameworks ganham tracao aqui
π Resumo do Modulo
Proximo Modulo:
3.2 β O comparativo de verdade: agentic, loop e graph lado a lado, no mesmo caso β o daily brief.