

Passar para o desenvolvimento que prioriza a IA é uma jornada e estamos todos aprendendo juntos. Quero compartilhar algumas lições agridoces de minha experiência recente que podem salvá-lo de bater nas mesmas paredes que eu.
O “segredo” que todo mundo conhece
Vamos abordar o elefante na sala. Até agora, provavelmente existem um milhão de vídeos no YouTube intitulados “Um truque supersecreto para tornar seu agente de codificação 20 vezes melhor”. Você conhece o truque, eu conheço o truque: crie um plano detalhado em um arquivo markdown e oriente o agente para executá-lo passo a passo.
Armados com esse conhecimento, meu confiável exército de agentes e eu ficamos felizes por vários dias de codificação ininterrupta de IA. Em termos de IA, isso é significativo: inúmeros tokens, quilowatts de eletricidade e agentes cada vez mais capazes trabalhando em harmonia. Foi um idílio comigo sendo o maestro da orquestra agente, ou se você quiser uma metáfora mais calorosa, meus agentes sendo golden retrievers de confiança trazendo a bola de volta alegremente uma e outra vez.
O projeto cresceu para 158 arquivos de código-fonte (sem contar testes, documentação ou scripts de construção). Embora alguns tenham sido adaptados de um SDK de código aberto licenciado permissivamente, a maioria eram reescritas novas ou substanciais. Para um protótipo, period uma base de código considerável.
Quando as coisas vão para o sul
Tudo correu bem enquanto a base de código permaneceu pequena. Eu não estava revisando meticulosamente cada linha (“Sou um profissional treinado – não faça isso em casa”, ou mais apropriadamente, “não faça isso no trabalho”), mas o plano period sólido e o aplicativo fez o que precisava fazer.
Mas à medida que a base de código cresceu, meu agente bateu em uma parede como um carro de teste em um teste de colisão. Bem, pelo menos foi assim que se sentiu quando, apesar das inúmeras tentativas de alertar novamente ao redor ou através daquela parede, o agente não estava chegando a lugar nenhum. Claro, eu mesmo poderia ter vasculhado o código, mas estava com preguiça de ler e depurar um monte de código “não meu” escrito em estruturas nas quais nunca havia trabalhado, especialmente depois que o agente fez várias modificações “fora do plano” tentando resolver o problema.
As lições duramente conquistadas
Desse fracasso (e de meus sucessos anteriores), extraí insights valiosos que mudarão fundamentalmente a forma como abordo o desenvolvimento orientado por IA. “Para vencer.”
1. Abordagem que prioriza a arquitetura
Maneira antiga: Planejar → Executar
Nova forma: Plano de alto nível → Para cada módulo:
- Desenvolva module_architecture.md (definindo principais estruturas de dados, interfaces, fluxo de controle e padrões de design)
- Crie module_execution_plan.md
- Execute o plano do módulo passo a passo
- Passar para o próximo módulo
O principal perception? Nunca “discuti” verdadeiramente a arquitetura com meu agente. Sem esse entendimento compartilhado, eu não poderia confiar plenamente na base — um problema muito maior do que duvidar de uma única função. Da próxima vez, serei co-proprietário do plano e do documento de arquitetura, então sentirei que é meu aplicativo, mesmo que grande parte do código não seja meu.
2. Padrões de teste desde o primeiro dia
Eu definiria meus padrões de teste antecipadamente e forçaria o agente a segui-los. CADA ETAPA exigiria a construção de novos testes de regressão e a execução do conjunto completo de testes de regressão. Sem ele, o agente criava testes aleatórios para depurar problemas aleatórios e limpava automaticamente esses testes ou os deixava em locais inconsistentes.
3. Estratégia abrangente de registro
Eu definiria meus padrões de registro antecipadamente, incluindo níveis de verbosidade e alguns decoradores para registrar automaticamente muitas coisas sem sobrecarregar o código com mensagens de depuração. Isso manteria o código legível e os logs detalhados.
A recompensa
Com essa abordagem, estou confiante de que várias coisas boas acontecerão:
- Teto de maior capacidade: Meu agente seria capaz de resolver o problema complicado que o fazia andar em círculos. Com testes e logs bem organizados, é muito mais fácil identificar e resolver problemas complexos.
- Melhores pontos de intervenção humana: Quando eu precisar intervir, saberei exatamente onde procurar.
- Menos problemas arquitetônicos: Ter uma boa arquitetura ajudaria a evitar os problemas mais significativos. Coisas pequenas são pequenas por definição.
E, claro, quando se trata de produção, haverá uma revisão de segurança, revisão de código e testes mais completos.
O Investimento
Este não é um levantamento leve; é preciso esforço. No desenvolvimento tradicional, a arquitetura adequada para componentes críticos pode facilmente ocupar ⅓ do cronograma do projeto. É um trabalho de alta qualificação e alto valor – seu arquiteto principal provavelmente ganha (e vale) pelo menos cinco de seus juniores (e isso antes de você começar a contar o patrimônio…). Portanto, este não é queijo grátis.
Mas aqui está a chave: esta abordagem antecipa o trabalho estratégico, feito de forma colaborativa entre você e a IA, deixando o backlog mais mundano apenas para a IA.
Redefinindo a colaboração
Quando digo “co-proprietário da arquitetura”, não quero dizer que você precisa de uma década de experiência em “arquitetura”. Sou engenheiro por formação, especialista em produtos por coração e empresário por profissão. Estou bastante enferrujado quando se trata de codificação, mas tenho uma mente aguçada e uma curiosidade infinita.
Ao trabalhar em arquitetura, não estou sozinho. Sempre que tenho uma dúvida, seja sobre algumas opções para resolver o problema, ou nossa base de código, ou comparáveis de código aberto, meus agentes de confiança estão lá para realizar algumas pesquisas e consultas para mim. Esta é uma das coisas mais fáceis de paralelizar e realizar multitarefas, o que significa que você está obtendo o maior aproveitamento da IA.
Estamos essencialmente redefinindo a divisão do trabalho: os humanos concentram-se na arquitetura, nos padrões e nas decisões estratégicas, enquanto a IA trata dos detalhes da implementação dentro desses limites bem definidos. É aqui que imaginamos a IA e os humanos no futuro – queremos que a IA crie empregos e ajude a multiplicar as capacidades/velocidade/produtividade humanas.
O que vem a seguir
Na Parte 2 (quando meu trabalho intenso permitir outra sessão de aprofundamento), compartilharei exemplos específicos de como essa abordagem que prioriza a arquitetura resolveu problemas reais, incluindo os modelos e prompts exatos que fizeram a diferença. Fique atento.