Nos últimos anos, a capacidade de programação da inteligência artificial (IA) tem se desenvolvido continuamente, mas ainda não atingiu a perfeição. Recentemente, Max Woolf, cientista de dados sênior da BuzzFeed, descobriu através de experimentos que, se fornecermos continuamente prompts de "escrever um código melhor" para modelos de linguagem grandes (LLMs), a IA realmente consegue gerar código de melhor qualidade. Essa descoberta gerou grande interesse, e renomados cientistas de IA expressaram grande interesse, enfatizando a importância da iteração e do design de prompts.

No experimento de Woolf, ele usou o modelo de IA Claude3.5Sonnet para uma série de tarefas de programação. Inicialmente, ele apresentou ao modelo um problema de programação simples: como encontrar a diferença entre o menor e o maior valor entre um milhão de inteiros aleatórios cuja soma dos dígitos é 30. O Claude gerou um código que atendia aos requisitos, mas Woolf acreditava que o código poderia ser otimizado.

image.png

Então, Woolf decidiu, após cada geração de código, solicitar ao Claude que iterasse e otimizasse através do prompt "escrever um código melhor". Após a primeira iteração, o Claude reestruturou o código em uma classe Python orientada a objetos e implementou duas otimizações significativas, aumentando a velocidade de execução em 2,7 vezes. Na segunda iteração, o Claude adicionou processamento multithread e computação vetorial, resultando em uma velocidade de execução 5,1 vezes mais rápida que a versão básica.

No entanto, com o aumento do número de iterações, a melhoria na qualidade do código começou a diminuir. Após várias rodadas de otimização, embora o modelo tenha tentado usar algumas técnicas mais complexas, como compilação JIT e programação assíncrona, algumas iterações levaram a uma queda no desempenho. Finalmente, o experimento de Woolf revelou o potencial e as limitações dos prompts iterativos, levando a novas reflexões sobre o futuro da programação de IA.

Este estudo não apenas demonstra o potencial de aplicação da IA na área de programação, mas também nos lembra que, embora a IA possa melhorar a qualidade do código através de iterações contínuas, na prática, como projetar prompts adequados e equilibrar desempenho e complexidade ainda é um tópico que merece discussão aprofundada.