2023-09-24 19:21:35
Se supone que la IA permite a los no programadores crear programas complejos, como juegos. Un grupo de investigadores puso a prueba esta afirmación generando el juego Flappy Bird 35 veces utilizando Python y ChatGPT.
Los resultados del grupo de investigación DiverSE demuestran que la programación de IA no es tan fácil como a veces se pretende. Pero tiene potencial. El experimento no ofrece una respuesta clara a si los no programadores pueden de repente generar juegos totalmente funcionales con IA, pero sí demuestra que el proceso no es sencillo ni está resuelto.
Flappy Bird «Edición Prompt»
El estudio se centró en el desarrollo del juego Flappy Bird utilizando Python como lenguaje de programación. Los investigadores exploraron varios métodos utilizando ChatGPT 3.5 y 4, probando diferentes prompts y estrategias.
- Escribir una instrucción breve que describa simplemente el juego,
- Dar a ChatGPT una lista más detallada de las características,
- Proporcionando una breve descripción de las características más importantes,
- Proporcionando un ejemplo de código completo y solicitando una indicación de coincidencia, y
- Utilizar una serie de instrucciones para generar código sin revisar el código entre ellas.
Sin embargo, los investigadores no encontraron una instrucción mágica que produjera siempre un juego jugable. Algunas pruebas produjeron juegos jugables sin intervención técnica adicional, pero muchas sesiones resultaron en juegos inutilizables que requerían correcciones de código.
Interesante, incluso con las mismas indicaciones, ChatGPT generó versiones sustancialmente diferentes de código que producían resultados completamente distintos. El equipo habla de incoherencias significativas en la calidad de la salida, que a veces incluso llevaban a callejones sin salida.
¿Codificación amateur con ChatGPT? Sí, pero…
La prueba demuestra que los profanos con conocimientos técnicos mínimos pueden crear juegos con ChatGPT, pero que sin conocimientos de programación esto apenas es posible de forma sistemática. A menudo (pero no siempre) fue necesaria la intervención directa en el código para corregir errores.
Si un juego estaba en mal estado desde el principio, era aún más difícil arreglarlo sin conocimientos de programación debido a la falta de retroalimentación visual. Si no sabes leer código, sólo puedes señalar los fallos que son visibles en el juego. Pero si el juego no funciona, esta posibilidad desaparece.
Durante el experimento, ChatGPT a menudo dividió el problema e insertó marcadores de posición en el código sin actualizar la implementación. Esto es beneficioso para los desarrolladores, pero para el usuario final el juego está incompleto y no funciona.
En general, el equipo destaca los beneficios de ChatGPT para la programación, incluyendo la inspiración para nuevas variaciones de un juego o características únicas, el uso del código generado como punto de partida, y la capacidad básica de los usuarios finales para crear juegos interesantes que a veces funcionan.
El equipo sugiere otros enfoques, como cambiar el lenguaje de programación, encontrar mejores indicaciones o un lenguaje para controlar mejor ChatGPT, y mejorar la integración de la salida de ChatGPT en el entorno de desarrollo para ahorrar tiempo.
Las 35 sesiones con prompts, código, observaciones y resultados usando GPT-3.5 y GPT-4 vía ChatGPT son disponibles en Github. El siguiente vídeo muestra algunos de los experimentos y sus resultados.