En los últimos años, la capacidad de programación de la inteligencia artificial (IA) ha avanzado constantemente, pero aún no ha alcanzado la perfección. Recientemente, Max Woolf, científico de datos senior de BuzzFeed, descubrió a través de un experimento que, si se proporciona continuamente a los grandes modelos lingüísticos (LLM) la indicación de "escribir un código mejor", la IA puede generar código de mayor calidad. Este descubrimiento ha generado un gran interés, y destacados científicos de IA de la industria han expresado su gran interés, destacando la importancia de la iteración y el diseño de las indicaciones.
En el experimento de Woolf, utilizó el modelo de IA Claude3.5Sonnet para una serie de tareas de programación. Inicialmente, planteó al modelo un problema de programación simple: cómo encontrar la diferencia entre el valor mínimo y el máximo de la suma de los dígitos de un millón de números enteros aleatorios que suman 30. Claude, tras recibir esta tarea, generó un código que cumplía los requisitos, pero Woolf consideró que el código podía optimizarse.
A continuación, Woolf decidió, después de cada generación de código, solicitar a Claude que realizara una optimización iterativa mediante la indicación "escribir un código mejor". Después de la primera iteración, Claude reestructuró el código en una clase Python orientada a objetos e implementó dos optimizaciones significativas, lo que aumentó la velocidad de ejecución en 2,7 veces. En la segunda iteración, Claude añadió el procesamiento multihilo y el cálculo vectorial, lo que finalmente aumentó la velocidad de ejecución del código a 5,1 veces la versión básica.
Sin embargo, a medida que aumentaba el número de iteraciones, la mejora de la calidad del código comenzó a disminuir. Después de varias rondas de optimización, aunque el modelo intentó utilizar algunas técnicas más complejas, como la compilación JIT y la programación asíncrona, algunas iteraciones provocaron una disminución del rendimiento. Finalmente, el experimento de Woolf reveló el potencial y las limitaciones de las indicaciones iterativas, lo que ha llevado a una nueva reflexión sobre el futuro de la programación de la IA.
Esta investigación no sólo demuestra el potencial de aplicación de la IA en el campo de la programación, sino que también nos recuerda que, aunque la IA puede mejorar la calidad del código mediante iteraciones continuas, en las aplicaciones prácticas, la forma de diseñar adecuadamente las indicaciones y equilibrar el rendimiento y la complejidad sigue siendo un tema que merece una discusión más profunda.