Each language version is independently generated for its own context, not a direct translation.
Imagina que tienes un chef de cocina extremadamente talentoso (el Modelo de Lenguaje o IA) al que le pides que cocine platos.
Si le pides que prepare una paella o un taco (lenguajes de programación populares como Python), el chef lo hace casi perfecto. ¿Por qué? Porque ha cocinado millones de veces esos platos, ha visto millones de recetas en internet y conoce cada ingrediente a la perfección.
Pero, ¿qué pasa si le pides que cocine un plato muy específico y raro, como una "sopa de hierbas mágicas para brujas" (lenguajes de programación especializados o DSLs, como OCL o Alloy)? Aquí es donde el chef se atasca. No ha visto muchas recetas de ese plato, no conoce bien los ingredientes y a veces echa sal en lugar de azúcar, o incluso se olvida de poner el plato en la mesa.
Este artículo es como un manual de pruebas para chefs que quieren ver qué tan bien cocina la IA con esos platos raros.
¿Qué hicieron los autores?
Los investigadores (David, Lola y Robert) crearon un marco de trabajo (una especie de "caja de herramientas" o un "laboratorio de cocina") para evaluar a la IA. No solo querían ver si la IA cocinaba el plato, sino si:
- El plato estaba bien hecho (Bien formado): ¿Usó los ingredientes correctos? ¿Siguió las reglas de la receta? (En programación, esto significa que el código no tiene errores de sintaxis).
- El plato sabía a lo que debía (Correcto): ¿Cumplió con lo que le pediste? (En programación, ¿el código hace exactamente lo que tú querías?).
Los ingredientes del experimento
Para probar su laboratorio, usaron tres tipos de "platos":
- Python: El plato popular (como la pizza). Todo el mundo lo conoce.
- OCL y Alloy: Los platos especializados (como la "sopa de brujas"). Son lenguajes muy específicos para poner reglas estrictas en sistemas informáticos.
Las pruebas que hicieron
No solo dejaron que la IA cocinara una vez y ya. Probaron diferentes estrategias, como si fueran trucos de cocina:
- El Chef y su Libreta (El Prompt): ¿Le das al chef una receta muy detallada o solo un boceto? Probaron diferentes formas de pedirle el código.
- Un solo intento vs. Varias rondas: ¿Le pides el plato una vez y si falla, te rindes? ¿O le dices: "Prueba de nuevo, y si sigue fallando, intenta otra vez"?
- El Ayudante de Cocina (Reparación de código): Si el chef hace un error (quema la tortilla), ¿le dices "arregla esto" o simplemente pides otro plato nuevo?
- Cocinar todo junto vs. uno por uno: ¿Le pides que cocine 10 platos diferentes en una sola orden, o le pides uno a la vez?
¿Qué descubrieron? (Los resultados sabrosos)
Aquí están las lecciones principales, explicadas de forma sencilla:
- El idioma importa más que el truco: Si el chef no conoce bien el lenguaje (como OCL o Alloy), no importa cuánto le expliques la receta (el "prompt"). Si no tiene experiencia previa, cocinará mal. Python fue el ganador fácil porque la IA lo conoce de memoria.
- Los chefs pequeños tienen problemas de memoria: Los modelos de IA más pequeños (de código abierto) a menudo se olvidan de las reglas porque el "plato" (el código) y la "receta" (el modelo de datos) son demasiado grandes para su memoria. Se les olvida la mitad de la historia.
- La repetición es la madre del aprendizaje: Pedirle a la IA que intente varias veces (generar 3 o 4 versiones del código) aumenta mucho las posibilidades de que una salga perfecta. Es como si le dijeras al chef: "Prueba 3 veces, seguro que una sale bien".
- Arreglar el error funciona: Si le dices a la IA: "Oye, este código tiene un error, fíjate y arréglalo", suele mejorar mucho el resultado. Combinar "varios intentos" + "arreglar errores" es la mejor estrategia, aunque cuesta más tiempo y dinero.
- El estilo de la receta no es tan importante: A diferencia de lo que pensábamos, cambiar la forma exacta en que le pides el código (el "prompt") no cambió tanto los resultados. Lo crucial es elegir al chef adecuado (el modelo de IA correcto) y darle varias oportunidades.
La conclusión final
Si quieres usar la IA para escribir código en lenguajes raros y complejos:
- Elige al chef correcto: Asegúrate de que la IA haya "comido" mucho de ese lenguaje específico antes.
- No te rindas al primer intento: Pídele que lo intente varias veces.
- Pide ayuda si falla: Si el código está mal, pídele que lo repare.
- No te obsesiones con la redacción: Lo más importante no es cómo le pides el código, sino qué modelo de IA usas y cuántas veces le das la oportunidad de acertar.
En resumen, este artículo nos da un mapa para no perderse en la cocina de la IA cuando intentamos crear cosas complejas y específicas, ayudándonos a saber cuándo confiar en el chef y cuándo pedirle que lo intente de nuevo.