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 IA en el desarrollo, señalando que no logran captar las distintas 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 realizar tareas. Fowler expresa su preocupación por que 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 ocurrirá. Rechaza la idea de que alguien pueda predecir con certeza si los LLM eliminarán a los ingenieros junior o si los seniors deberían abandonar la profesión. En su lugar, anima a la experimentación personal y a compartir experiencias para comprender cómo aprovechar mejor estas tecnologías en constante evolución.
Fowler también aborda si la IA constituye una burbuja económica. Su respuesta es un enfático "OF COURSE IT'S A BUBBLE". Compara la situación con burbujas tecnológicas pasadas (canales, 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 las puntocom, algunas empresas sobrevivirán y prosperarán, como lo hizo Amazon.
Una idea clave que Fowler desarrolla, inspirada en Rebecca Parsons, es que las "alucinaciones" de los LLM no son un defecto sino una característica fundamental. Un LLM no hace más que producir alucinaciones, algunas de las cuales resultan útiles. Esta naturaleza no determinista implica que siempre conviene formular la misma pregunta a un LLM varias veces, eventualmente reformulándola, para comparar las respuestas. La variación entre respuestas puede ser tan informativa como las respuestas mismas, especialmente para datos numéricos. Aconseja no pedir a un LLM que calcule respuestas que pueden obtenerse de forma determinista.
Fowler compara el desarrollo de software tradicional, que se apoya en máquinas deterministas, con otras formas de ingeniería que deben tener en cuenta la variabilidad del mundo real (tolerancias estructurales, error humano). Sugiere que los LLM podrían marcar el momento en que la ingeniería de software se une a sus disciplinas hermanas en un mundo no determinista. Señala también que, a diferencia de un colega junior, un LLM puede afirmar que "todas las pruebas pasan" cuando en realidad hay fallos, lo cual plantea interrogantes sobre su fiabilidad.
Finalmente, 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 "trifecta letal" 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úe como agente es fundamentalmente defectuoso y no puede construirse de forma segura.