Volver al inicio

Evals para agentes de IA: evaluación de resumidos

El artículo describe un enfoque sistemático para evals de agentes de IA en resumidos de reuniones. Desde análisis de errores y afirmaciones basadas en código hasta LLM-as-Judge. Métricas clave: fidelidad, precisión de acciones, completitud. Ejemplos de código y taxonomía de modos de fallo.

Cómo configurar evals para agentes de IA estables
Advertisement 728x90

Evaluación de Agentes de IA: Enfoque Sistemático para la Calidad en Resúmenes de Reuniones

Los agentes de IA que gestionan reuniones suelen dar resultados inconsistentes: alucinaciones, tareas omitidas y textos hinchados. Las evaluaciones (evals) resuelven esto con métricas objetivas de calidad. Son pruebas para sistemas no determinísticos, similares a las pruebas unitarias en código tradicional. Responden preguntas clave: ¿dónde falla el agente?, ¿ha mejorado tras los cambios?, ¿se ha roto algo que funcionaba?

Este artículo cubre tipos de evals, análisis de errores, aserciones basadas en código y métricas para resúmenes de reuniones. El enfoque se inspira en expertos como Hamel Husain y Eugene Yan.

Tipos de Evals: De Verificaciones Simples a LLM como Juez

Una eval es una función f(salida) → puntuación que califica la salida del agente. Tres niveles de complejidad:

Google AdInline article slot
  • Aserciones basadas en código: Verificaciones determinísticas para propiedades formales (longitud, estructura, palabras clave). Rápidas, gratuitas, pero limitadas.
  • Evaluación humana: Juicio humano matizado. Precisa, pero cara y no escalable.
  • LLM como Juez: Puntuaciones de LLM basadas en criterios. Escalable, económica, requiere validación.

La regla de oro: combinar todos los tipos. Basadas en código para cada solicitud, LLM como Juez en muestras, humana para calibración.

Para resúmenes de reuniones, define métricas por prioridad:

  • Fidelidad: Cada afirmación respaldada por la transcripción.
  • Precisión en ítems de acción: Tareas completas con responsable y plazo.
  • Completitud: Cobertura de temas clave.
  • Concisidad: Longitud <30% de la transcripción, densidad 0.15 entidades/token.
  • Coherencia: Estructura lógica.

Análisis de Errores: La Base de Evals Efectivas

El análisis manual de errores es el primer paso antes de la automatización. Sin él, las evals son inútiles: los equipos crean métricas ignorando problemas reales.

Google AdInline article slot

Proceso de Análisis de Errores

Reúne 20–50 pares transcripción → resumen de producción o sintéticos. Léelos, registra problemas sin clasificar:

  • Alucinación: «María se encargará del refactorizado» en vez de «podría mirarlo».
  • Ítems de acción omitidos al final de transcripciones largas.
  • Compresión pobre: resumen más largo que la transcripción.

Agrúpalos en una taxonomía de modos de fallo:

FALLOS DE FIDELIDAD:

Google AdInline article slot
  • Compromisos alucinados.
  • Atribución errónea.

FALLOS DE COMPLETITUD:

  • Ítems de acción perdidos.
  • Decisiones omitidas.

FALLOS DE CONCISIDAD:

  • Narración en vez de resumen.

Cuenta frecuencias: 2–3 errores top fijan prioridades de eval. Tiempo: medio día a una semana, ROI máximo.

Aserciones Basadas en Código: Verificaciones Rápidas de Aprobado/Reprobado

Principio: aprobado/reprobado binario, sin escalas de 1–5. Obliga definiciones claras de aceptabilidad.

Ejemplos para resúmenes de reuniones:

interface Transcript {
  text: string;
  duration_minutes: number;
  participants: string[];
}

interface Summary {
  text: string;
  action_items: ActionItem[];
  decisions: string[];
}

interface ActionItem {
  description: string;
  owner?: string;
  deadline?: string;
}

interface AssertionResult {
  name: string;
  pass: boolean;
  reason: string;
}

function runAssertions(transcript: Transcript, summary: Summary): AssertionResult[] {
  const results: AssertionResult[] = [];
  
  // Ratio de compresión: resumen < 30% transcripción
  const transcriptTokens = transcript.text.split(' ').length;
  const summaryTokens = summary.text.split(' ').length;
  const ratio = summaryTokens / transcriptTokens;
  results.push({
    name: 'Ratio de compresión',
    pass: ratio < 0.3,
    reason: `Ratio: ${ratio.toFixed(2)}`
  });
  
  // Ítems de acción con responsable y plazo
  const aiComplete = summary.action_items.every(ai => ai.owner && ai.deadline);
  results.push({
    name: 'Completitud de ítems de acción',
    pass: aiComplete,
    reason: aiComplete ? 'OK' : 'Falta responsable/plazo'
  });
  
  return results;
}

Aserciones adicionales:

  • Presencia de sección action_items.
  • Sin charlas triviales en el resumen.
  • JSON válido para salida estructurada.

LLM como Juez y Puntuadores Avanzados

Para métricas matizadas, usa LLM como Juez con prompts para fidelidad, completitud. Mastra tiene 16 puntuadores: fidelidad, completitud, concisión.

Ejemplo de prompt para fidelidad:

Evalúa la fidelidad de este resumen a la transcripción. Cada afirmación debe estar respaldada. Puntuación 0–1.
Transcripción: [texto]
Resumen: [texto]
Puntuación:```

Integra en CI: ejecuta en 50 casos de prueba antes de desplegar. Métrica de mejora: fidelidad de 0.64 a 0.78.

**Lecciones Clave:**
- Empieza con análisis de errores: 2–3 modos de fallo cubren 60% de problemas.
- Combina basadas en código (rápidas), LLM como Juez (escalables), humana (validación).
- Prioridades: fidelidad > precisión en acciones > completitud.
- Aprobado/reprobado binario para decisiones claras.
- Automatiza en CI para ganancias sistemáticas.

— Editorial Team

Advertisement 728x90

Leer después