Alucinaciones
Ahora que entiendes cómo funcionan los modelos de IA, hablemos de algo que desconcierta a muchos desarrolladores cuando empiezan a usar herramientas de IA: las alucinaciones.
Una alucinación ocurre cuando un modelo de IA genera con seguridad información que parece plausible, pero que en realidad es incorrecta. Es como cuando alguien intenta aparentar que sabe sobre un tema que en realidad no conoce.
¿Por qué los modelos alucinan?
¿Recuerdas que dijimos que los modelos de IA predicen el siguiente token basándose en los patrones que han aprendido? A veces, esos patrones los llevan por mal camino.
Piensa en estos modelos como un autocompletado de texto extremadamente potente. Si escribes "El tiempo hoy está...", tu teléfono podría sugerir "soleado" o "nublado" basándose en patrones comunes. Los modelos de IA hacen lo mismo, pero con conceptos completos y bloques de código.
Cuando un modelo de IA no sabe algo, no siempre dice "No lo sé". En su lugar, genera lo que parece más probable según los patrones que ha visto. En programación, esto podría significar:
- Inventar métodos de API que parecen plausibles pero que en realidad no existen
- Confundir la sintaxis de distintas bibliotecas o frameworks de programación
- Crear opciones de configuración que parecen razonables pero no existen
Los proveedores de modelos de IA usan grandes cantidades de texto de internet (y otros datos propietarios) para entrenar los modelos hasta una fecha llamada «límite de conocimiento». Esta fecha indica cuál es la información más reciente que conocen los modelos. Los modelos de IA pueden sugerir soluciones incorrectas si preguntas por bibliotecas creadas después de esa fecha.
¿Cuál es la mejor respuesta inmediata ante un método de API que probablemente sea una alucinación?
Alucinaciones en el mundo real
Veamos algunos ejemplos reales de alucinaciones con las que se encuentran los desarrolladores.
El primero es una importación aparentemente correcta, pero inexistente, desde un paquete.
// La IA sugiere:import { debounce } from "react";// En realidad, React no exporta debounce.// Necesitas lodash o implementar tu propia funciónEl segundo es un método falso pero convincente en una clase:
# La IA sugiere:df.remove_outliers(threshold=3)# En realidad, los DataFrames de pandas no tienen este método# Debes implementar tú mismo la eliminación de valores atípicosY, por último, un archivo de configuración casi correcto:
// La IA sugiere para package.json:{ "type": "module", "exports": "./index.js", "browser": true // <- ¡Esto no es válido!}A medida que trabajes más con modelos de IA, aprenderás a detectar alucinaciones.
Conviene desconfiar de los resultados que devuelve el modelo y verificar de forma independiente sus sugerencias. Una forma de facilitarlo es configurar el entorno de tu editor o aplicación para que te proporcione información.
Por ejemplo, en Cherri Code, una instrucción import incorrecta debería mostrar un error indicando que la importación no existe, que luego puede enviarse al modelo de IA como información.
Otras limitaciones de los modelos
Los modelos también pueden sugerir con seguridad una respuesta incorrecta.
Podrías recibir una respuesta que diga «¡Tienes toda la razón!» cuando, en realidad, no la tenías. Además, algunos modelos tienen dificultades con tareas en las que el software determinista es excelente, como generar números realmente aleatorios o contar cuántas veces aparece un carácter en una palabra.
Pero incluso con alucinaciones y limitaciones, los modelos de IA siguen siendo increíblemente útiles.
La clave para trabajar eficazmente con IA es desarrollar una mentalidad de verificación. Cada sugerencia es un punto de partida, no una respuesta final. Puede parecer trabajo adicional, pero en realidad te convierte en mejor desarrollador al obligarte a entender qué hace el código en lugar de limitarte a copiarlo.
A lo largo de este curso, sugeriremos enfoques que puedes adoptar para mejorar la calidad del código generado y trabajar adecuadamente con modelos de IA.
Antes de hablar sobre cómo podemos interactuar con los modelos, necesitamos entender mejor cómo piensan y cómo se fijan sus precios. Profundicemos en ello en la próxima lección.