- Este é um resumo traduzido de Effective context engineering for AI agents, publicado pela Anthropic em 29 de setembro. No post do blog, foram preservadas ao máximo as imagens e links do texto original.
Engenharia de prompt vs. engenharia de contexto
- Engenharia de prompt trata de melhorar consultas singleton.
- Engenharia de contexto, especialmente para agentes, trata de selecionar entre vários contextos apenas o que é realmente necessário.
Por que a engenharia de contexto é importante na construção de agentes
- Os agentes atuais estão sendo desenvolvidos para usar “por mais tempo e mais ferramentas”.
- Isso inevitavelmente alonga o contexto, mas os LLMs, de forma semelhante aos humanos, perdem foco quando o contexto fica cheio de muitos dados e passam a ter mais dificuldade para recuperar a informação desejada.
- Por isso, controlar o contexto de forma eficaz é extremamente importante no desenvolvimento de agentes.
Anatomia de um contexto eficaz
Uma engenharia de contexto boa significa encontrar o menor conjunto possível de tokens de alto sinal que maximize a probabilidade do resultado desejado.
> Smallest possible set of high-signal tokens that maximize the likelihood of some desired outcome
1) Prompt de sistema
- O prompt de sistema deve ser expresso com linguagem extremamente clara, simples e direta, no nível exato de detalhe necessário. Se for específico demais, não conseguirá lidar com casos variados; se for abstrato demais, o LLM terá que inferir coisas demais.
- Comece com a descrição mínima do comportamento esperado e vá refinando ao adicionar instruções claras e exemplos apenas para os casos em que os modelos de ponta falham.
- Separe seções com técnicas como XML ou Markdown, mas não é necessário se prender a uma sintaxe excessivamente rígida.
2) Tools
- As tools devem retornar informações com eficiência de tokens e, ao mesmo tempo, induzir o agente a operar também com eficiência de tokens. Devem estar em um formato que o LLM compreenda bem, com o mínimo possível de sobreposição de função entre elas.
- O erro mais comum é uma única tool cobrir funções demais, ou criar uma situação em que o LLM tenha dificuldade para decidir qual tool usar. Se para um engenheiro humano já for difícil decidir quando usar o quê, também será difícil para um agente de IA.
- Few-shot prompting com exemplos é sempre altamente recomendado. Porém, incluir casos de borda demais reduz a generalidade. Inclua uma variedade de exemplos que mostrem comportamentos esperados escolhidos com cuidado.
Recuperação de contexto e busca agentic
- Um agente é uma entidade que executa ferramentas de forma autônoma em loop para atingir um objetivo. À medida que os modelos ficam mais poderosos, é possível dar mais autoridade (autonomia) ao agente.
- Com o avanço da abordagem agentic, uma estratégia cada vez mais comum é fornecer contexto em JIT (Just in Time). O Claude Code usa isso muito bem. Ele observa caminhos de arquivo e links no prompt e os busca naquele momento.
- Para carregar bom contexto em JIT, as informações precisam ser armazenadas desde o início com uma boa estrutura. Isso inclui pensar em como guardar metadados que ajudem na recuperação. Estrutura de pastas, convenções de nomenclatura, timestamps e outros sinais importantes e significativos para pessoas também ajudam muito os agentes a usar melhor a informação.
Engenharia de contexto para tarefas long-horizon
Tarefas longas em geral ultrapassam com facilidade a janela de contexto de um LLM. Por isso, torna-se muito importante definir como fazer o agente manter um bom contexto e continuar avançando com consistência em direção ao objetivo.
Dependendo da natureza da tarefa, há três grandes técnicas que podem ser usadas.
- Compressão é boa para manter o fluxo da conversa em tarefas que exigem comunicação bidirecional extensa.
- Tomada de notas estruturada é boa para desenvolver iterativamente tarefas com marcos claros.
- Arquitetura com subagentes é boa para lidar com pesquisas e análises complexas em que a exploração paralela funciona bem.
1) Compressão
- Quando se aproxima do limite da janela de contexto, resume-se o conteúdo importante para passá-lo a uma nova janela. No Claude Code, o histórico de mensagens é passado para ser resumido. Decisões de arquitetura, bugs não resolvidos, detalhes de implementação etc.
- A essência da compressão está em decidir o que manter e o que descartar. O mais fácil de descartar costuma ser chamadas de tools e seus resultados. Se isso já estiver no histórico de mensagens, quase nunca há necessidade de mantê-los.
- Com a memory tool introduzida a partir do Sonnet 4.5, tornou-se possível fazer Context Editing: https://www.anthropic.com/news/context-management
2) Tomada de notas estruturada
- Também chamada de memória agentic. É uma técnica em que se deixam notas periodicamente fora da janela de contexto, isto é, no sistema de arquivos, para recuperá-las depois.
- Da mesma forma, com a memory tool a partir do Sonnet 4.5, ficou mais fácil usar essa técnica.
3) Arquitetura com subagentes
- O agente principal planeja e coordena a partir de uma visão mais ampla, enquanto os subagentes executam trabalhos técnicos profundos ou usam tools para encontrar informações relacionadas.
- Veja também o texto sobre como foi construído um sistema de pesquisa multiagente.
Conclusão
- À medida que os modelos se tornam mais poderosos, vai além de apenas criar bons prompts: passa a ser uma tarefa importante selecionar, em cada etapa, quais informações entram no “orçamento de atenção”.
- Seja ao implementar compressão para tarefas de longo prazo, ao projetar ferramentas eficientes em tokens, ou ao permitir que o agente explore o ambiente na hora certa, o princípio orientador continua o mesmo: encontrar o menor conjunto de tokens de alto sinal que maximize a probabilidade do resultado desejado.
- As técnicas deste texto continuarão evoluindo junto com a melhoria dos modelos e com agentes cada vez mais autônomos, mas a visão de que “contexto é um recurso valioso e finito” seguirá sendo central para construir agentes confiáveis e eficazes.
- Para mais conteúdo, consulte o cookbook de memória e gerenciamento de contexto.
Ainda não há comentários.