Programação com IA de coleira curta para vencer Fable
A promessa da Inteligência Artificial em desenvolvimento de software é tentadora: agentes autônomos gerando código de alta qualidade enquanto nós, desenvolvedores, nos dedicamos a tarefas mais estratégicas ou, quem sabe, tomamos um café na praia. Mas, como todo veterano sabe, entre a promessa e a realidade há um abismo. Após mais de um ano de pesquisa profunda sobre o uso de agentes de AI para escrever software de alta qualidade em sistemas críticos de segurança, minha perspectiva é clara: a automação total é uma miragem perigosa.
Este post não é para aqueles que odeiam a AI, nem para os que veem nela uma forma de pular o aprendizado. É para o desenvolvedor experiente, aquele cujas habilidades superam qualquer "modelo de AI de fronteira" em sua área de especialização, e que busca na inteligência artificial uma alavanca para aumentar sua performance sem jamais comprometer a qualidade.
A Ilusão da Automação Total
Quem já se aventurou com agentes de AI sabe bem o que acontece: a ideia inicial se mostra falha, ou o agente simplesmente "sai dos trilhos", embarcando em direções indesejadas. Tenho visto vídeos com milhões de visualizações onde criadores de conteúdo descrevem sistemas mirabolantes com 12 agentes paralelos, orquestradores complexos e a promessa de que não precisam mais se envolver no processo de codificação. O resultado? Um festival de código de baixa qualidade, onde a AI escreve e revisa "slop" (código porco), enquanto o humano se deleita em um suposto paraíso de ociosidade.
É humanamente impossível construir um entendimento sólido de uma base de código adotando essa abordagem de "engenharia de vibe". A AI terá desviado do caminho inúmeras vezes, e você só perceberá quando o software for realmente usado. Embora este método possa ser aceitável em cenários onde a qualidade não é uma preocupação, em sistemas sérios, ele é um desastre. O problema é que, mesmo o código escrito ou revisado por modelos avançados como o Fable 5, pode "feder": funciona, mas é horrivelmente ineficiente e feio. Isso é ainda mais comum em áreas de nicho, onde os modelos carecem de dados de treinamento suficientes. Ao contrário do que dizem certos CEOs, esses modelos não conseguem pensar além de seus dados de treinamento.
O Método "Short Leash": Mão Humana no Volante
É aqui que entra o método "Short Leash" (coleira curta) para usar agentes de AI na codificação. Esta abordagem não é para qualquer um; exige desenvolvedores profissionais. Mas o que a torna excelente é que ela leva a resultados que superam até mesmo os dos modelos de fronteira, como o Fable.
No método "Short Leash":
- Fase de Planejamento: Você começa com uma pesquisa aprofundada da tarefa, formulando um plano claro e usando ferramentas para rastrear o progresso e dividir tarefas maiores em etapas menores.
- Nada de "YOLO" (You Only Live Once): Esqueça o modo "perigosamente pular permissões". Você não entrega o controle total.
- Presença Constante: A AI nunca trabalha "enquanto você joga videogame". Você está ativamente presente.
- Diffs e Permissões: Use um agente de codificação que exiba um
diffdas mudanças que estão prestes a ser feitas através de um prompt de permissões. - Análise Humana Rigorosa: Você se senta, como um maluco do século 20, e analisa cada mudança que a AI propõe.
- Sempre no Loop: Mantenha-se sempre no controle, em vez de se remover do processo, como promovem alguns criadores de conteúdo.
- Diffs como Ferramenta de Entendimento: Use os
diffsnos prompts de permissão como uma forma de manter seu entendimento da base de código atualizado e a AI em uma "coleira curta". - Negue Permissões: Sempre que a AI estiver prestes a fazer algo que você não quer, negue a permissão.
- Intervenção Frequente: Intervenha sempre que necessário para evitar que a AI "saia dos trilhos".
- Commits por Sub-tarefa: Faça
commitsao final de cada sub-tarefa para se proteger de erros da AI que possam, por exemplo, apagar trabalho feito anteriormente (já vi o Opus fazer isso). - Revisão Final: Ao final, faça uma revisão completa.
Revisões Inteligentes com AI
Uma Pull Request (PR) revisada apenas por um humano ou apenas por uma AI terá mais erros do que uma PR revisada por ambos. A AI pode ser tratada como um linter superpoderoso: ela rapidamente pegará erros comuns, enquanto o humano se concentrará em questões de alto nível e mudanças direcionais necessárias.
Portanto, quando se trata de revisões:
- AI em toda PR: Use AI para revisar cada PR.
- Contexto Completo: A AI deve ter acesso a contexto suficiente: o
issue, a descrição da PR, a base de código e as mudanças propostas. - Modelos de Ponta: Utilize os modelos mais recentes e melhores disponíveis para revisão.
- Divulgação da AI: A descrição da PR deve divulgar os modelos precisos usados (se houver) na criação da PR, sob um cabeçalho "AI Disclosure". Isso serve a vários propósitos:
- Informa o
maintainerque a AI foi usada. - Permite que o
maintainersugira modelos melhores, caso modelos fracos tenham sido empregados. - Sinaliza que você é um desenvolvedor "gente boa" e não está tentando "esconder" o uso da AI.
- Informa o
- Revisão do Autor: E, finalmente, o ponto mais importante: a PR deve ser revisada pelo próprio autor se a AI foi utilizada. PRs assistidas por AI são, na verdade, PRs de uma AI com assistência humana. Portanto, espera-se que o humano que submete a PR entenda o que está submetendo, e ele não pode fazer isso se não revisou o código que a AI escreveu. Ele deve tratar sua própria PR como se estivesse revisando a PR de outra pessoa, linha por linha. Só então poderá confirmar sua própria aprovação e solicitar a atenção do
maintainer. Isso constrói e demonstra seu entendimento da base de código.
No fim das contas, a AI é uma ferramenta poderosa. Mas, como qualquer ferramenta poderosa, exige maestria e disciplina para ser usada de forma eficaz. No desenvolvimento de software de alta qualidade, especialmente em sistemas críticos, a parceria entre o desenvolvedor humano e a AI deve ser de controle e colaboração, não de delegação cega. A "coleira curta" garante que a inteligência da máquina amplifique a sua, e não a substitua.
Fontes
📬 Gostou? Assine a newsletter do Vaccari's Code e receba as próximas tendências em software e IA direto no seu e-mail: Assinar aqui