Large Language Models for Code Generation from Multilingual Prompts: A Curated Benchmark and a Study on Code Quality
Este artículo introduce un referente multilingüe curado y presenta un estudio que demuestra que el idioma utilizado en los prompts influye significativamente en la corrección funcional, la calidad estructural y las características léxicas del código generado por los LLM, revelando que los prompts en inglés no producen consistentemente los mejores resultados y que el impacto varía entre los diferentes modelos y lenguajes de programación.
Artículo original bajo licencia CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Esta es una explicación generada por IA del artículo a continuación. No ha sido escrita ni avalada por los autores. Para mayor precisión técnica, consulte el artículo original. Leer descargo de responsabilidad completo
El Gran Experimento del Traductor de Código
Imagina que tienes un amigo robot superinteligente que sabe construir cualquier cosa, desde una simple casita para pájaros hasta una compleja nave espacial. Este robot, llamado Modelo de Lenguaje Extenso (o LLM, por sus siglas en inglés), ha leído casi todo lo que se ha escrito en internet, incluyendo millones de líneas de código de programación. Debido a que ha leído tanto, es increíblemente bueno siguiendo instrucciones para escribir nuevo código para nosotros. Normalmente, hablamos con este robot en inglés porque ese es el idioma en el que la mayoría del código que aprendió fue escrito. Pero, ¿qué pasaría si le pidieras al robot que construyera una nave espacial usando instrucciones en español, hindi o chino? ¿Se confundiría el robot? ¿Se desarmaría la nave espacial? ¿O construiría exactamente lo mismo, solo con un acento diferente?
Esta es la gran pregunta detrás de un nuevo estudio realizado por un equipo de investigadores. Querían ver si el idioma que usamos para hablar con estos robots de IA cambia la calidad del código que escriben. En el mundo de la ingeniería de software, el "código" es el conjunto de instrucciones que le dicen a una computadora qué hacer. La "corrección" significa que el código realmente funciona y pasa todas las pruebas, como un puente que sostiene un coche sin colapsar. La "calidad" es algo más amplio; significa que el código es fácil de leer, sigue las reglas del vecindario (como no dejar basura en la acera) y no tiene trampas ocultas que podrían romperse más adelante. Los investigadores tenían curiosidad por saber si pedir un puente en un idioma distinto al inglés haría que el robot construyera un puente tambaleante, o si el robot es igual de bueno construyendo en cualquier idioma.
El Experimento: Un Desafío de Programación Multilingüe
Para averiguarlo, los investigadores organizaron un enorme concurso de programación. Tomaron 460 tareas de programación diferentes —230 para Python y 230 para Java— de un famoso referente llamado CoderEval. Estas no eran simples tareas de "imprimir hola"; eran desafíos del mundo real que requerían que la IA resolviera problemas, manejara datos y construyera estructuras.
Luego, hicieron algo ingenioso. En lugar de solo pedirle a la IA en inglés, tradujeron estas 460 tareas a otros cuatro idiomas: chino, hindi, español e italiano. Pero no usaron un traductor automático rápido. Hicieron que hablantes nativos que son expertos en ciencias de la computación revisaran y corrigieran manualmente cada una de las traducciones. Querían asegurarse de que las instrucciones fueran perfectas y naturales, tal como un humano pidiendo ayuda a un amigo.
Después, introdujeron estas instrucciones traducidas en tres de los robots de IA más potentes disponibles hoy en día: GPT-4o mini, DeepSeek y Claude. Le pidieron a cada robot que resolviera los mismos 460 problemas en los cinco idiomas (inglés más los otros cuatro). En total, generaron miles de piezas de código para comparar.
La Gran Sorpresa: El Inglés no Siempre es el Rey
Los resultados fueron un poco impactantes. La creencia común era que si le pides a la IA en inglés, obtienes el mejor código porque ese es el idioma que la IA estudió más. Pero el estudio encontró que esto no siempre es cierto.
De hecho, para las tareas de Python, ¡pedir en chino de hecho condujo a mejores resultados que preguntar en inglés! El código generado a partir de prompts en chino pasó más pruebas y funcionó de manera más fiable. Es como pedirle a un chef que cocine un plato; a veces, darle la receta en un idioma diferente hace que el chef piense en una mejor forma de cocinarlo. Sin embargo, esta "ventaja del chino" no ocurrió para todos los robots o para todo tipo de tareas. Para Java, los resultados fueron más mixtos y ningún idioma fue claramente el ganador. La conclusión principal es que hablar inglés a una IA no garantiza el mejor código, y hablar otro idioma no significa automáticamente que el código será peor.
El Código se ve Diferente, ¿Pero es Peor?
Los investigadores también observaron la "calidad" del código, no solo si funcionaba. Revisaron cosas como:
- Complejidad: ¿Es el código un lío enredado o una línea recta?
- Comentarios: ¿Explicó el robot lo que estaba haciendo?
- Advertencias: ¿El código rompió alguna regla o se veía desordenado?
Encontraron que el código generado en idiomas que no son inglés no era necesariamente "malo". Solo se veía diferente. Por ejemplo, el código escrito a partir de prompts en chino a menudo tenía más comentarios, como si el robot estuviera tratando de ser extra servicial. El código de los prompts en hindi a veces tenía más errores de estilo, como falta de puntuación o espacios extraños, pero estos solían ser problemas pequeños que se podían arreglar fácilmente.
Un descubrimiento interesante fue sobre el hindi. Cuando se le pidió a la IA que programara en hindi, a veces producía un código que era un poco más arriesgado, con más posibles errores o lógica confusa. Pero para el español y el italiano, el código era generalmente tan bueno como la versión en inglés, a veces incluso mejor en cuanto a evitar ciertos errores.
El Problema de "Mezclar y Combinar"
Aquí es donde las cosas se ponen un poco complicadas. Si bien la lógica del código puede ser excelente, las palabras dentro del código a menudo eran una mezcla confusa. Los investigadores encontraron que, incluso cuando se le pedía a la IA en español o chino, el robot a menudo escribía los comentarios (las notas que explican el código) y los nombres de las variables (las etiquetas para los datos) en inglés.
Es como pedirle a un chef que escriba una receta en italiano, pero que escriba la lista de ingredientes en inglés y las instrucciones en una mezcla de ambos. Los investigadores encontraron que la IA es muy inconsistente. A veces sigue tu idioma, otras veces no lo hace. Esto es un problema para los equipos de desarrolladores que necesitan que su código esté en un idioma consistente para que todos puedan entenderlo. El estudio sugiere que solo pedir el código en un idioma específico no es suficiente; podrías necesitar ser muy específico al decirle al robot que mantenga las notas y etiquetas en ese mismo idioma.
¿Qué Significa esto para Nosotros?
El estudio conclce que no necesitamos tener miedo de usar nuestros idiomas nativos para hablar con los asistentes de programación de IA. Puedes pedir código en español, chino o hindi sin preocuparte de que el robot falle. En algunos casos, como con Python, ¡incluso podrías obtener mejores resultados!
Sin embargo, hay dos cosas a las que prestar atención:
- El problema del "Estilo": El código puede tener más pequeños errores de formato (como falta de comas o líneas largas) cuando se escribe en idiomas que no son inglés. Pero estos son fáciles de arreglar con herramientas automatizadas.
- El problema de la "Mezcla de Idiomas": La IA podría no mantener los comentarios y las etiquetas en el idioma que pediste. Si necesitas que todo esté en un solo idioma, es posible que debas revisar el código o darle instrucciones adicionales a la IA.
En general, esta investigación muestra que la IA se está volviendo más flexible. Puede entender y construir cosas en muchos idiomas, rompiendo la barrera que antes obligaba a todos a hablar inglés para obtener un buen código. Pero como cualquier herramienta nueva, tiene sus peculiaridades, y necesitamos aprender cómo trabajar con ellas para obtener los mejores resultados.
¿Ahogado en artículos de tu campo?
Recibe resúmenes diarios de los artículos más novedosos que coincidan con tus palabras clave de investigación — con resúmenes técnicos, en tu idioma.