Formando uma equipe de programadores com Codex, Claude, e um humano
Um workflow realista que pode ser aplicado até por qualquer programador
Existe um debate, sem dúvidas pertinente, sobre até que ponto as IAs conseguirão substituir o trabalho humano. Acredito que esse é um movimento definitivamente deflacionário e que muitas carreiras precisarão se adequar, mas não é sobre isso que gostaria de falar hoje. Gostaria de oferecer uma visão mais positiva.
Se por um lado alguns empregos deixarão de existir, por outro indivíduos e pequenas empresas terão nas mãos um ferramental digno das big techs. Considere o exemplo do QuantBrasil: esse app, do qual mais de 400 pessoas já assinaram, é mantido exclusivamente e de modo part-time por duas pessoas (minha esposa e eu).
Digo na nossa apresentação que o QuantBrasil é um app familiar e assim pretendemos continuar. Portanto, é fora do nosso escopo abrir processos seletivos, contratar e expandir – preferimos crescer devagar dentro de nossa disponibilidade de tempo.
Sendo assim, é até um pouco injusto nos compararmos com empresas que operam full-time, tem um head count muito maior, investidores, etc. Ainda assim, queremos continuar crescendo e melhorando a plataforma. E justamente por isso nos beneficiamos tremendamente do desenvolvimento das IAs.
A maior parte do meu dia é dedicada ao meu trabalho “regular”, onde sou Engineering Manager de um time de software numa empresa americana. Lá, implementei um sistema de controle de qualidade que funciona da seguinte forma: um desenvolvedor trabalha em um código e cria um pull request para ser revisado por outro dev e testado por um QA. Uma vez recebida a aprovação de ambos, um manager confere e dá a aprovação final.
São pelo menos 2 desenvolvedores e 1 QA envolvidos antes que o código chegue até a mim. É impossível implementar esse tipo de escrutínio no QuantBrasil! Não temos nem recursos nem pessoas suficientes para isso.
Portanto, é com bastante interesse e fincado em um problema real que busco alternativas para implementar um workflow semelhante em times menores, como o QuantBrasil. E o resultado de um desses testes, onde combinei o Codex, agente autônomo do ChatGPT, com o Claude Opus 4, considerado do state of the art para programação no momento, foi publicado no YouTube.
Recomendo aos interessados que assistam ao vídeo inteiro para entender, na prática, como esse workflow funciona, mas irei aqui explicar o porquê de acreditar que esse fluxo de trabalho é adequado e compartilhar minha conclusão do experimento.
Antes de mais nada, considere ler meu artigo passado onde compartilho minha experiência com o Codex logo após seu lançamento.
Uma mudança importante: à época da publicação, o Codex estava disponível apenas aos assinantes do plano Pro ($200/mo) do ChatGPT, enquanto hoje ele já se encontra acessível aos assinantes do plano Plus ($20/mo).
De forma resumida, o Codex é um agente autônomo que trabalha de forma assíncrona e é otimizado para resolver problemas “de uma tacada só” (one-shot). A ideia é passar uma tarefa e… esperar. A ferramenta pode demorar de 10 a 15 minutos para finalizar, e no final criará um pull request direto no GitHub para você.
Isso é excelente pois nos dá um ponto de partida e coloca-nos na posição de humano: revisar o código criado por alguém, oferecendo nosso conhecimento do contexto do problema.
Ainda assim, é um pouco incerto a qualidade técnica do codex-1, modelo otimizado pela OpenAI para o Codex. Portanto, é pertinente passar esse pull request por uma outra AI, essa reconhecidamente mais capaz, como é o caso do Claude Opus 4. Ao fazer isso, replicamos o processo de um time de engenharia: temos o desenvolvedor que cria o código, e o desenvolvedor que revisa o código.
Uma vez que os dois modelos estão de acordo, aí sim entra a intervenção humana, o olhar final que vai além da questão técnica. Aqui, queremos olhar outros aspectos: o código está aderindo aos padrões do repositório? Existe alguma função que poderia ter sido reutilizada? Existe alguma preocupação com performance ou segurança? Essa mudança é escalável? Considerando o roadmap, poderia ser feito de outra forma de modo a ser extensível no futuro? Essa mudança pode afetar outras áreas do app? The list goes on and on.
Domine o seu trabalho, entenda como uma área afeta a outra, vá além do tecnicismo, e você terá vida longa como engenheiro.
No vídeo, o Codex criou um pull request bem decente, e o Claude, após revisar, não encontrou nenhum problema. Mas eu, batendo o olho, identifiquei que existia uma outra área do código que estava sendo afetada. Fazendo o teste, confirmei o erro e solicitei a mudança.
Se eu tivesse aceitado tudo cegamente, teria quebrado parte do app. Mais do que isso, se eu não conhecesse profundamente o QuantBrasil, teria introduzido o bug. Eis então o silver lining para nós, humanos. Enquanto dominarmos o projeto em que trabalhamos, não só na parte técnica, mas em todas suas implicações e relacionamentos, seremos indispensáveis. Foque nisso. Domine o seu trabalho, entenda como uma área afeta a outra, vá além do tecnicismo, e você terá vida longa como engenheiro.
Uma nota final. Na vida real, bugs existem e o melhor time de engenharia do mundo deixa problemas como esse passarem, mesmo com o envolvimento de múltiplas pessoas capacitadas. Não é esse o ponto principal. É evidente que o resultado poderia ter ser melhor dado o contexto adequado. A questão é que aquilo que é necessário num time composto apenas por humanos, continua sendo necessário em um time que integre IAs no desenvolvimento.
Considero o experimento bem sucedido, justamente por não jamais ter tido a pretensão de que a IA resolveria todos os meus problemas, end-to-end, sem supervisão. Na verdade, ela falhou onde eu imaginaria que ele falharia. Portanto, é um duplo alento: a IA ainda não vai me substituir, mas eu consigo utilizá-la como sempre desejei, como uma ferramenta poderosíssima capaz de fazer com que um time de 2 funcione como um de 20.



