O número de opções que temos para configurar e enriquecer o contexto de um agente de codificação explodiu nos últimos meses. Claude Code está liderando as inovações neste espaço, mas outros assistentes de codificação estão seguindo rapidamente o exemplo. A poderosa engenharia de contexto está se tornando uma grande parte da experiência do desenvolvedor com essas ferramentas.
A engenharia de contexto é relevante para todos os tipos de agentes e para o uso do LLM, é claro. Meu colega A definição simples de Bharani Subramaniam é: “A engenharia de contexto é a curadoria do que o modelo vê para que você obtenha um resultado melhor”.
Para agentes de codificação, existe um conjunto emergente de abordagens e termos de engenharia de contexto. A base disso são os recursos de configuração oferecidos pelas ferramentas (por exemplo, “regras”, “habilidades”) e, em seguida, o essencial é como usamos conceitualmente esses recursos (“especificações”, vários fluxos de trabalho).
Este memorando é uma introdução sobre o estado atual dos recursos de configuração de contexto, usando Claude Code como exemplo no ultimate.
O que é contexto em agentes de codificação?
“Tudo é contexto” – no entanto, estas são as principais categorias que considero como configuração de contexto em agentes de codificação.
Solicitações reutilizáveis
Quase todas as formas de engenharia de contexto de codificação de IA envolvem, em última análise, um monte de arquivos markdown com prompts. Eu uso “immediate” no sentido mais amplo aqui, como se estivéssemos em 2023: um immediate é um texto que enviamos a um LLM para obter uma resposta. Para mim, existem duas categorias principais de intenções por trás dessas instruções, vou chamá-las de:
Instruções: prompts que dizem a um agente para fazer algo, por exemplo, “Escreva um teste E2E da seguinte maneira:…”
Orientação: (também conhecidas como regras, proteções) Convenções gerais que o agente deve seguir, por exemplo, “Sempre escreva testes que sejam independentes uns dos outros”.
Essas duas categorias muitas vezes se misturam, mas ainda acho útil distingui-las.
Interfaces de contexto
Eu realmente não consegui encontrar um termo estabelecido para o que eu chamaria interfaces de contexto: Descrições para o LLM de como ele pode obter ainda mais contexto, caso decida fazê-lo.
Ferramentas: Recursos integrados, como chamar comandos bash, pesquisar arquivos, and many others.
Servidores MCP: programas ou scripts personalizados executados em sua máquina (ou em um servidor) e que dão ao agente acesso a fontes de dados e outras ações.
Habilidades: esses novos participantes na engenharia de contexto de codificação são descrições de recursos adicionais, instruções, documentação, scripts, and many others. que o LLM pode carregar sob demanda quando achar relevante para a tarefa em questão.
Quanto mais você configurar, mais espaço eles ocuparão no contexto. Portanto, é prudente pensar estrategicamente sobre quais interfaces de contexto são necessárias para uma tarefa específica.

Arquivos em seu espaço de trabalho
As interfaces de contexto mais básicas e poderosas em agentes de codificação são leitura e pesquisa de arquivos, para entender seu
Se e quando: quem determine carregar o contexto?
LLM: permitir que o LLM decida quando carregar o contexto é um pré-requisito para executar agentes de forma não supervisionada. Mas sempre permanece alguma incerteza (ouso dizer não-determinismo) se o LLM realmente carregará o contexto quando esperávamos. Exemplo: Habilidades
Humano: uma invocação humana do contexto nos dá controle, mas reduz o nível geral de automação. Exemplo: comandos de barra
Software program agente: alguns recursos de contexto são acionados pelo próprio software program agente, em momentos determinísticos. Exemplo: ganchos do Código Claude
Quanto: mantendo o contexto o menor possível
Um dos objetivos da engenharia de contexto é equilibrar a quantidade de contexto fornecida – nem muito pouco, nem muito. Embora as janelas de contexto tenham se twister tecnicamente muito grandes, isso não significa que seja uma boa ideia despejar informações nelas indiscriminadamente. A eficácia de um agente diminui quando ele recebe muito contexto, e muito contexto também é um fator de custo, é claro.
Parte desse gerenciamento de tamanho depende do desenvolvedor: quanta configuração de contexto criamos e quanto texto colocamos lá. Minha recomendação seria criar arquivos de contexto, como regras, gradualmente, e não colocar muita coisa lá desde o início. Os modelos tornaram-se bastante poderosos, então o que você teve que colocar no contexto há meio ano pode nem ser mais necessário.
A transparência sobre quão completo é o contexto e o que está ocupando quanto espaço é uma característica essential nas ferramentas para nos ajudar a navegar neste equilíbrio.

Mas nem tudo depende de nós, algumas ferramentas de agente de codificação também são melhores na otimização do contexto interno do que outras. Eles compactam o histórico de conversas periodicamente ou otimizam a forma como as ferramentas são representadas (como Ferramenta de pesquisa de ferramentas do Claude Code).
Exemplo: Código Claude
Aqui está uma visão geral dos recursos de configuração de contexto do Claude Code em janeiro de 2026 e onde eles se enquadram nas dimensões descritas acima:
CLAUDE.md
O que: Orientação
Quem determine carregar: Código Claude – Sempre usado no início de uma sessão
Quando usar: Para convenções gerais repetidas com mais frequência que se aplicam a todo o projeto
Exemplos de casos de uso:
- “usamos fio, não npm”
- “não esqueça de ativar o ambiente digital antes de executar qualquer coisa”
- “quando refatoramos, não nos importamos com a compatibilidade com versões anteriores”
Outros assistentes de codificação: Basicamente todos os assistentes de codificação possuem o recurso de um “arquivo de regras” principal; Há tentativas de padronizá-lo como AGENTS.md
Regras
O que: Orientação
Quem determine carregar: Claude Code, quando os arquivos nos caminhos configurados foram carregados
Quando usar: Ajuda a organizar e modularizar a orientação e, portanto, limitar o tamanho do CLAUDE.md sempre carregado. As regras podem ter escopo definido para arquivos (por exemplo, *.ts para todos os arquivos TypeScript), o que significa que elas só serão carregadas quando relevantes.
Exemplos de casos de uso: “Ao escrever scripts bash, as variáveis devem ser chamadas de ${var} e não de $var.” caminhos: **/*.sh
Outros assistentes de codificação: Cada vez mais assistentes de codificação permitem esta configuração de regras baseadas em caminhos, por exemplo, GH Copilot e Cursor
Comandos de barra
O que: Instruções
Quem determine carregar: Humano
Quando usar: Tarefas comuns (revisão, confirmação, teste, …) para as quais você tem um immediate específico mais longo e que deseja acionar você mesmo, dentro do contexto principal DEPRECADO no Código Claude, substituído por Abilities
Exemplos de casos de uso: /code-review · /e2e-test · /prep-commit
Outros assistentes de codificação: Recurso comum, por exemplo, GH Copilot e Cursor
Habilidades
O que: Orientação, instruções, documentação, scripts,…
Quem determine carregar: LLM (com base na descrição da habilidade) ou Humano
Quando usar: Em sua forma mais simples, serve para orientação ou instruções que você deseja apenas “carregar lentamente” quando for relevante para a tarefa em questão. Mas você pode colocar quaisquer recursos e scripts adicionais que desejar na pasta de uma habilidade e referenciá-los no arquivo principal. SKILL.md para ser carregado.
Exemplos de casos de uso:
- Acesso JIRA (habilidade, por exemplo, descreve como o agente pode usar CLI para acessar JIRA)
- “Convenções a seguir para componentes React”
- “Como integrar a API XYZ”
Outros assistentes de codificação: As regras “Aplicar de forma inteligente” do Cursor sempre foram um pouco assim, mas agora também estão mudando para habilidades no estilo Claude Code
Subagentes
O que: Instruções + Configuração do modelo e conjunto de ferramentas disponíveis; Será executado em sua própria janela de contexto, pode ser paralelizado
Quem determine carregar: LLM ou Humano
Quando usar:
- Tarefas maiores comuns que são adequadas e que valem a pena serem executadas em seu próprio contexto para fins de eficiência (para melhorar os resultados com um contexto mais intencional) ou para reduzir custos).
- Tarefas para as quais você normalmente deseja usar um modelo diferente do modelo padrão
- Tarefas que precisam de ferramentas/servidores MCP específicos que você não deseja ter sempre disponíveis em seu contexto padrão
- Fluxos de trabalho orquestráveis
Exemplos de casos de uso:
- Crie um teste E2E para tudo que acabou de ser construído
- Revisão de código feita por um contexto separado e com um modelo diferente para lhe dar uma “segunda opinião” sem a bagagem da sua sessão authentic
- subagentes são fundamentais para experimentos de enxame como Claude-flow ou Fuel City
Outros assistentes de codificação: Roo Code já tem subagentes há um bom tempoeles os chamam de “modos”; O cursor acabou de pegá-los; GH Copilot permite configuração de agentemas eles só podem ser acionados por humanos por enquanto
Servidores MCP
O que: Um programa que é executado em sua máquina (ou em um servidor) e dá ao agente acesso a fontes de dados e outras ações por meio do Mannequin Context Protocol
Quem determine carregar: LLM
Quando usar: Use quando quiser dar ao seu agente acesso a uma API ou a uma ferramenta em execução na sua máquina. Pense nisso como um script em sua máquina com muitas opções, e essas opções são expostas ao agente de forma estruturada. Depois que o LLM determine chamar isso, a chamada da ferramenta em si geralmente é algo determinístico. Há uma tendência agora de substituir algumas funcionalidades do servidor MCP por habilidades que descrevem como usar scripts e CLIs.
Exemplos de casos de uso: Acesso JIRA (servidor MCP que pode executar chamadas de API para Atlassian) · Navegação no navegador (por exemplo, Playwright MCP) · Acesso a uma base de conhecimento em sua máquina
Outros assistentes de codificação: Todos os assistentes de codificação comuns suportam servidores MCP neste momento
Ganchos
O que: Roteiros
Quem determine carregar: Eventos do ciclo de vida do Claude Code
Quando usar: Quando você deseja que algo aconteça de forma determinística toda vez que você edita um arquivo, executa um comando, chama um servidor MCP, and many others.
Exemplos de casos de uso:
- Notificações personalizadas
- Após cada edição de arquivo, verifique se é um arquivo JS e, em caso afirmativo, execute-o de forma mais bonita
- Casos de uso de observabilidade do Claude Code, como registrar todos os comandos executados em algum lugar
Outros assistentes de codificação: Ganchos são um recurso ainda bastante raro. O Cursor acaba de começar a apoiá-los.
Plug-ins
O que: Uma maneira de distribuir todas ou qualquer uma dessas coisas
Exemplos de casos de uso: Distribuir um conjunto comum de comandos, habilidades e ganchos para equipes de uma organização
Esta é uma lista bastante longa! No entanto, estamos numa fase de “tempestade” neste momento e certamente convergiremos para um conjunto mais simples de funcionalidades. Espero, por exemplo, que as Abilities absorvam não apenas comandos de barra, mas também regras, o que reduziria esta lista em duas entradas.
Compartilhando configurações de contexto
Como eu disse no início, esses recursos são apenas a base para os humanos fazerem o trabalho actual e preenchê-los com um contexto razoável. Demora um pouco para construir uma boa configuração, porque você precisa usar uma configuração por um tempo para poder dizer se está funcionando bem ou não – não há testes unitários para engenharia de contexto. Portanto, as pessoas desejam compartilhar boas configurações umas com as outras.
Desafios para compartilhar:
- O contexto de quem compartilha e de quem recebe deve ser o mais semelhante possível – funciona muito melhor dentro de uma equipe do que entre estranhos na web
- Há uma tendência de exagerar na engenharia do contexto com instruções desnecessárias, copiadas e coladas antecipadamente. Na minha experiência, é melhor construir isso de forma iterativa
- Diferentes níveis de experiência podem precisar de regras e instruções diferentes
- Se você tem pouca consciência do que está em seu contexto porque copiou muito de um estranho, você pode inadvertidamente repetir instruções ou contradizer as existentes, ou culpar o pobre agente de codificação por ser inútil quando está apenas seguindo seu instruções
Cuidado: Ilusão de controle
Apesar do nome, em última análise, isso não é realmente engenharia… Depois que o agente recebe todas essas instruções e orientações, a execução ainda depende de quão bem o LLM as interpreta! A engenharia de contexto pode definitivamente tornar um agente de codificação mais eficaz e aumentar bastante a probabilidade de resultados úteis. No entanto, às vezes as pessoas falam sobre esses recursos com frases como “garantir que isso aconteça X” ou “evitar alucinações”. Mas enquanto os LLMs estiverem envolvidos, nunca poderemos estar certo de qualquer coisa, ainda precisamos pensar em probabilidades e escolha o nível certo de supervisão humana para o trabalho.