← Últimos artículos
🤖 AI

Are Large Language Models Robust in Understanding Code Against Semantics-Preserving Mutations?

Este artículo revela que, aunque los Modelos de Lenguaje a Gran Escala más avanzados logran una alta precisión predictiva en tareas de código, con frecuencia se basan en razonamientos defectuosos y muestran una fragilidad significativa, cambiando a menudo sus predicciones cuando se enfrentan a mutaciones de código que preservan la semántica.

Autores originales: Pedro Orvalho, Marta Kwiatkowska

Publicado 2026-05-08
📖 5 min de lectura🧠 Análisis profundo

Autores originales: Pedro Orvalho, Marta Kwiatkowska

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

Imagina que tienes un estudiante muy talentoso que puede resolver problemas matemáticos complejos y escribir ensayos que suenan increíblemente inteligentes. Le pides que explique cómo resolvió un problema y te ofrece una historia perfecta, paso a paso. Te sientes seguro de que realmente comprende el material.

Pero, ¿qué pasaría si le dijeras a ese mismo estudiante: "Bien, ahora resuelve exactamente el mismo problema, pero en lugar de usar la palabra 'manzana', usa la palabra 'fruta', y en lugar de decir 'sumar', di 'totalizar'"?

Si el estudiante de repente se confunde, cambia su respuesta o da una explicación completamente diferente (y errónea), te darías cuenta de que en realidad no estaba comprendiendo la lógica de las matemáticas. Solo estaba memorizando las palabras y patrones específicos que habías usado antes.

Esto es exactamente lo que los investigadores de la Universidad de Oxford descubrieron sobre los Modelos de Lenguaje Grande (LLM) cuando les pidieron que comprendieran código informático.

La trampa de la "Programación por Vibra"

Hoy en día, muchas personas utilizan herramientas de IA para escribir código, una tendencia llamada "programación por vibra". Confiamos en estos modelos de IA para corregir errores y escribir programas. Pero los investigadores plantearon una pregunta inquietante: ¿Estos modelos de IA realmente comprenden cómo funciona el código, o simplemente son muy buenos adivinando basándose en patrones?

Para averiguarlo, trataron a la IA como un estudiante que rinde un examen, pero con un giro.

La prueba de "Cambio de Forma"

Los investigadores tomaron un conjunto de programas informáticos y les realizaron cinco "trucos de magia" específicos. Estos trucos cambiaron la apariencia del código (la sintaxis) pero mantuvieron exactamente el mismo significado y resultado (la semántica). Es como tomar una frase: "El gato se sentó en la alfombra", y reescribirla como: "Sobre la alfombra, el felino descansó". El significado es idéntico, pero las palabras son diferentes.

Los cinco trucos que utilizaron fueron:

  1. Renombrar Variables: Cambiar mi_lista por x9z2.
  2. Invertir Comparaciones: Cambiar si x > 5 por si 5 < x.
  3. Intercambiar Lógica: Cambiar las partes "si" y "sino" de una decisión.
  4. Conversión de Bucles: Cambiar un bucle "para" por un bucle "mientras".
  5. Desenrollado de Bucles: Escribir manualmente los últimos pasos de un bucle en lugar de permitir que la computadora los repita.

Los Resultados: Adivinadores inteligentes, no verdaderos pensadores

Cuando los investigadores ejecutaron estas pruebas en nueve modelos de IA diferentes (incluyendo los más famosos como GPT-5.2 y Gemini-3), encontraron patrones preocupantes:

  • El problema del "Razonamiento Defectuoso": Incluso cuando la IA daba la respuesta correcta, a menudo lo hacía por las razones equivocadas. De hecho, entre el 10% y el 50% de las veces, la IA producía una respuesta correcta basada en una explicación completamente rota o sin sentido. Era como un estudiante que adivina la respuesta correcta en un examen de matemáticas pero escribe una fórmula inventada para justificarla.
  • El problema de la "Fragilidad": Cuando el código era "transformado" mediante los trucos anteriores, el rendimiento de la IA colapsaba. Algunos modelos vieron caer su precisión hasta en un 70%.
    • Analogía: Imagina a un chef que puede cocinar perfectamente un filete si le dices "cocina la carne de vaca". Pero si le dices "cocina la vaca", entra en pánico y quema la cocina. Los modelos de IA son como ese chef; se confunden con cambios simples en la redacción, aunque la "comida" (el resultado del programa) sea exactamente la misma.
  • La sensibilidad al "Nombre de la Variable": Los modelos eran sorprendentemente sensibles a los nombres de las variables. Cambiar un nombre de total a suma_total a menudo hacía que fallaran, aunque la lógica del código fuera idéntica. Curiosamente, los humanos también se confunden ligeramente con una mala nomenclatura, pero la reacción de la IA era mucho más extrema.

Los "Mejores Estudiantes" tampoco son perfectos

Los investigadores probaron tanto modelos gratuitos y de código abierto como modelos privados y costosos (como GPT-5.2 y Gemini-3).

  • Los modelos costosos fueron los mejores para obtener la respuesta correcta y ofrecer buenas explicaciones en el código original.
  • Sin embargo, cuando el código se modificó ligeramente, incluso estos "mejores estudiantes" tropezaron gravemente. Su rendimiento cayó significativamente, demostrando que una alta precisión en una prueba estándar no significa que comprendan realmente la lógica subyacente.

La conclusión

El documento concluye que los modelos de IA actuales son frágiles. Son excelentes reconociendo patrones e imitando el razonamiento humano, pero carecen de una comprensión "formal" de cómo funciona realmente el código.

Si les pides que resuelvan un problema de una manera, podrían acertar. Pero si les haces la misma pregunta de una forma ligeramente diferente (aunque el significado sea idéntico), podrían fallar completamente. Esto sugiere que, por ahora, no debemos confiar ciegamente en estos modelos para comprender el código en profundidad; son más como loros muy avanzados que pueden recitar las respuestas correctas pero no siempre saben por qué esas respuestas son correctas.

Los investigadores sugieren que, para hacer que la IA sea realmente fiable para la programación, necesitamos combinar su poder de aprendizaje con reglas estrictas y formales (como un profesor de matemáticas que verifica el trabajo, no solo la respuesta) para asegurar que no estén simplemente adivinando.

¿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.

Probar Digest →