¿Te resulta más fácil leer con fondo crema, un tono de color, más contraste o un texto más grande? Elige tus colores y tu texto una sola vez, para todas las páginas.

Lección gratuita

Cómo probar un juez LLM con personas

Después de esta lección: Puedo probar un juez contra notas dadas por una persona.

Lección de 65 min5 comandosLaboratorio de agente de programación con IA: usa opencode para explicar y corregir código, y comprueba su trabajo

Un juez que nadie ha comprobado

Probar un juez LLM, un modelo de lenguaje que puntúa respuestas, es comparar sus notas con las que una persona dio a las mismas respuestas. Importa porque un juez es un modelo, y un modelo puede inclinarse por la primera respuesta o por la más larga sin avisarte.

La tienda ya tiene notas de juez para sus respuestas. Antes de fiarse, necesita saber cuánto coinciden con las de las personas.

Al final de esta lección

Nota

Puedo probar un juez contra notas dadas por una persona.

Palabras clave

PalabraQué significa
Conjunto de calibraciónrespuestas puntuadas por una persona para probar al juez
Acuerdola parte de notas en que juez y persona coinciden
Sesgo de posiciónuna inclinación por el primer o el segundo hueco
Sesgo de longituduna inclinación por las respuestas más largas
Intercambiojuzgar de nuevo una pareja con las dos respuestas cambiadas

Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.

Prueba al juez con un conjunto de calibración

Elige de diez a treinta respuestas. Una persona las puntúa con la misma rúbrica, sin ver las notas del juez. Luego el juez puntúa las mismas respuestas.

El acuerdo es la parte de respuestas donde las dos notas coinciden. Cuenta también las que difieren en un punto como mucho: 2 frente a 3 es un fallo pequeño, y 1 frente a 3 uno grande.

Ejemplo resuelto: cinco respuestas, dos series de notas

RespuestaPersonaJuezCoincidencia
133exacta
211exacta
323a un punto
413fallo de dos
522exacta

Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.

Dos sesgos que buscar

Sesgo de posición: ante dos respuestas, el juez tiende a elegir el primer hueco. Pruébalo con un intercambio: pregunta otra vez con las respuestas cambiadas. Un juez justo elige el otro hueco la segunda vez.

Sesgo de longitud: el juez da a las respuestas largas mejores notas que las personas. Compara su diferencia media en las largas y en las cortas.

Escribe los datos de calibración

Comando
docker exec -w /home/node/project agent sh -c "printf '%s\n' '// Un conjunto de calibración: diez respuestas que una persona puntuó de 1 a 3, y que luego puntuó el juez.' 'const human = [3, 1, 2, 2, 1, 2, 3, 1, 1, 2];' 'const judge = [3, 1, 2, 3, 2, 2, 3, 3, 1, 3];' 'const words = [14, 5, 6, 16, 4, 5, 17, 12, 6, 15];' '// Seis parejas, cada una juzgada dos veces con las dos respuestas intercambiadas. El hueco que eligió cada vez.' 'const first = [\"A\", \"A\", \"A\", \"B\", \"A\", \"A\"];' 'const second = [\"B\", \"A\", \"A\", \"A\", \"A\", \"B\"];' 'function percent(count, total) {' '  return Math.floor(count * 100 / total);' '}' 'module.exports = { human, judge, words, first, second, percent };' > calib.js"

Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.

Escribe el script de medida, parte 1

Comando
docker exec -w /home/node/project agent sh -c "printf '%s\n' 'const { human, judge, words, first, second, percent } = require(\"./calib\");' 'const longest = 12;' 'let exact = 0;' 'let near = 0;' 'let longGap = 0;' 'let longCount = 0;' 'let shortGap = 0;' 'let shortCount = 0;' 'for (let at = 0; at < human.length; at = at + 1) {' '  const gap = judge[at] - human[at];' '  if (gap === 0) exact = exact + 1;' '  if (Math.abs(gap) <= 1) near = near + 1;' '  if (words[at] >= longest) { longGap = longGap + gap; longCount = longCount + 1; }' '  else { shortGap = shortGap + gap; shortCount = shortCount + 1; }' '}' > measure5.js"

Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.

Escribe el script de medida, parte 2

Comando
docker exec -w /home/node/project agent sh -c "printf '%s\n' 'let same = 0;' 'for (let at = 0; at < first.length; at = at + 1) {' '  if (first[at] === second[at]) same = same + 1;' '}' 'function comma(number) { return number.toFixed(1).replace(\".\", \",\"); }' >> measure5.js"

Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.

Escribe el script de medida, parte 3

Comando
docker exec -w /home/node/project agent sh -c "printf '%s\n' 'console.log(\"Acuerdo: \" + percent(exact, human.length) + \" por ciento exacto, \" + percent(near, human.length) + \" por ciento a un punto\");' 'console.log(\"Diferencia media en respuestas largas: \" + comma(longGap / longCount) + \" y en cortas: \" + comma(shortGap / shortCount));' 'console.log(\"Mismo hueco las dos veces: \" + same + \" de \" + first.length);' 'const flags = [];' 'if (percent(exact, human.length) < 70) flags.push(\"acuerdo bajo\");' 'if (percent(same, first.length) > 30) flags.push(\"sesgo de posición\");' 'if (longGap / longCount > 0.5) flags.push(\"sesgo de longitud\");' 'console.log(\"Avisos: \" + (flags.length ? flags.join(\", \") : \"ninguno\"));' >> measure5.js"

Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.

Mide al juez

Comando
docker exec -w /home/node/project agent node measure5.js

Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.

Lo que muestra la medida

LíneaQué muestra
Acuerdo60 por ciento exacto, 90 por ciento a un punto
Diferencia media0,8 en respuestas largas y 0,2 en cortas
Mismo hueco3 parejas de 6, una inclinación por el primer hueco
Avisosacuerdo bajo, sesgo de posición, sesgo de longitud

Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.

Pruébalo

Consejo

En calib.js cambia la segunda lista por la opuesta de la primera: B, B, B, A, B, B. Ejecuta otra vez. El aviso de sesgo de posición debe desaparecer.

Un error frecuente

Advertencia

Mucha gente cree que un juez que coincide con las personas casi siempre merece confianza en todas partes. El acuerdo vale solo para casos parecidos al conjunto de calibración. Mídelo otra vez tras cualquier cambio de rúbrica, de juez o de tipo de respuesta.

Sobre este laboratorio y su código: Laboratorio de agente de programación con IA: usa opencode para explicar y corregir código, y comprueba su trabajo

¿Enseñas a una clase? Asigna este módulo a tus alumnos con guía del profesor, tareas con corrección automática y un laboratorio para cada alumno.