Por qué la puntuación de confianza de un LLM no es una medida
Si le preguntas a un LLM «¿qué tan seguro estás?», responderá algo como 0,85. Parece preciso. El artículo de Amrut Joshi del 20 de octubre de 2026 dice algo sencillo sobre ese número: no hay una buena razón para fiarse de él. He visto el patrón que describe en diseños de agentes, donde una puntuación escrita por el modelo decide si una respuesta se envía o pasa antes por una persona. Este es el argumento, y lo que conviene hacer en su lugar.
Lo que tiene que significar una puntuación de confianza
Joshi usa el ejemplo de un meteorólogo. «70 % de probabilidad de lluvia mañana» no se puede comprobar en un solo día: llueve o no llueve. Solo se comprueba a lo largo de muchos días. Toma todos los días en que dijo 70 % y mira cuántas veces llovió. Si fue en torno al 70 % de ellos, el número significa algo. A eso se le llama calibración.
Su ejemplo de registro de un año:
| Dijo | Días | Días con lluvia | Tasa |
|---|---|---|---|
| 10 % | 120 | 13 | 11 % |
| 30 % | 90 | 26 | 29 % |
| 70 % | 80 | 57 | 71 % |
| 90 % | 75 | 67 | 89 % |
Dos detalles del artículo importan. Primero, la calibración sola no basta: un meteorólogo que siempre dice 30 %, la tasa habitual de la temporada, también está calibrado y no te dice nada. Una puntuación útil está calibrada y se mueve con la información que tiene. Segundo, nada de esto funciona si nadie anota cada predicción y lo que pasó de verdad. Sin registro, no hay forma de saberlo.
Por qué el número del LLM suspende las dos pruebas
Un LLM escribe texto token a token. Cuando responde «0,85», no está leyendo un indicador: está escribiendo una continuación plausible de la conversación. El preentrenamiento sí evaluó al modelo contra resultados, pero el resultado era el siguiente token, no si la confianza que declara coincide con la frecuencia con que acierta. En palabras de Joshi, aprendió cómo se ven las puntuaciones de confianza en un texto.
Así que el número no refleja la evidencia y nunca se comprobó contra resultados. Los síntomas que enumera se ven a simple vista:
- Haz la misma pregunta otra vez y el número cambia: 0,85 una vez, 0,7 la siguiente.
- Pregunta «¿estás seguro?» y la puntuación suele moverse, aunque nada del problema haya cambiado.
- Si el modelo ya escribió «esta es claramente la respuesta correcta», una puntuación alta es solo la continuación natural.
Un número equivocado se ve exactamente igual que uno correcto. La única manera de saberlo es calificar muchos contra una clave de respuestas, que es justo el paso que casi todos se saltan.
Construye la puntuación con tus propios registros
La alternativa de Joshi deja que el LLM haga la tarea y saca la confianza de una regla construida sobre registros. Su ejemplo es un agente de soporte que busca en un centro de ayuda y redacta respuestas, y las respuestas dudosas deben pasar antes por una persona:
- Elige señales observables. ¿La búsqueda encontró un artículo que encaja? ¿El agente ya ha visto este tipo de pregunta? ¿Coinciden dos ejecuciones de la misma pregunta?
- Parte de la tasa base. Si alguien revisó 200 respuestas pasadas y 150 eran correctas, cada respuesta empieza en 75 %.
- Regístralo todo. Las señales, la puntuación que dio la regla y si la respuesta resultó correcta.
- Actualiza la regla con el registro. Si las respuestas con artículo coincidente y dos ejecuciones de acuerdo acertaron el 95 % de las veces, la regla dice 95 % para la siguiente parecida.
- Sigue comprobando. Más o menos cada semana, rehaz la tabla del meteorólogo. Si las respuestas de 90 % acertaron solo el 70 % de las veces, la regla tiene exceso de confianza y el registro muestra dónde.
La comprobación semanal son pocas líneas. Este ejemplo es ilustrativo y no viene de la fuente: agrupa las respuestas registradas según la puntuación que recibieron y devuelve con qué frecuencia acertó cada grupo.
// records: [{ said: 0.9, correct: true }, ...]
function calibrationTable(records) {
const groups = new Map();
for (const r of records) {
const key = Math.round(r.said * 10) / 10;
const g = groups.get(key) ?? { n: 0, right: 0 };
g.n += 1;
if (r.correct) g.right += 1;
groups.set(key, g);
}
return [...groups]
.sort((a, b) => a[0] - b[0])
.map(([said, g]) => ({ said, n: g.n, rate: g.right / g.n }));
}
Si rate queda claramente por debajo de said en un grupo con suficientes respuestas, ese grupo tiene exceso de confianza.
Siguiente paso: si algo en tu sistema decide en función de una puntuación que el modelo declara sobre sí mismo, empieza hoy a registrar esa puntuación y el resultado real. Un mes de registros basta para la primera tabla y para ver si ese número significó algo alguna vez. Fuente: Amrut Joshi, Asking LLM for confidence.
Notas de los lectores