IA aplicada al desarrollo: del código que parece funcionar al resultado comprobado
Volver al blogUn criterio práctico para incorporar inteligencia artificial al desarrollo de software sin delegar decisiones, seguridad ni conocimiento del negocio.
Una empresa necesita exportar sus pedidos a una hoja de cálculo. La aplicación ya permite consultarlos y filtrarlos por fecha, estado y cliente, pero el equipo de administración necesita descargar esa misma selección para trabajar con ella.
Podemos pedirle a una IA que prepare la exportación. Probablemente obtendremos código con rapidez. La pregunta es si exportará los pedidos correctos, respetará los permisos y seguirá funcionando cuando el volumen crezca.
Este ejemplo permite distinguir dónde ayuda la IA y qué trabajo no podemos dar por resuelto porque haya generado una respuesta convincente.
Antes de generar, localizar lo que ya existe
La primera tarea útil no es pedir código nuevo, sino entender cómo funciona la consulta actual.
Podemos utilizar la IA para localizar la pantalla de pedidos, seguir su llamada al servidor e identificar dónde se aplican los filtros y los permisos. También puede ayudarnos a encontrar otras exportaciones del proyecto y explicar qué componentes utilizan.
Ese recorrido proporciona una base para decidir. Si ya existe una consulta que devuelve los pedidos autorizados y filtrados, conviene estudiar cómo reutilizarla. Crear otra consulta independiente para la exportación puede duplicar reglas que después evolucionarán por separado.
La IA facilita la exploración, pero su explicación debe contrastarse con el código. Puede encontrar un método con un nombre adecuado y pasar por alto que ya no se utiliza, o interpretar una comprobación parcial como si cubriera todo el acceso.
El resultado de esta primera fase debería ser un planteamiento revisable: qué piezas se reutilizan, cuáles cambian y qué comportamiento debe conservarse.
Dónde puede ahorrar trabajo
Una vez aclarado el recorrido, la IA puede preparar una primera implementación: añadir la operación de descarga, construir el archivo con las utilidades existentes y conectar el botón de la pantalla.
También puede proponer pruebas para distintos filtros, detectar casos límite y ayudar a documentar las decisiones.
Aquí aporta valor porque trabaja dentro de unos límites concretos. No tiene que inventar cómo representa la aplicación un pedido, qué biblioteca utiliza para generar archivos ni dónde reside la autorización.
Eso no significa que la primera propuesta sea correcta. Significa que tendremos algo concreto que revisar, en lugar de una solución construida sobre supuestos que nadie ha explicado.
Un archivo válido puede contener un resultado incorrecto
Imaginemos que la IA reutiliza la llamada que carga la tabla. La descarga funciona, el archivo se abre y las columnas tienen buen aspecto.
Sin embargo, la tabla muestra los pedidos en páginas de cincuenta registros. Si la exportación conserva esa paginación por error, descargará solo los primeros cincuenta aunque el filtro encuentre doscientos.
También puede interpretar mal el último día del intervalo. Una fecha convertida a medianoche podría dejar fuera los pedidos recibidos durante el resto de esa jornada.
Hay errores menos visibles todavía. El botón puede estar oculto para ciertos usuarios, pero la nueva operación del servidor podría no comprobar sus permisos. Ocultar una opción en pantalla no protege el acceso a los datos.
Ninguno de estos problemas se descubre comprobando únicamente que el archivo se descarga.
Cómo comprobar el resultado
Antes de aceptar la implementación, necesitamos expresar qué esperamos de ella con datos conocidos.
Podemos preparar un conjunto de prueba con pedidos de distintos clientes, estados y fechas, incluyendo algunos justo en los límites del intervalo. También necesitamos más registros de los que caben en una página y usuarios con permisos diferentes.
Con esa base, las comprobaciones tienen un resultado concreto:
- La exportación incluye todos los pedidos que cumplen los filtros, no solo la página visible.
- Los pedidos de fuera del intervalo quedan excluidos y los límites se comportan según el criterio acordado.
- Cada usuario obtiene únicamente los datos que puede consultar, aunque solicite la descarga directamente al servidor.
- Los importes, fechas y referencias conservan el significado esperado al abrir el archivo.
- La consulta habitual y su paginación siguen funcionando después del cambio.
La IA puede ayudar a escribir estas pruebas. Lo que no conviene es dejar que deduzca el resultado esperado exclusivamente de su propia implementación. Si ha entendido mal el requisito, puede generar una prueba que confirme precisamente ese error.
La referencia debe ser el comportamiento acordado, no el código recién producido.
Revisar también el coste de la solución
Superar las pruebas funcionales no resuelve todas las preguntas. Una exportación que funciona con cien pedidos puede consumir demasiada memoria con un volumen mucho mayor.
Hay que comprobar cómo obtiene los datos, si realiza consultas innecesarias y si respeta los límites operativos de la aplicación. Según el volumen previsto, una descarga inmediata puede ser suficiente o puede hacer falta otro mecanismo. No tiene sentido añadir complejidad por anticipado, pero tampoco ignorar las condiciones reales de uso.
La propuesta de la IA es una contribución al proyecto y debe revisarse como cualquier otra: reutilización, claridad, seguridad, dependencias e impacto en lo que ya funciona.
El valor está en cerrar bien la tarea
En este caso, la IA puede reducir el trabajo de exploración, preparar código repetitivo y ampliar las comprobaciones que consideramos. Puede ser una ayuda importante.
Pero el resultado no es «hemos generado una exportación». Es que administración puede descargar la selección correcta, con sus permisos, sin perder pedidos ni alterar el funcionamiento existente.
Esa diferencia marca una forma útil de incorporar IA al desarrollo: aprovechar su capacidad para avanzar, manteniendo criterios independientes para decidir si el trabajo está bien terminado.