¿Tu prompt “a veces va bien y a veces no”? Con esta auditoría rápida podrás medir (no intuir) qué versión responde mejor y con menos alucinaciones. Solo necesitas una hoja de cálculo y un banco de preguntas.
Contenido
- Contexto / problema
- Objetivo del post
- Pasos / prompts / ejemplos
- Checklist final
- FAQ
- CTA/afiliado
Contexto / problema
Los LLM son sensibles a la redacción exacta del prompt, a los parámetros (temperatura, límite de tokens) y al orden de las preguntas. Sin una metodología, es fácil engañarse: “me sonó mejor” no es un criterio.
Solución: medir con un dataset estable y métricas simples para comparar versiones en igualdad de condiciones.
Objetivo del post
Al terminar tendrás:
- Un dataset de 25–50 preguntas con su respuesta esperada y fuente (artículo/página).
- Tres métricas prácticas: Precisión@Fuente, Cobertura y Tasa de Alucinación.
- Una plantilla de scoring (Sheets/Excel) para iterar prompts (v1, v2, v3) y elegir la ganadora.
- Un protocolo para repetir la auditoría cada mes o cuando cambie el temario/modelo.
Pasos / prompts / ejemplos
1) Prepara el dataset “de oro” (Gold Set)
Crea un CSV/hoja con estas columnas:
id(Q001, Q002…)preguntarespuesta_gold(en 2–4 líneas)cita_gold(p.ej., “Art. 14.2, BOE 12/2024” o “T03, p. 27”)tema(para filtrar)dificultad(baja/media/alta)
Recomendación: mezcla tipologías (definición, procedimiento, plazo, supuesto práctico) y al menos un 30% de preguntas “capciosas” (errores habituales).
Tip: si trabajas con tu mini-RAG, las
cita_golddeben existir en tus documentos. Así penalizas las respuestas “sin fuente”.
2) Fija las reglas del experimento
Para que la comparación sea justa, controla:
- Modelo (misma versión para todas las pruebas).
- Temperatura (0.0–0.2 para evaluación).
- Máx. tokens (p.ej. 300).
- Formato obligatorio de salida (ver prompt base más abajo).
- Orden aleatorio de preguntas por versión (evita efectos de memoria del chat).
- Una conversación por versión (no mezcles v1 y v2 en el mismo hilo).
3) Define tus métricas
Suficientes y accionables:
Precisión@Fuente
Proporción de respuestas correctas y con cita válida sobre las respuestas emitidas.
[ \text{Precisión@Fuente}=\frac{#\text{correctas con cita}}{#\text{respondidas (≠ “insuficiente”)}}\times 100 ]Cobertura
Porcentaje de preguntas respondidas con cita sobre el total de preguntas.
[ \text{Cobertura}=\frac{#\text{respondidas con cita}}{#\text{total preguntas}}\times 100 ]Tasa de alucinación
Porcentaje de respuestas con cita inválida o inventada sobre las respondidas.
[ \text{Alucinación}=\frac{#\text{citas inválidas/inventadas}}{#\text{respondidas}}\times 100 ]
Regla operativa: “Sin cita válida = no cuenta como correcta.” Si no puede citar, mejor “insuficiente” que una cita inventada.
4) Plantilla de scoring (estructura recomendada)
En tu hoja añade columnas de resultado:
version_prompt(v1, v2, v3…)respuesta_llmcita_llmvalidez_cita(TRUE/FALSE)es_correcta(TRUE/FALSE, comparando conrespuesta_gold)etiqueta(CorrectaConCita / Parcial / Incorrecta / Insuficiente / Alucinación)tiempo_respuesta_s(opcional, cronometrado a mano)
Fórmulas de ejemplo (Google Sheets):
- Respondidas (≠ “insuficiente”):
=COUNTIFS($E:$E,"v1",$H:$H,"<>Insuficiente") - Correctas con cita (v1):
=COUNTIFS($E:$E,"v1",$I:$I,TRUE,$J:$J,TRUE)
(suponiendovalidez_citaen I ees_correctaen J) - Precisión@Fuente (v1):
=IFERROR( CorrectasConCita_v1 / Respondidas_v1 , 0 ) - Cobertura (v1):
=IFERROR( COUNTIFS($E:$E,"v1",$I:$I,TRUE) / COUNTA($A:$A) , 0 ) - Alucinación (v1):
=IFERROR( COUNTIFS($E:$E,"v1",$I:$I,FALSE,$H:$H,"<>Insuficiente") / Respondidas_v1 , 0 )
Puedes añadir un Score total (0–100) ponderado:
Score = 0.6*Precisión@Fuente + 0.3*Cobertura - 0.3*Alucinación
5) Crea 2–3 versiones de tu prompt
Arranca con variaciones pequeñas y medibles (no cambies todo a la vez):
- v1 (baseline): pide cita obligatoria y formato RESPUESTA / CITA.
- v2: añade reglas de rechazo (“si no puedes citar, responde ‘insuficiente’”).
- v3: incluye límites de extensión y palabras prohibidas (evita paja).
Responde **solo** si puedes **citar artículo y número** (o página exacta).
Si no puedes citar, responde **“insuficiente”**.
**Formato de salida (obligatorio):**
RESPUESTA: <máx. 6 líneas, clara y precisa>
CITA: <Documento/Art./Página exacta>
**Pregunta:** <pega aquí la pregunta exacta>
Sigue estas reglas estrictas:
1) Usa **solo** las fuentes del temario oficial y mis apuntes.
2) Si no puedes **citar Art. y número** (o página exacta), responde **“insuficiente”**.
3) **Prohibido**: expresiones vagas (“podría”, “suele”, “aproximadamente”).
4) **Formato obligatorio**:
- RESPUESTA: <máx. 5 líneas, sin adornos>
- CITA: <BOE/Orden/Apuntes + Art./página exacta>
**Pregunta:** <aquí la pregunta>
Devuelve **solo**:
RESPUESTA: <2–4 líneas>
CITA: <Doc + Art./Página>
Si no hay cita exacta, devuelve **“insuficiente”**.
6) Corre la auditoría
- Duplica la hoja por versión (o usa una columna
version_prompt). - Pega las 25–50 preguntas a una nueva conversación por versión.
- Copia cada RESPUESTA/CITA en la fila correspondiente.
- Valida la cita comparándola con
cita_gold(ojo a los números de artículo, no solo al documento). - Deja que las fórmulas calculen Precisión@Fuente, Cobertura y Alucinación.
Objetivo mínimo razonable: Precisión@Fuente ≥ 80% y Alucinación ≤ 5% en tu temario.
7) Decide y documenta
- Elige ganadora por Score.
- Guarda un changelog del prompt: qué añadiste, qué quitaste.
- Repite la auditoría cuando:
a) cambie el temario,
b) cambies de modelo,
c) baje tu Precisión@Fuente en la práctica.
Ejemplo de tabla de etiquetas
| Etiqueta | Cuenta para… | Descripción breve |
|---|---|---|
| CorrectaConCita | Precisión@Fuente, Cobertura | Respuesta correcta y cita válida |
| Parcial | — | Incompleta o ambigua, aunque con parte correcta |
| Incorrecta | — | Mal resultado, aunque exista cita |
| Insuficiente | — | “No consta / insuficiente” según reglas |
| Alucinación | Alucinación | Cita inventada o que no verifica |
¿Cuántas preguntas necesito para que sea fiable?
¿Cuenta como correcta si responde bien pero sin cita?
¿Cómo valido rápido las citas?
cita_gold. Si falla alguna parte, no es válida.