Ferramentas como GitHub Copilot, Amazon CodeWhisperer e Tabnine representaram os primeiros passos de ferramentas que auxiliam no desenvolvimento de códigos, mas agora, novas tecnologias prometem levar esses assistentes a um nível de autonomia surpreendente.
Entre essas novidades, destaca-se Devin AI, desenvolvido pelo laboratório de IA aplicada Cognition, que é capaz de construir websites, encontrar e corrigir bugs em bases de código e até mesmo treinar e ajustar seus próprios modelos de linguagem de grande escala sem assistência humana.
Conforme a Cognition, o Devin pode realizar todas essas tarefas sem assistência:
- Construir um site do zero e implantá-lo
- Encontrar e corrigir bugs em bases de código
- Treinar e ajustar seu próprio modelo de linguagem
Impacto no workflow dos desenvolvedores
A autonomia prometida por esses novos assistentes de programação representa um avanço significativo. Devin AI e outros similares como Devika e OpenDevin sugerem um futuro onde tarefas repetitivas e técnicas podem ser executadas sem intervenção direta dos programadores, permitindo-lhes concentrar-se em tarefas mais estratégicas e criativas.
Ben Dechrai, desenvolvedor e defensor de software na empresa Sonar, ressalta que essas ferramentas ajudam os engenheiros de software a escrever códigos mais rapidamente e com maior eficiência, liberando tempo para focar em inovações.
Considerações de Segurança e Confiabilidade
Apesar dos avanços, a segurança e a confiabilidade do código gerado por IA continuam sendo uma preocupação significativa. Dechrai adverte que, embora os assistentes de programação sejam proficientes em sugerir códigos e refletir sobre sua eficácia, eles ainda não são infalíveis.
Saurabh Bagchi, professor de engenharia elétrica e de computadores na Universidade Purdue, enfatiza a necessidade de um processo iterativo com “humanos no loop” para garantir que os sistemas sejam intuitivos e seguros.
A perspectiva humana na programação assistida por IA
Enquanto algumas previsões apocalípticas sugerem que os engenheiros de software humanos poderiam ser substituídos por essas novas ferramentas, a realidade é mais complexa.
A colaboração e a especialização humana continuam sendo cruciais no desenvolvimento de software. As ferramentas de programação, embora úteis, ainda precisam operar em conjunto com os engenheiros humanos para criar produtos coesos e bem integrados.
O Futuro dos Assistentes de programação
O modelo de Copilot e CodeWhisperer, que combina assistência AI com trabalho humano, parece ser o mais promissor para o desenvolvimento de software complexo. Dechrai e Bagchi concordam que a adoção dessas ferramentas deve ser incentivada, mas com cautela, testando-as em casos de uso reais e estressando-os com os tipos de software em desenvolvimento.
Fonte: IEEE Spectrum