Desarrolladores / JevModel
LLM-as-a-judge: prompts libres, puntuación con rúbrica o un juez tipado con abstención
Cómo usar un LLM como juez de salidas de IA: prompts libres vs rúbricas vs jueces tipados Score y sí/no, sesgo de posición y verbosidad, calibración con labels humanos y cuándo no usar un juez.
Última actualización:
Respuesta breve: un juez es un clasificador que también hay que evaluar
- LLM-as-a-judge significa pedir a un modelo de lenguaje que califique la salida de otro sistema—aprobado/suspenso, un nivel de rúbrica o cuál de dos respuestas es mejor—para evaluar más salidas de las que las personas pueden leer.
- Los jueces tienen sesgos documentados: pueden preferir la primera respuesta mostrada, las más largas y las de su propio estilo. Intercambia posiciones, escribe criterios neutros respecto a la longitud y usa un modelo distinto del evaluado.
- Confía en un juez solo tras comprobar que coincide con labels humanos en tu propia muestra. Un juez tipado—Score de JevModel para niveles ordenados de rúbrica y Noul para una probabilidad sí/no—permite devolver a personas las notas inciertas en lugar de promediar conjeturas.
¿Qué es LLM-as-a-judge y qué mide realmente?
LLM-as-a-judge es un patrón de evaluación: un modelo lee una tarea, la salida del sistema evaluado y a veces una respuesta de referencia, y devuelve una nota. La investigación que dio nombre al patrón (Zheng et al., 2023, “Judging LLM-as-a-Judge with MT-Bench and Chatbot Arena”) describe tres formas: comparación por pares, calificación de una sola respuesta y calificación guiada por referencia. Sea cual sea la forma, un juez mide la concordancia con los criterios que escribiste, interpretados por otro modelo. No mide verdad, satisfacción del usuario ni resultado de negocio salvo que tus criterios y labels humanos se conecten con ello. Por eso el juez debe evaluarse como cualquier clasificador. Esta página trata de juzgar otras salidas de IA—respuestas de chatbot, resúmenes, respuestas RAG, pasos de agentes. Para evaluar un workflow de JevModel con labels, ver evaluation.
Evaluate a Jev workflowPrompts de juez libres vs puntuación con rúbrica vs juez tipado
Las tres opciones difieren sobre todo en la estabilidad de la salida y en si la incertidumbre es visible. Los prompts libres arrancan rápido; las rúbricas hacen comparables las notas entre ejecuciones; un juez tipado añade un schema fijo y probabilidades con umbral. La comparación trata de compromisos de ingeniería, no de un ranking de modelos juez.
Choice, Score, and NoulJev vs GPT and Claude: choosing a decision layer| Dimensión | Prompt de juez libre | Rúbrica (1–5, etc.) | Juez tipado (JevModel Score/Noul) |
|---|---|---|---|
| Salida | Veredicto en prosa que hay que parsear | Un número, a menudo con explicación | Un valor Score sobre tus niveles ordenados o una probabilidad Noul sí/no de 0 a 1 |
| Riesgo principal | Los criterios cambian en silencio entre ejecuciones | Las notas se agrupan en el centro; sin anclas los niveles derivan | Depende de la calidad de las descripciones de nivel; salidas largas deben extractarse |
| Abstención | No incluida | Normalmente ninguna; un 3 puede significar “no sé” | Probabilidades Noul cerca del medio, o Scores entre niveles de aprobado y suspenso, pasan a una cola de revisión en tu código |
¿Qué sesgos afectan a los jueces LLM y cómo reducirlos?
Zheng et al. (2023) describen tres sesgos que conviene prever en el diseño. Sesgo de posición: en la comparación por pares el veredicto puede invertirse al intercambiar las respuestas, así que ejecuta cada par en ambos órdenes y cuenta una victoria solo si coinciden; si no, registra empate. Sesgo de verbosidad: el juez puede preferir la respuesta más larga aunque la longitud extra no aporte nada, así que escribe criterios que premien cumplir el requisito, no la cobertura, e incluye respuestas cortas y correctas en tus fixtures. Sesgo de autofavorecimiento: un juez puede favorecer salidas parecidas a las suyas, así que no dejes que el modelo evaluado se califique a sí mismo y oculta qué sistema produjo cada respuesta. Dos hábitos más ayudan: califica un criterio por pregunta en lugar de una nota global de “calidad” y, en tareas factuales, da al juez una respuesta de referencia, porque puede dejarse llevar por una respuesta incorrecta pero segura que él mismo habría resuelto.
Jev probability, confidence and human-review thresholdsEvaluate a Jev workflow¿Cómo calibrar un juez LLM con labels humanos?
Toma una muestra de salidas reales, incluidas las difíciles, y haz que dos personas las etiqueten a ciegas con los mismos criterios escritos. Si discrepan a menudo, arregla los criterios antes de culpar al juez: si las personas no coinciden, el juez no tiene nada estable que imitar. Después ejecuta el juez sobre los mismos ítems y reporta la concordancia por clase, no solo global: un juez que aprueba todo parece preciso cuando la mayoría de salidas están bien. Una tabla de confusión juez vs humano, más un estadístico corregido por azar como el kappa de Cohen si tu equipo lo usa, muestra dónde falla. Luego revisa bandas de probabilidad: entre los ítems que el juez marca con alta probabilidad, ¿cuántos marcaron igual las personas? Elige con esa tabla una banda de aceptación automática y otra de revisión. Congela la muestra como set de regresión y vuelve a ejecutarla cuando cambien el prompt del juez, los criterios o el modelo. Console → Batch de JevModel puede ejecutar una pregunta de juez fija sobre filas subidas y exportar las respuestas para este cruce.
Evaluate a Jev workflowBatch text classification with the JevModel API¿Cómo montar un juez tipado con preguntas Score y sí/no?
Pon en state la tarea, una referencia opcional y una salida candidata, y haz una pregunta por criterio. En JevModel, Noul es una pregunta sí/no que devuelve una probabilidad de 0 a 1, adecuada para comprobaciones binarias como “¿cada afirmación está respaldada por el contexto dado?”. Score acepta 2–10 descripciones de niveles ordenados y devuelve un valor en esa escala, que puede caer entre niveles; sirve para criterios graduales como la utilidad, pero no es una probabilidad 0–1, así que define tus propias bandas. Una petición admite 1–8 preguntas con nombre, y el state serializado y la petición completa deben caber cada uno en 8.000 caracteres, por lo que las respuestas largas o pasajes recuperados deben extractarse. Para comparación por pares, envía dos peticiones con los candidatos en orden inverso y acepta solo resultados consistentes. Una probabilidad Noul cerca del medio, o un Score que cae entre tus niveles de aprobado y suspenso, es tu señal de abstención: envía esos ítems a una persona en lugar de contarlos. Las llamadas van a POST /api/v1/systemone con el modelo fijo typesafe/jev-1.13 vía OpenRouter.
JevModel API: request and responseChoice, Score, and Noul{
"state": {
"task": "Answer the customer using only the help-center context.",
"context": "Refunds are available within 30 days of purchase for annual plans.",
"candidate_answer": "You can get a refund within 30 days if you are on an annual plan."
},
"questions": {
"grounded": {
"type": "noul",
"instructions": "Is every factual claim in candidate_answer supported by the context?",
"criteria": {
"true": "All claims appear in or follow directly from the context.",
"false": "At least one claim is missing from or contradicts the context."
}
},
"helpfulness": {
"type": "score",
"instructions": "How well does candidate_answer resolve the task? Do not reward length.",
"criteria": [
"Does not address the task or is misleading.",
"Addresses part of the task or needs a follow-up.",
"Fully resolves the task in the needed detail."
]
}
}
}¿Cuándo no deberías usar un LLM como juez?
Prescinde del juez cuando el código puede comprobar la respuesta: JSON válido, coincidencia exacta con un label esperado, un test unitario que pasa, una consulta SQL que devuelve las filas correctas. Las comprobaciones deterministas son más baratas y no derivan. No uses un juez como única aprobación en decisiones legales, médicas, financieras o de seguridad; úsalo para priorizar la revisión humana. No confíes en un juez que nunca comparaste con labels humanos, ni dejes que un modelo califique sus propias salidas. Ten cuidado con matemáticas, corrección de código y razonamiento de varios pasos, donde el juez puede dejarse engañar por la respuesta que califica; prefiere respuestas de referencia o tests basados en ejecución. JevModel en concreto es un modelo de decisión para texto y JSON: no ejecuta código, no navega ni lee imágenes, así que juzga lo que está escrito en state, no lo que pasa al ejecutar la salida. No es open source, y las cuentas gratuitas verificadas tienen 5 ejecuciones exitosas por día UTC: suficiente para probar un juez, no para calificar a diario un set de evaluación grande.
Add a decision gate before tool useJevModel pricing and free Jev runsClasificación de emails con IA: reglas, prompts LLM o una API de decisión tipada para el correo entranteEvaluate a Jev workflowJev probability, confidence and human-review thresholdsChoice, Score, and NoulBatch text classification with the JevModel APIJev vs GPT and Claude: choosing a decision layerPreguntas frecuentes
¿Es fiable LLM-as-a-judge?
Puede aproximar preferencias humanas en algunas tareas, pero la fiabilidad depende de tus criterios, datos y modelo juez. Mide la concordancia por clase con tus propios labels humanos, controla posición y longitud, y revisa tras cada cambio.
¿Cuántos labels humanos necesito para calibrar un juez?
No hay un número universal. Necesitas suficientes ítems en cada clase—sobre todo en los fallos que te importan—para ver dónde discrepan juez y personas. Empieza pequeño, revisa las discrepancias y amplía el set donde se concentran los errores.
¿En qué se diferencia de la guía evaluation de JevModel?
La guía evaluation prueba los labels y probabilidades de un workflow de JevModel. Esta página usa un modelo como calificador de salidas de otros sistemas de IA, lo que añade problemas propios del juez: sesgo de posición y verbosidad, autocalificación y calibrar al propio calificador.
¿Puede JevModel juzgar imágenes, audio o ejecución de código?
No. Solo lee texto o JSON en state. Convierte otros medios a texto por tu cuenta y, para código, ejecuta tests en tu pipeline y pasa los resultados como texto si quieres que un juez los tenga en cuenta.
JevModel es independiente y no está afiliado a TypeSafe AI.