El auge de los Modelos de Lenguaje Grandes (LLMs) está transformando la industria del software, generando debates sobre su uso ético y efectivo. Este artículo explora un enfoque menos discutido: el uso determinista de los LLMs, inspirándose en cómo los matemáticos están abordando el desafío de integrar la IA en sus procesos.
Los LLMs, al ser esencialmente generadores de texto basados en patrones aprendidos, son propensos a 'alucinaciones' o errores sutiles, especialmente peligrosos en contextos como la demostración matemática. Para mitigar esto, los matemáticos están recurriendo a sistemas de demostración formal como Lean, que generan pruebas paso a paso y rigurosas, aunque su uso es complejo. La reciente demostración de un LLM (ChatGPT) de un problema matemático previamente irresoluto, con la ayuda de herramientas como Aristotle (para corregir errores lógicos y convertir la prueba a Lean) y ChatGPT (para formatear la prueba final), ilustra el potencial de combinar LLMs con herramientas deterministas.
En el desarrollo de software, herramientas como Claude Code y Gemini Code Assist ya ofrecen capacidades de 'vibecoding', acercándose al nivel de un desarrollador junior. Sin embargo, a diferencia de los programas informáticos tradicionales, los LLMs no son inherentemente deterministas; su salida varía ligeramente debido a la selección aleatoria de palabras basada en probabilidades. Esto los hace inadecuados para tareas que requieren repetibilidad y fiabilidad, como los despliegues automatizados, donde la consistencia es crucial. Aunque usar un LLM para un despliegue podría ser más rápido inicialmente, la falta de determinismo introduce un riesgo de fallos ocasionales.
El artículo distingue entre tareas únicas (como migraciones de datos) donde el determinismo no es esencial y tareas repetitivas (como la creación de servicios de inicio de sesión o la protección contra ataques de inyección), donde sí lo es. El enfoque determinista se vuelve especialmente valioso en el mantenimiento de estándares de código, donde la aplicación consistente de reglas (como el escape de cadenas para prevenir inyecciones) es fundamental. La clave es aprovechar la capacidad de los LLMs para generar ideas y borradores, pero luego validar y refinar su trabajo con herramientas y procesos deterministas para garantizar la fiabilidad y la consistencia.
