Martin Fowler comparte sus reflexiones sobre el impacto de los grandes modelos de lenguaje (LLM) y la inteligencia artificial en el desarrollo de software. Comienza criticando las encuestas actuales sobre la IA en el desarrollo, señalando que no logran dar cuenta de las diferentes formas en que los desarrolladores usan los LLM. La mayor parte del uso se limita al autocompletado, como con Copilot, mientras que los usuarios que obtienen más valor prefieren enfoques que permiten a los LLM leer y editar directamente el código fuente para llevar a cabo tareas. Fowler teme que unos datos de encuesta incompletos puedan orientar a las personas hacia malas prácticas.
En cuanto al futuro de la programación, Fowler admite que no tiene idea de lo que sucederá. Rechaza la idea de que alguien pueda predecir con certeza si los LLM eliminarán a los ingenieros junior o si los ingenieros senior deberían abandonar la profesión. En cambio, anima a la experimentación personal y a compartir experiencias para entender cómo aprovechar mejor estas tecnologías en constante evolución.
Fowler también aborda la cuestión de si la IA es una burbuja económica. Su respuesta es un "OF COURSE IT'S A BUBBLE". Compara la situación con burbujas tecnológicas pasadas (los canales, los ferrocarriles, internet), afirmando que es casi seguro que esta burbuja estallará, arrasando con muchas inversiones. Sin embargo, es imposible predecir cuándo ocurrirá esto y cuánto valor real se habrá generado para entonces. Señala que, al igual que con el estallido de la burbuja de las puntocom, algunas empresas sobrevivirán y prosperarán, como lo hizo Amazon.
Una idea clave desarrollada por Fowler, inspirada en Rebecca Parsons, es que las "alucinaciones" de los LLM no son un fallo, sino una característica fundamental. Un LLM solo produce alucinaciones, algunas de las cuales resultan ser útiles. Esta naturaleza no determinista implica que siempre conviene formular la misma pregunta a un LLM varias veces, posiblemente reformulándola, para comparar las respuestas. La variación en las respuestas puede ser tan informativa como las propias respuestas, especialmente para datos numéricos. Aconseja no pedir a un LLM que calcule respuestas que se pueden obtener de manera determinista.
Fowler compara el desarrollo de software tradicional, que se basa en máquinas deterministas, con otras formas de ingeniería que deben tener en cuenta la variabilidad del mundo (tolerancias estructurales, error humano). Sugiere que los LLM podrían marcar el momento en que la ingeniería de software se une a sus pares en un mundo de no determinismo. Señala también que, a diferencia de un colega junior, un LLM puede afirmar que "todos los tests están en verde" cuando en realidad hay fallos, lo que plantea interrogantes sobre la fiabilidad.
Por último, el artículo destaca el considerable aumento de la superficie de ataque de los sistemas de software provocado por los LLM. Fowler cita a Simon Willison y su "Lethal Trifecta" para los agentes de IA: acceso a datos privados, exposición a contenido no confiable y capacidad de exfiltrar datos. Concluye que el propio concepto de una extensión de navegador que actúa como agente es fundamentalmente defectuoso y no puede construirse de forma segura.