Ir al contenido

LLM-as-a-Judge

Las aserciones de código (contains, is-json) son rápidas y baratas, pero ciegas ante los matices humanos. Un script no puede saber si un chiste es gracioso o si un tono es “pasivo-agresivo”.

Para esto usamos Model-Graded Assertions (Aserciones Graduadas por Modelo), también conocido como LLM-as-a-Judge.

En lugar de escribir un if/else, le damos a un LLM “Juez” una rúbrica:

Rol: Eres un experto en atención al cliente.
Tarea: Evalúa la siguiente respuesta de un chatbot.
Criterio: ¿La respuesta ofrece una disculpa sincera antes de dar la solución técnica?
Salida: Devuelve true o false.

Vamos a probar si nuestro bot es capaz de explicar conceptos complejos de forma sencilla (técnica ELI5 - Explain Like I’m 5).

  1. Edita tu configuración

    Abre ai-tests/promptfooconfig.yaml y agrega este nuevo test case.

    Observa el tipo llm-rubric.

    promptfooconfig.yaml
    # ... (configuración anterior)
    prompts:
    - "Explícame qué es {{concept}} como si tuviera 5 años."
    tests:
    - vars:
    concept: "La Computación Cuántica"
    assert:
    # Aserción Semántica (El Juez)
    - type: llm-rubric
    value: "La explicación debe usar una analogía con objetos cotidianos (juguetes, comida) y NO usar jerga técnica."
  2. Define el Juez (Opcional)

    Por defecto, Promptfoo usará el modelo que definas como default. Para forzar que el juez sea Gemini 3 Pro (más potente que el Flash que estamos probando), puedes configurar:

    defaultTest:
    options:
    provider: google:gemini-3-pro # El Juez
  3. Ejecuta el Test

    Ventana de terminal
    npx promptfoo eval

Cuando corras el test, pasará algo fascinante en segundo plano:

  1. Promptfoo llama a tu modelo (Gemini Flash) con el prompt.
  2. Gemini Flash responde: “Imagina que tienes una moneda mágica que puede ser cara y cruz al mismo tiempo…”.
  3. Promptfoo toma esa respuesta y se la envía al Juez junto con tu rúbrica.
  4. El Juez analiza y decide: “Sí, usó una analogía de moneda mágica. Pasa el test.”.


¡Felicidades! Ahora tienes un pipeline de CI/CD para IA.

  1. Promptfoo para correr tests masivos.
  2. Code Assertions para validar estructura y contratos.
  3. LLM-as-a-Judge para validar calidad humana.

Ya no eres un “Prompt Engineer” que adivina; eres un AI Engineer que mide.