Para tareas con respuesta única, evaluás con checks deterministas (regex, JSON parse, etc.). Para tareas abiertas. generación, resumen, respuestas RAG. no hay una sola respuesta correcta. Necesitás un evaluador que entienda calidad.
El LLM-judge es eso: un LLM con un system prompt cuidadosamente diseñado que evalúa outputs de otro LLM contra criterios que vos defínís.
Es meta. Sí. Estás usando un LLM para evaluar un LLM. Funciona porque los criterios de calidad (¿está bien fundamentado? ¿cita fuentes? ¿reconoce sus límites?) son más fáciles de juzgar que de generar.
Escribí el system prompt del judge para evaluar el generate del RAG. Cuatro criterios:
grounded. boolean. ¿La respuesta se basa en los snippets?cites_sources. boolean. ¿Cita las fuentes?acknowledges_gaps. boolean. ¿Reconoce cuando no tiene info?clarity. 1-5 con anchors.Más un campo rationale explicando los veredictos.
Un judge sin rationale es una caja negra. Un judge con rationale es debugueable. Cuando calibrás contra humanos, el rationale te dice por qué falló. para que ajustés el system prompt en la dirección correcta.
6 criterios LLM-judge sobre tu system prompt:
grounded con criterio concreto.cites_sources claramente.acknowledges_gaps con la regla "si no hay info, decilo".clarity con anchors.rationale en el output.