- Guia que organiza a forma de desenvolver na era de agentes de programação como Claude Code e Codex, apresentando novos padrões de engenharia para colaborar com agentes
- Explica, por meio de vários padrões, como mudar hábitos de desenvolvimento e fluxos de trabalho em um ambiente onde o custo de escrever código caiu drasticamente
- Organiza de forma estruturada as áreas centrais do desenvolvimento orientado por agentes, como princípios, testes, compreensão de código e design de prompts
- Cada padrão tem o formato de um documento prático voltado ao trabalho real, incluindo exemplos de código, formas de trabalhar e casos de uso de prompts
- Material de referência prático para que desenvolvedores na era dos agentes de programação estruturem sistematicamente ambientes de codificação baseados em agentes e mantenham a qualidade
Visão geral de Agentic Engineering Patterns
- Guia que reúne métodos eficazes de engenharia para desenvolvimento junto com agentes de programação (Claude Code, OpenAI Codex etc.)
- Veja o post de apresentação Writing about Agentic Engineering Patterns
- Documento estruturado para adicionar continuamente vários padrões (chapters), no estilo clássico de “Design Patterns”
- Tem como tema central a mudança no fluxo de trabalho e na forma de tomar decisões dos desenvolvedores em um ambiente onde o custo de escrever código caiu muito
- É mantido como um guia atualizável, e não como um post de blog, com expansão contínua prevista
1. Princípios
-
- Com o surgimento de agentes de programação com IA, o custo inicial de escrever código caiu para algo próximo de zero
- No passado, como escrever código era caro, o desenvolvimento era centrado em design e planejamento, mas agora é possível testar ideias diretamente em código
- Embora o custo de gerar código tenha caído, código bom — com testes e manutenção adequada — continua tendo custo
-
- Um ativo importante do desenvolvedor é o acúmulo de conhecimento sobre “o que é possível fazer”
- Enfatiza o hábito de guardar e acumular, em formato reutilizável, vários casos de resolução de problemas e pequenos experimentos de código
- Esses códigos e exemplos reunidos podem servir como material de entrada poderoso ao instruir agentes de programação a criar novos recursos
-
- Mesmo que o código tenha sido gerado por um agente, compartilhá-lo ou enviar um PR sem revisão é um antipadrão que deve ser evitado
- A descrição de PR escrita pelo agente também precisa ser verificada e ajustada por uma pessoa
- Para não desperdiçar o tempo de quem revisa código, é preciso fornecer junto testes, processo de validação e os motivos das escolhas de implementação
2. Testes e QA
-
- O desenvolvimento guiado por testes (TDD) é um padrão especialmente eficaz ao ser usado com agentes de programação
- Ao escrever os testes primeiro, o agente pode gerar código orientado a satisfazer esses testes
- Mesmo com prompts mínimos, isso ajuda a obter geração de código mais precisa e confiável
-
- Ao trabalhar com agentes de programação, testes automatizados não são opcionais, mas um elemento essencial
- Em um ambiente onde o custo de escrever testes caiu, o agente pode gerar e ajustar testes rapidamente
- Como não é possível garantir que o código funciona antes de executá-lo de fato, os testes são fundamentais
3. Entendendo o código
-
- Padrão de ler o código ou projeto criado pelo agente do começo ao fim, em sequência, para entender sua estrutura
- Mesmo em projetos simples, é possível aprender novas tecnologias e estruturas acompanhando o fluxo do código
- Em resposta à preocupação de que a geração de código por IA reduza a velocidade de aprendizado, mostra que explorar o código em si pode ser uma oportunidade de aprendizagem
-
- Método de pedir explicações ao agente em conversa para entender um código ou sistema
- Ao repetir perguntas, é possível compreender gradualmente o funcionamento e a estrutura do código
- Padrão que expande o processo de entendimento de código para um modelo de aprendizado interativo
4. Prompts anotados
-
- Inclui um exemplo de prompt para criar uma ferramenta de otimização de GIF baseada em WebAssembly e Gifsicle
- Apresenta uma forma de implementar uma ferramenta de página única com HTML, JavaScript e CSS
- Explica maneiras de usar agentes de programação por meio de prompts reais e exemplos de código
5. Apêndice
-
- Coletânea de exemplos de prompts para agentes de programação realmente usados
- Organização de padrões de prompts práticos aplicáveis a vários tipos de trabalho
- Fornece templates úteis para uso na colaboração com agentes
1 comentários
Comentários do Hacker News
Parece que vamos repetir a mesma coisa de novo
Conceitos simples e razoáveis — por exemplo “escreva os testes primeiro”, “faça módulos pequenos e combináveis” — acabam sendo embalados com nomes complexos, e disso nasce toda uma indústria de consultoria
Só que, desta vez, o alvo são “máquinas que falam”. Seria um mundo em que basta dizer em palavras o que se quer
Eu queria perguntar ao Simon — “como deve ser o code review num mundo em que código é barato?”
Os membros do time abordam as coisas no estilo “se funciona, está bom”, sem entender a estrutura. Os reviews ficam cada vez maiores, e eu viro o gargalo. Pensei até em usar um revisor de IA como substituto, mas não gosto da ideia de perder a sensibilidade humana
Eu uso IA principalmente para código boilerplate ou para resolver problemas de documentação
Já experimentei trabalho com agentes, mas ainda é difícil confiar no resultado. Mesmo assim, algumas pessoas dizem que “agora quase não escrevem mais código”. Essa diferença é interessante
Recentemente estou experimentando um loop de coding com agentes
Por exemplo, no projeto fesh, o objetivo era “comprimir ainda mais um binário Linux”. Era um problema com testes claros, então servia bem para um loop de IA
O que aprendi foi o seguinte:
.mdentre sessões para que o aprendizado continuerejections.mdfoi ainda mais valioso. É preciso deixar registrado “por que essa abordagem foi descartada” para a IA não repetir o mesmo erro.mdelevam muito a qualidade da sessão seguinteSeria bom que a seção sobre testes abordasse o problema dos “testes autoindulgentes” criados por LLMs
Há casos em que o teste, na prática, não verifica nada, ou até passa com valores hardcoded. O ser humano precisa conduzir a IA para hábitos rigorosos de teste
Sempre que sai uma nova geração de LLM, dá a sensação de que todas as lições anteriores se tornam inválidas
Estruturas complexas criadas para contornar limitações de modelos antigos, como o LangChain, ficaram desnecessárias depois do GPT-3.5. Em breve, talvez um agente único já seja suficiente para dar conta de tudo
Ver artigo relacionado
Há um ponto que costuma faltar nessas discussões sobre agent engineering
Muitas lições são apresentadas como se fossem verdades universais, mas, na prática, elas variam de acordo com o tamanho do time, a maturidade da base de código, o nível de testes e a tolerância a risco. O importante é deixar claro “em que situações esse padrão funciona”
Hoje em dia surgem dezenas de “frameworks de time de agentes” por dia
É um período caótico de experimentação, como o começo da engenharia de software. Mas, no fim, alguns padrões vão acabar se estabelecendo como padrão.
No nosso time, funcionou bem abordar isso como um time humano — primeiro escrever a especificação do produto (spec), refiná-la com IA e, a partir disso, passar para um fluxo de agentes com papéis separados
Hoje dei uma aula de graduação sobre a evolução das arquiteturas de CPU e GPU
No passado, a Lei de Moore fazia o hardware resolver tudo, mas agora a paralelização é o ponto central.
A ideia do Simon de que “código é barato” é uma mudança de paradigma parecida com isso.
Assim como o código eficiente mudou completamente na era do hardware paralelo, na era da IA o próprio processo de desenvolvimento vai mudar. Quem entender isso primeiro vai obter uma vantagem de 10x a 100x
No nosso time, o mais prático foi um “loop com validações humanas no meio do caminho”
Agentes totalmente autônomos muitas vezes passam nos testes, mas quebram invariantes implícitas.
Por isso, fazemos o humano intervir logo antes de decisões irreversíveis.
Mas fazer a IA entender “o que é irreversível” já é outro desafio.
Além de documentos como
CLAUDE.md, estamos procurando uma forma sistemática de transmitir regras implícitas da codebase