Simulating Students' Java Programming Errors with Large Language Models
Este artículo demuestra que los modelos de lenguaje extensos, particularmente Claude Sonnet 4, pueden simular eficazmente errores de programación en Java diversos y realistas de estudiantes, ofreciendo una alternativa escalable a la recopilación de entregas auténticas para la investigación educativa y los sistemas de tutoría inteligente.
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 eres un profesor intentando prepararte para una clase importante de programación. Sabes que tus alumnos cometerán errores, pero no puedes predecir exactamente cuáles serán esos errores hasta que realmente impartas la clase y recojas sus tareas. Este es un proceso lento y costoso.
Este artículo plantea una pregunta sencilla: ¿Podemos usar una IA superinteligente (un Modelo de Lenguaje Grande, o LLM) para que finja ser un estudiante confundido y genere esos errores por nosotros de antemano?
Aquí está el desglose de su experimento, explicado con analogías de la vida cotidiana.
El Objetivo: La prueba del "Estudiante Falso"
Los investigadores querían ver si una IA podía escribir código Java que pareciera escrito exactamente por un estudiante principiante, específicamente, código que tuviera errores lógicos.
- Errores lógicos: Son como escribir una receta que dice "añadir sal al gusto" pero olvidar añadir la sal realmente. La computadora ejecuta el código, pero el resultado es incorrecto porque el razonamiento fue erróneo.
- El Desafío: Si solo le pides a una IA que "escriba código", normalmente escribe código perfecto. Si le pides que "rompa el código", a menudo comete errores aleatorios y tontos (como poner una coma donde debería ir un punto) que los estudiantes reales no cometen realmente. El objetivo era hacer que la IA cometiera errores realistas.
El Experimento: La "Prueba del Gusto"
Los investigadores tomaron 37 problemas de programación diferentes de una clase real (CodeWorkout). Hicieron que cinco modelos de IA diferentes intentaran resolver estos problemas, pero utilizaron tres "estilos de instrucción" (prompts) diferentes para intentar forzar a la IA a cometer errores:
- Orden Directa (IO): "Aquí está el problema, dame una respuesta incorrecta".
- Pensar en Voz Alta (CoT): "Piensa en los pasos, decide dónde podrías fallar y luego escribe el código incorrecto".
- Bucle de Autocorrección (Self-Refine): "Escribe una respuesta incorrecta, luego critícala, luego arréglala ligeramente para que sea un otro tipo de respuesta incorrecta".
Luego compararon los "errores falsos" de la IA contra 74,000 errores reales cometidos por estudiantes reales.
Las Dos Reglas Principales para un Falso Bueno
Para ser útil, los errores falsos de la IA tenían que pasar dos pruebas:
- Diversidad (La Prueba de la Variedad): ¿Cometió la IA muchos tipos diferentes de errores, o simplemente repitió el mismo error una y otra vez? (Imagina a un chef intentando hacer 10 tipos diferentes de galletas quemadas. Si todas se ven exactamente iguales, eso no es muy diverso).
- Alineación (La Prueba de la "Realidad"): ¿Se parecían los errores de la IA a algo que un humano realmente haría? (Si la IA escribe código que es incorrecto de una forma en la que un humano nunca pensaría, no es un buen simulador).
Lo Que Encontraron
1. La IA puede cometer errores, pero no todas las IA son iguales
Todos los modelos de IA pudieron generar una variedad de errores. Sin embargo, algunos fueron mejores que otros.
- Gemini 2.5 Pro era como un artista caótico: hacía una enorme variedad de errores (alta diversidad), pero muchos de ellos eran extraños y no se parecían a los errores de estudiantes reales.
- GPT-4o era como un estudiante cauteloso: cometía errores muy similares una y otra vez (baja diversidad).
- Claude Sonnet 4 fue el "Punto Medio" (Goldilocks) del grupo. Encontró el mejor equilibrio. Hacía suficientes tipos diferentes de errores, pero también eran muy cercanos a lo que los estudiantes reales realmente escriben.
2. El truco de "Pensar en Voz Alta" ayudó
Cuando los investigadores le dijeron a la IA que "pensara paso a paso" antes de escribir el código (Cadena de Pensamiento o Chain-of-Thought), los errores se volvieron más realistas. Era como si la IA estuviera simulando el proceso de un estudiante confundiéndose, en lugar de simplemente romper el código de forma aleatoria.
3. El factor de "Dificultad"
Los investigadores observaron qué tan "difícil" era un problema (basándose en cuántas veces los estudiantes intentaron resolverlo).
- Problemas Fáciles: La IA hizo un gran trabajo imitando a los estudiantes.
- Problemas Difíciles: A medida que los problemas se volvían más difíciles, los errores de la IA se volvieron más diversos (intentaba muchos caminos erróneos diferentes), pero se volvieron menos parecidos a los de los estudiantes reales. Es como un actor novato tratando de interpretar una escena compleja; pueden intentar muchas interpretaciones diferentes, pero ninguna captura realmente el matiz de una actuación humana real.
4. La "Prueba de Degustación a Ciegas" (Expertos Humanos)
Los investigadores contrataron a expertos humanos para que examinaran una mezcla de código de estudiantes reales y código generado por IA. Los expertos no sabían cuál era cuál.
- El Resultado: Los expertos fueron engañados el 83.7% de las veces. Pensaron que el código de la IA había sido escrito por un humano.
- El Giro: Los expertos calificaron de hecho los errores de la IA como más plausibles (más realistas) que los errores de los estudiantes reales. ¿Por qué? Porque la IA cometía errores "limpios" (como un error clásico de libro de texto), mientras que los estudiantes reales suelen cometer errores desordenados y complicados con múltiples errores a la vez. La IA era como un estudiante confundido "idealizado", mientras que los estudiantes reales son más desordenados.
La Conclusión Final
Este artículo demuestra que la IA puede actuar como un "sustituto" de los estudiantes para generar errores de programación realistas.
- Claude Sonnet 4 es actualmente el mejor "simulador de estudiante".
- Los problemas más difíciles hacen que la IA sea más creativa pero menos precisa respecto al comportamiento humano real.
- El Intercambio (Trade-off): Puedes tener una IA que cometa una gran variedad de errores, o una que cometa errores muy realistas, pero es difícil lograr ambas cosas perfectamente al mismo tiempo.
Los investigadores sugieren que esto es una herramienta poderosa para profesores y desarrolladores de software educativo. En lugar de esperar años para recolectar miles de errores de estudiantes reales para entrenar sus sistemas, pueden usar estos errores "falsos" para construir mejores herramientas de tutoría y ayudar a los profesores a anticipar dónde podrían estancarse los estudiantes.
¿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.