31 Termos de AI Coding Agents que Você Deveria Conhecer, Organizados em Cinco Pilares
Classifiquei todos os termos que continuavam aparecendo enquanto eu usava Claude Code e Codex todo dia. Cinco grupos surgiram, e eles mapeiam todo o sistema em que essas ferramentas rodam.
Toda semana um novo termo aparece no meu feed. Context engineering. Harness engineering. RLM. Progressive disclosure. Eu uso AI coding agents todo dia, e o vocabulário crescia mais rápido do que minha compreensão sobre ele.
Então parei e organizei todos os 31 termos que tinha coletado em grupos. Cinco pilares surgiram, e depois que os vi, toda a arquitetura de ferramentas como Claude Code e Codex fez sentido de um jeito que não fazia antes.
Os cinco pilares seguem uma sequência lógica: você projeta o que o agent vê, divide o trabalho entre agents, controla como eles executam, ajuda-os a lembrar entre sessões e os conecta ao mundo externo.
Design. Divisão. Controle. Memória. Conexão.
Projetando o que o Agent Vê
Um modelo de IA processa exatamente uma coisa: seu context window. Todo system prompt, instrução do usuário, arquivo anexado, entrada do histórico de conversa, bloco de memória e skill carregada é concatenado em um único stream de tokens. Esse stream é o universo inteiro do modelo. O AGENTS.md, arquivo que muitas equipes usam para configurar o comportamento do agent, é só mais uma parte desse stream.
Prompt é a instrução direta que você dá ao modelo. Prompt engineering é a prática de projetar essas instruções, incluindo exemplos e formatos de saída, para obter resultados consistentes. Esses dois termos são bem estabelecidos, mas cobrem apenas uma fração do que realmente entra no modelo.
Context é tudo que o modelo pode referenciar: system prompts, histórico de conversa, arquivos anexados, memória, skills e outputs de ferramentas combinados. Context engineering é a disciplina de decidir o que entra, o que fica de fora e em que ordem. A diferença importa. Já vi prompts idênticos produzirem resultados completamente diferentes dependendo de um arquivo de 2.000 linhas ter sido colocado antes ou depois da instrução. A ordem não é cosmética.
Intent é o objetivo real do usuário, que pode ser diferente do que ele literalmente digita. Quando você escreve “conserta os testes,” o intent pode ser “faz o CI ficar verde” ou “refatora a test suite para bater com a nova API.” O roteamento do agent começa aqui, e errar o intent repercute em tudo que vem depois.
Skill é um pacote reutilizável de instruções especializadas que carrega no contexto quando invocado. Pensa nele como uma função para prompts. Em vez de colar as mesmas 200 linhas de instrução toda vez que quer um comportamento específico, você chama /refactor-clean e o conteúdo da skill entra no context window sob demanda.
Progressive disclosure é o padrão de design onde você não carrega todas as skills no contexto de uma vez. Em vez disso, o agent carrega só a skill que precisa no momento. A Anthropic publicou essa abordagem no post do blog sobre skills. Isso importa porque o espaço do context window é finito. Carregar 40 skills logo de cara queima tokens antes de o modelo começar a trabalhar. Progressive disclosure mantém o window enxuto e o modelo focado.
O erro que cometi repetidamente no começo: enfiar coisa demais no contexto e me perguntar por que a qualidade do output do modelo piorava. O context window de 200K é um máximo teórico. Na prática, quando você leva em conta system prompts, definições de servidores MCP e histórico de conversa, o espaço utilizável pode cair para 70K ou menos. Context engineering é sobre respeitar essa restrição.
Dividindo o Trabalho Entre Agents
Um único agent lidando com tudo parece simples até o context window encher e a qualidade do output cair. É por isso que existem arquiteturas multi-agent.
Um subagent é um processo filho para o qual um agent principal delega trabalho. O agent principal mantém seu próprio contexto limpo descarregando tarefas especializadas. No Claude Code, quando você inicia uma tarefa de pesquisa em background, é um subagent operando no próprio context window e retornando apenas o resultado.
Um swarm é um padrão onde múltiplos agents trabalham em paralelo em partes diferentes do mesmo problema. Se você precisa analisar cinco arquivos simultaneamente, um swarm permite que cinco agents cuidem de um arquivo cada, em vez de um agent processá-los sequencialmente.
Fleet é a visão operacional dos seus agents em execução. É um termo de gestão, não de arquitetura. Quando você tem três subagents e dois background agents ativos, essa coleção é sua fleet.
Handoff é a transferência de trabalho de um agent (ou pessoa) para outro. Em workflows sequenciais, o Agent A conclui sua fase e faz handoff para o Agent B. O detalhe importante é o que é transferido: só o output, ou o contexto completo? A maioria dos handoffs transfere um resumo, o que significa que perda de informação é possível e deve ser considerada.
Um background agent roda de forma assíncrona sem interação do usuário. O Copilot Workspace do GitHub e o Claude Code da Anthropic suportam esse padrão. Você descreve uma tarefa, fecha o notebook e o agent trabalha de forma independente. Os resultados aparecem quando você volta.
A armadilha em que caí: dividir o trabalho entre agents demais cedo demais. Um único agent com contexto bem projetado resolve 80% das tarefas melhor do que um setup multi-agent mal coordenado. Divida só quando tiver evidências de que um único agent está atingindo limites de contexto ou degradação de qualidade.
Controlando Como os Agents Executam
Um agent que gera código correto é inútil se também chama ferramentas perigosas silenciosamente ou modifica arquivos que não deveria tocar. Controle é o terceiro pilar, e é o que a maioria das equipes investe de menos.
Harness é o frame operacional que envolve a execução, verificação e ciclo de vida de um agent. Inclui tudo, desde verificações de permissão até validação de output e lógica de retry. Harness engineering é projetar as restrições e loops de feedback dentro desse frame. A OpenAI trouxe esse termo para o mainstream quando publicou como o Codex gerou mais de um milhão de linhas de código com padrões estruturados de harness.
Trace é o log de execução de cada passo e decisão que um agent tomou. Passei a levar traces a sério depois de descobrir que um agent estava chamando uma ferramenta de busca na web 14 vezes por tarefa quando precisava da informação apenas uma vez. Sem o trace, eu teria assumido que o agent estava trabalhando de forma eficiente. Traces são o que mais se aproxima de debugging para AI agents.
Diff é a comparação do código antes e depois das mudanças de um agent. Junto com traces, diffs formam a espinha dorsal da verificação. Você não consegue revisar o que não consegue ver, e diffs tornam as mudanças do agent revisáveis da mesma forma que pull requests tornam as mudanças humanas revisáveis.
Guardrails são regras e verificações de validação que evitam outputs perigosos. Podem ser tão simples quanto “nunca execute comandos shell contendo rm -rf” ou tão sofisticados quanto classificadores de conteúdo que bloqueiam dados sensíveis de aparecerem nos outputs.
Um sandbox é um ambiente de execução isolado com permissões restritas. O Codex roda dentro de um sandbox Docker onde o agent pode escrever código e rodar testes, mas não pode acessar a rede ou modificar o sistema host. Essa é a diferença entre “o agent cometeu um erro” e “o agent cometeu um erro que afetou produção.”
CLI (command-line interface) está vivendo um renascimento na era dos agents. Rodar ferramentas pelo terminal se mostrou mais eficiente em tokens do que rotear por camadas de protocolo. Quando cada token custa dinheiro e consome espaço de contexto, a diretividade do CLI importa.
REPL (read-eval-print loop) é um ambiente interativo para executar código imediatamente. Agents usam REPLs para testar hipóteses, validar resultados intermediários e iterar em soluções sem precisar escrever arquivos em disco primeiro.
Lembrando Entre Sessões
Large language models têm um limite físico: o context window. Quando ele enche, o conteúdo mais antigo é descartado. Para tarefas que levam horas ou dias, isso cria um problema real.
Memory é qualquer sistema que armazena histórico de conversa e estado de tarefa além de um único context window. Memory hierarchy organiza esses armazenamentos em camadas, tipicamente short-term (conversa atual), medium-term (sessões recentes) e long-term (conhecimento persistente). O design é paralelo às hierarquias de cache de CPU pela mesma razão: padrões de acesso diferentes precisam de estratégias de armazenamento diferentes.
Embeddings convertem texto em vetores numéricos que capturam significado semântico. São a base do RAG (retrieval-augmented generation), onde um agent pesquisa um banco de dados vetorial para puxar informações relevantes para seu context window. Quando seu agent “lembra” algo de uma sessão anterior, ele geralmente está realizando uma busca de similaridade baseada em embeddings.
Um long-running agent mantém estado em múltiplos context windows, trabalhando em tarefas que duram mais do que uma única sessão. Isso exige gerenciamento de estado externo porque o modelo em si não tem memória persistente.
O Ralph Loop, criado por Geoffrey Huntley, é um loop de coding autônomo que resolve o problema de memória de forma pragmática. Cada iteração inicia uma nova instância de agent, mas o progresso é persistido através de git commits e arquivos de progresso. A nova instância lê o histórico do git e as notas de progresso para entender o que foi feito e continua a partir daí. Maximiza o test-time scaling iterando repetidamente, com cada loop se beneficiando do contexto acumulado no próprio repositório.
RLM (Recursive Language Model) adota uma abordagem fundamentalmente diferente. Em vez de alimentar um input longo diretamente no modelo (onde excederia o context window), o RLM armazena os dados originais em variáveis de REPL e deixa o modelo escrever código para explorá-los. O modelo emite queries direcionadas contra os dados armazenados por meio de chamadas recursivas de função. Como os dados originais nunca entram no context window, nenhuma informação se perde por truncagem. Os autores afirmam que essa abordagem lida com inputs equivalentes a 100x o context window normal.
Ambas as abordagens reconhecem a mesma restrição, mas a resolvem de maneiras diferentes. O Ralph Loop trabalha com as limitações do context window usando persistência externa. O RLM trabalha em torno do context window inteiramente mantendo os dados fora dele. Nenhum é universalmente melhor; a escolha certa depende de o seu gargalo ser continuidade de tarefa (Ralph Loop) ou tamanho de input (RLM).
Conectando Agents ao Mundo Externo
Um agent que não consegue acessar ferramentas externas, APIs ou serviços está limitado a geração de texto. Protocolos resolvem o problema de integração.
MCP (Model Context Protocol) padroniza como modelos se conectam a ferramentas externas. Sem MCP, integrar N modelos com M ferramentas exige N x M implementações customizadas. Com MCP, cada modelo e cada ferramenta implementa o protocolo uma vez, reduzindo o custo de integração para N + M. É o mesmo princípio que tornou o USB bem-sucedido: concorda com uma interface, e tudo se conecta.
ACP (Agent Communication Protocol) padroniza a comunicação entre editores e coding agents. Zed e JetBrains estão liderando seu desenvolvimento. O problema que resolve é similar ao MCP, mas em uma camada diferente: em vez de model-to-tool, é editor-to-agent.
LSP (Language Server Protocol) é o padrão estabelecido para comunicação editor-to-code-analysis-server. É a prova original de que padronização de protocolo funciona em developer tools. Uma busca de referências que levava 30 segundos no grep termina em 50ms pelo LSP. O uso de tokens cai de 2.000+ para cerca de 500 porque o LSP retorna resultados estruturados e precisos em vez do conteúdo bruto dos arquivos. O LSP também é o modelo de referência para o design do ACP, o que faz sentido: os formatos do problema são quase idênticos.
Esses três protocolos operam em camadas diferentes, mas compartilham o mesmo insight arquitetural. Integrações ponto a ponto customizadas não escalam. Interfaces padrão escalam.
O Mapa, Não o Território
A maioria desses termos não existia seis meses atrás. Se parecem desconhecidos, isso é esperado. O vocabulário cresce porque a área cresce, e novos conceitos precisam de nomes.
O valor desses cinco pilares não está em memorizar definições. Está em ter um framework mental que diz onde um novo termo se encaixa no momento em que você o encontra. Quando alguém menciona “agent memory,” você sabe que pertence ao quarto pilar. Quando um novo protocolo é lançado, você sabe que está no quinto. O framework absorve novo vocabulário sem quebrar.
Ainda consulto termos regularmente. A diferença é que agora sei em qual prateleira eles ficam.
Assine a newsletter
Receba atualizações sobre meus projetos mais recentes, artigos e experimentos com IA e desenvolvimento web.