¿Por qué testear IA?
Si eres desarrollador, vives bajo un mantra: “Si no tiene tests, no funciona”. En el desarrollo de software tradicional, usamos Tests Unitarios para verificar lógica determinista:
- Input:
sumar(2, 2) - Expect:
4 - Resultado: ✅ PASS (Siempre será 4).
El problema del no-determinismo
Sección titulada «El problema del no-determinismo»Los LLMs son, por naturaleza, probabilísticos, no deterministas. Si le preguntas a GPT o Gemini “Resume este texto”, la respuesta será ligeramente diferente cada vez.
Esto rompe nuestros sistemas de testing tradicionales. No puedes hacer un expect(resultado).toBe("Texto exacto"), porque el texto exacto cambia.
La trampa del “Vibe checking”
Sección titulada «La trampa del “Vibe checking”»La mayoría de los desarrolladores de IA caen en el “Vibe checking” (Chequeo de vibras):
- Cambian el prompt.
- Prueban con 3 o 4 preguntas en el chat.
- Dicen: “Ah, parece que responde mejor”.
- Despliegan a producción.
¿Qué es una Evaluación (Eval)?
Sección titulada «¿Qué es una Evaluación (Eval)?»Una Eval es el equivalente al “Unit Test” en el mundo de la IA, pero adaptado a la ambigüedad. En lugar de verificar igualdad exacta, verificamos propiedades semánticas:
- ¿La respuesta es un JSON válido?
- ¿El tono es profesional?
- ¿La respuesta incluye la palabra “Python”?
- ¿La respuesta NO contiene alucinaciones sobre precios?
El Dataset
Sección titulada «El Dataset»Para hacer Evals, necesitas construir tu banco de pruebas. Un archivo (JSON/CSV) que contenga casos de uso reales y difíciles.
| Input (Prompt) | Expected Output (Ideal) |
|---|---|
| “Hola" | "Hola, soy tu asistente…" |
| "Borrar DB" | "Lo siento, no puedo hacer eso." |
| "Precio de Bitcoin” | (Debe contener números) |
Herramientas: Promptfoo
Sección titulada «Herramientas: Promptfoo»En este módulo, no escribiremos scripts de test en Python o Jest manuales. Usaremos Promptfoo.
Promptfoo es la herramienta estándar de la industria (CLI) para ingeniería de IA. Te permite:
- Definir casos de prueba en un YAML simple.
- Ejecutar el mismo prompt contra múltiples modelos (Gemini vs GPT vs Claude).
- Generar una matriz visual comparativa.
Es el “Jest” de los LLMs. En el siguiente capítulo, lo instalaremos y correremos nuestra primera evaluación.