Ferramentas de IA para programação podem reduzir produtividade de desenvolvedores, aponta estudo
Nos últimos anos, ferramentas de IA como o Cursor e o GitHub Copilot prometem revolucionar o fluxo de trabalho de desenvolvedores, automatizando a escrita de código, correção de bugs e testes. No entanto, um estudo recente publicado pelo grupo de pesquisa em IA METR questiona se essas ferramentas realmente aumentam a produtividade de programadores experientes.
O estudo
O METR conduziu um ensaio controlado randomizado com 16 desenvolvedores experientes em projetos de código aberto. Eles completaram 246 tarefas reais em repositórios que já contribuíam. Metade das tarefas permitia o uso de ferramentas de IA, como o Cursor Pro, enquanto a outra metade proibia seu uso.
Antes de começar, os desenvolvedores previram que as ferramentas de IA reduziriam seu tempo de conclusão em 24%. Contudo, os resultados foram surpreendentes: o uso de IA aumentou o tempo de conclusão em 19%.
Por que a IA desacelerou os desenvolvedores?
Os pesquisadores apontam algumas razões para esse resultado:
- Tempo gasto com prompts: Os desenvolvedores passaram mais tempo interagindo com a IA e aguardando respostas do que codificando.
- Dificuldade em bases de código complexas: As ferramentas de IA ainda enfrentam desafios em projetos grandes e intricados, como os utilizados no estudo.
Limitações e perspectivas futuras
Os autores do estudo ressaltam que não se deve generalizar os resultados. Outras pesquisas indicam que ferramentas de IA podem, sim, aumentar a produtividade em muitos casos. Além disso, o avanço da IA é rápido, e os resultados podem mudar em poucos meses.
No entanto, o estudo serve como um alerta para não se assumir que a IA sempre trará ganhos imediatos. Outras pesquisas já mostraram que essas ferramentas podem introduzir erros e até vulnerabilidades de segurança.
Conclusão
Embora as ferramentas de IA para programação tenham um potencial enorme, seu uso deve ser avaliado com cautela, especialmente em projetos complexos. A produtividade pode não ser afetada positivamente em todos os cenários, e os desenvolvedores precisam estar cientes dos possíveis trade-offs.