No pierdas los dedos con la IA
La IA es una herramienta poderosa. ¿Y qué ocurre cuando un novato utiliza una de estas? ¡Qué puede perder los dedos!
A mi abuelo le faltaba un dedo.
Como muchos niños de la España pobre del siglo pasado, tuvo que trabajar desde bien pequeño. En uno de esos empleos, en una carnicería, un descuido con una cortadora mecánica le costó media falange del índice derecho.
El tío Bob
Robert C. Martin, Uncle Bob en Internet, es un reconocido ingeniero de software. Firmante original del manifiesto ágil, Martin también ha sido un prolífico autor y creador de una serie de cursos de programación en Internet bastante peculiares bajo la marca Clean Coder. La marca bebía del éxito de su libro, Clean Code, uno de los libros imprescindibles que tenías que leer allá por principios de los 2000 si es que te querías considerar ingeniero.
Recientemente, Martin ha comenzado a publicar una serie de vídeo tweets cortos, estilo Tiktok, en los que comenta temas polémicos alrededor del mundo de la programación. Hace unos días publicó uno sobre el uso de la IA que me recordó la historia de mi abuelo.
En el vídeo, compara el uso de la IA con una potente herramienta de trabajo. En buenas manos, esa herramienta hace ser muy productivo a alguien que sepa utilizarla. Pero, ¿qué ocurre cuando un novato sin experiencia utiliza una de estas? ¡Que puede perder los dedos!
Los peligros de programar con la IA siendo un júnior
Si los incidentes en producción por el uso de la IA terminaran con dedos amputados, el año que viene en Halloween el disfraz más popular sería el del Capitán Garfio.
Un ejemplo reciente en España lo tuvimos en el millonario empresario argentino Martin Varsavsky. Hace unos meses, al calor de la aparición de las primeras herramientas de vibe coding y en pleno apogeo del DOGE de Elon Musk, decidió lanzarse a programar una aplicación ciudadana para denunciar despilfarros en la administración pública.
La web era funcional, pero también un pozo de agujeros de seguridad, hasta el punto de que un usuario de Github le hizo un pull request para eliminar la contraseña escrita en claro del repositorio público.
La seguridad es precisamente uno de los puntos débiles de los LLMs. Un estudio de OpenAI reveló como, si bien un agente es capaz de encontrar un bug fácilmente, no lo es tanto para identificar la causa raíz y solucionar el problema, creando en muchos casos soluciones parciales o directamente fallidas.
“Agents excel at localizing, but fail to root cause, resulting in partial or flawed solutions,” the report explains. “Agents pinpoint the source of an issue remarkably quickly, using keyword searches across the whole repository to quickly locate the relevant file and functions — often far faster than a human would. However, they often exhibit a limited understanding of how the issue spans multiple components or files, and fail to address the root cause, leading to solutions that are incorrect or insufficiently comprehensive. We rarely find cases where the agent aims to reproduce the issue or fails due to not finding the right file or location to edit.”
Viendo lo que viene, dan ganas de ponerse largo en empresas de ciberseguridad. Desde luego, no les va a faltar trabajo en el corto plazo.
La lista de libros que no existían
El mal uso de la Inteligencia Artificial no sólo va a dejar amputados en el mundo tecnológico. Como muestra, un ejemplo de la semana pasada, donde el segundo periódico más importante de Chicago publicó una lista de libros recomendados para el verano. Sólo había un pequeño problema, 10 de los 15 títulos no existían.
Según leemos en NPR, El editor del Chicago Sun-Times reconoció que no habían revisado la lista, por proveer de otro medio colaborador, asumiendo por error que ya vendría revisada. El autor de la lista, en declaraciones al medio independiente 404 Media reconoció haber utilizado la IA para generar la lista y asumió toda la culpa.
Casos de uso equivocados
Uno de los problemas que tienen las herramientas generalistas como la Inteligencia Artificial es que podemos llegar a pensar en aplicarla a todos los ámbitos. Sin embargo, estaremos de acuerdo que dada la tendencia a alucinar de los modelos del lenguaje actuales, hay ciertos campos como la salud para los que quizás no sea la mejor solución posible.
Eso no frenó, sin embargo, a la Agencia Española de Medicamentos y Productos Sanitarios, entidad pública que hace dos semanas anunció MeQA, una plataforma basada en Inteligencia Artificial para que los ciudadanos pudieran hacer consultas sobre medicamentos en lenguaje natural.
Pese al optimismo de la Agencia y la consultora que desarrolló el producto, la aplicación, oh sorpresa, tuvo que ser retirada sólo cinco días después de su presentación oficial.
Conclusiones
Como mi abuelo cuando decidió acercarse a aquella cortadora, la realidad es que muy pocos de nosotros estamos preparados para utilizar herramientas tan potentes con confianza. Si bien las consecuencias no son tan evidentes como la pérdida de un miembro, el daño en forma de incidentes de seguridad o incluso riesgos generales para la población derivados de un mal uso de la inteligencia artificial en aplicaciones críticas, puede ser importante.
La inteligencia artificial, a día de hoy, requiere supervisión humana experta. Los modelos del lenguaje actuales pueden generar código inseguro y poco fiable. La revisión de un humano que entienda las implicaciones de los cambios sugeridos por la IA es, a día de hoy, imprescindible,
Acierta Microsoft en su posicionamiento de marca con Copilot. El mejor modelo mental para entender cómo la IA puede ayudarnos es el de un copiloto que nos ayuda a mejorar. Pero el piloto sigue siendo el humano. Y el humano no puede ceder el volante a la IA si no quiere perder los dedos.
Concienciar en la seguridad y mantenibilidad del producto (co)desarrollado con IA es esencial.
Además de esto, y de lo que vayan mejorando las IAs en sí mismas, también es importante desarrollar buenas prácticas para desarrollo sólido y seguro con IA. P.e. los agentes pueden ayudarte con las peer reviews de tu código, o incluso pedirle a uno que haga el PR de lo que haga el otro.