La inteligencia artificial podría escribir el código y los programadores pasarían a supervisar el software

EmailFacebookTwitterLinkedinPinterest
Inteligencia artificial y programación

Lectura fácil

Durante décadas, aprender a programar ha significado una cosa muy concreta: convertir ideas en instrucciones que un ordenador pudiera ejecutar. Esa labor ha sustentado aplicaciones, plataformas web, sistemas operativos y buena parte de la tecnología cotidiana. Ahora, sin embargo, el modo en que se construye el software podría estar a punto de transformarse de forma profunda. La inteligencia artificial ya es capaz de crear funciones completas, corregir fallos y generar programas a partir de descripciones escritas, y algunos expertos creen que escribir código a mano podría dejar de ser la actividad central del desarrollo en un plazo muy corto.

La advertencia más llamativa procede de Prakash Narayanan, experto en inteligencia artificial. Según su predicción, la programación manual podría quedar relegada a un segundo plano en apenas dos años. No se trata necesariamente de que los desarrolladores desaparezcan, sino de que su trabajo se desplazaría: en lugar de teclear cada instrucción, se ocuparían de establecer objetivos, supervisar sistemas automáticos y comprobar que el resultado final hace exactamente lo que se espera de él.

Del código a las especificaciones a la inteligencia artificial

El razonamiento detrás de esta idea se apoya en una disciplina conocida como verificación formal. Su objetivo es definir, con rigor matemático, qué debe hacer un programa antes de construirlo o revisarlo. Después, se comprueba que el software cumple esas reglas. En otras palabras, el punto de partida ya no sería el código, sino una descripción precisa del comportamiento esperado.

Esta visión fue defendida durante un debate en el que participaron Everett Hildenbrandt, director ejecutivo de Runtime Verification, y el profesor Grigore Roșu. Su planteamiento es que estas técnicas podrían convertirse en una pieza esencial del desarrollo durante los próximos años. Bajo ese modelo, el desarrollador definiría primero las reglas del sistema; después, herramientas automatizadas y modelos de inteligencia artificial generarían el software y lo comprobarían contra esas especificaciones.

El cambio conceptual es importante. Hoy, gran parte del esfuerzo profesional se dedica a escribir código y, posteriormente, a buscar errores mediante pruebas y revisiones. En el escenario que plantean los defensores de la verificación formal, el orden se invierte: primero se establece con precisión qué debe hacer la aplicación y luego se verifica automáticamente que la implementación se ajusta a ello. Runtime Verification describe este enfoque como la definición previa de invariantes, es decir, propiedades que deben cumplirse siempre, antes de tocar el código.

Un ejemplo tomado de Linux

Uno de los argumentos utilizados para respaldar esta tesis proviene del kernel de Linux, el núcleo que gestiona recursos fundamentales en muchos sistemas. Según explicó Runtime Verification, un defecto relacionado con la gestión de identidades fue detectado durante la fase de creación de especificaciones, no durante una revisión tradicional del código.

Para quienes impulsan esta metodología, el caso ilustra una idea sencilla pero potente: definir correctamente lo que un sistema debe hacer puede ser tan importante como escribir el código que lo hace funcionar. Si el error se identifica en la fase de especificación, se puede corregir antes de que llegue a la implementación, reduciendo el riesgo de que un fallo pase desapercibido hasta producción.

La verificación formal no es una idea nueva, pero la irrupción de la inteligencia artificial le da una relevancia nueva. Si los modelos generan una proporción creciente del código, la pregunta clave deja de ser únicamente si el programa funciona, sino si hace lo correcto. Runtime Verification sostiene precisamente que los métodos formales pueden servir para definir ese estándar de corrección y comprobar después todo lo demás contra él.

Si la IA genera buena parte del código y las pruebas matemáticas validan automáticamente su comportamiento, la habilidad de escribir programas línea por línea perdería peso progresivamente. Narayanan considera que los profesionales dedicarán menos tiempo a redactar instrucciones manualmente y más tiempo a tareas de dirección y control: definir objetivos, revisar lo que producen los sistemas automáticos y validar que los resultados cumplen los requisitos.

Eso no implica que el conocimiento técnico deje de importar. Para especificar bien un sistema, detectar ambigüedades, entender riesgos de seguridad o juzgar si una solución generada por inteligencia artificial es adecuada, seguirá siendo necesario comprender cómo funciona el software. La diferencia es que la destreza más valiosa podría desplazarse desde la escritura de código hacia el diseño de reglas, la supervisión y la validación.

Una predicción todavía abierta

Aun así, conviene prudencia. Las predicciones sobre la desaparición de tareas técnicas han acompañado al avance de la inteligencia artificial durante años, y muchas no se han cumplido en los plazos anunciados. La afirmación de Narayanan ha reavivado el debate sobre el futuro de la programación, pero sigue siendo una hipótesis sobre una transformación que apenas comienza.

Lo que sí parece claro es que el desarrollo de software está entrando en una etapa distinta. Saber programar podría significar cada vez menos teclear instrucciones y cada vez más dirigir sistemas capaces de producir código por sí mismos. El reto ya no será solo construir la aplicación, sino garantizar, con precisión y antes de que sea tarde, que hace exactamente lo que debe hacer.

Añadir nuevo comentario