Por qué la inteligencia artificial aún no sabe depurar su propio código

Publicado el

Ilustración surrealista y minimalista de una inteligencia artificial intentando depurar errores de código. Un robot pensativo frente a una computadora con símbolos de error flotantes, sobre fondo blanco. Representa las limitaciones actuales de la IA en programación.

La idea de que la inteligencia artificial reemplazará a los programadores humanos ha sido repetida con entusiasmo en los últimos años. Con herramientas como GitHub Copilot y otras plataformas que generan código automáticamente, muchos han llegado a pensar que el desarrollo de software pronto será cosa de máquinas. Pero una nueva investigación de Microsoft Research pone los pies en la tierra: la IA todavía no sabe cómo depurar su propio código de manera efectiva.

El reto oculto: más allá de escribir código

Crear código funcional es una parte importante del trabajo de un desarrollador, pero no es la única. Una de las tareas más complejas y rutinarias en el mundo de la programación es la depuración, es decir, identificar errores y corregirlos. En esto, los humanos llevan la delantera, por mucho.

El estudio de Microsoft señala que las herramientas actuales basadas en IA pueden sugerir fragmentos de código con bastante eficiencia. Sin embargo, fallan al enfrentar situaciones en las que ese código no funciona como se esperaba. ¿Por qué? Porque no saben cómo buscar activamente información, adaptarse al contexto del error ni interactuar con las herramientas necesarias para resolverlo.

Imagina que un electricista instala un interruptor, pero al ver que la luz no enciende, simplemente prueba otra instalación diferente sin revisar el cableado, ni usar un multímetro. Así de limitado es el comportamiento de muchas IAs actuales al momento de depurar: proponen una solución tras otra, pero sin entender realmente el problema.

¿Qué es debug-gym y por qué es importante?

Para estudiar esta brecha, Microsoft creó una herramienta llamada debug-gym. Este entorno simula condiciones reales de trabajo, permitiendo que agentes de IA interactúen con proyectos de software complejos usando herramientas similares a las que emplea un desarrollador humano. El objetivo es ver si la IA puede aprender a seguir un proceso similar al humano: identificar el problema, buscar información relacionada, hacer pruebas, y luego aplicar una solución.

Al probar un agente de IA dentro de debug-gym, los resultados fueron mixtos. Si bien logró resolver algunos errores, no superó el 50% de éxito en los escenarios propuestos. Y eso, teniendo acceso a todas las herramientas necesarias. Esto demuestra que la capacidad de razonamiento paso a paso –lo que en informática se llama “toma de decisiones secuencial”– aún no está bien representada en los modelos actuales.

El problema está en los datos de entrenamiento

Uno de los hallazgos más importantes del estudio es que los grandes modelos de lenguaje (LLMs) como los usados en la mayoría de herramientas de IA no han sido entrenados con suficientes ejemplos reales de sesiones de depuración.

Es decir, cuando estas IAs aprenden a programar, lo hacen viendo millones de líneas de código… pero no cómo se arregla un fallo cuando ese código no funciona. Les falta ese proceso mental de ir probando, mirando errores, y adaptándose según el contexto.

Es como aprender a cocinar viendo recetas, pero sin haber visto nunca a alguien quemar un pastel y tener que salvarlo con un cambio de último minuto. La experiencia del error es clave para mejorar, y eso es precisamente lo que le falta a la IA.

La solución: entrenar para buscar información

Microsoft propone una estrategia interesante: entrenar modelos específicos que actúen como “buscadores de contexto”. En lugar de solo generar código, estos modelos estarían dedicados a explorar el entorno, recoger datos relevantes sobre el fallo y luego alimentar a otro modelo encargado de corregir el error.

Este enfoque por capas imita cómo trabajan los humanos: un desarrollador primero investiga el problema (leyendo documentación, revisando logs, haciendo pruebas) y luego propone una solución basada en esa información.

Con suficiente entrenamiento y ejemplos reales, es posible que en el futuro la IA pueda replicar esta habilidad. Pero por ahora, estamos lejos de eso.

Lo que esto significa para el futuro del desarrollo

Aunque algunas demostraciones de IA han sido sorprendentes —creando pequeñas aplicaciones funcionales desde cero—, el código que producen suele tener errores ocultos o vulnerabilidades de seguridad. Esto hace que las herramientas actuales sirvan más como asistentes que como reemplazos.

La conclusión de la investigación de Microsoft es clara: la IA puede ser útil, pero todavía no puede manejar la complejidad del ciclo completo de desarrollo. Mientras no sepa depurar eficazmente, seguirá necesitando del criterio y la experiencia de los desarrolladores humanos.

En lugar de pensar en una sustitución total, lo más realista es imaginar una colaboración: la IA propone ideas y sugiere soluciones, mientras que el humano decide qué usar, cómo ajustarlo y cómo corregirlo. Como un copiloto que ayuda a conducir, pero que aún no sabe qué hacer si se pincha una rueda.