16 puntos por darjeeling 2026-01-10 | 1 comentarios | Compartir por WhatsApp

Resumen:

  • Solo con los benchmarks tradicionales de LLM es difícil medir con precisión el desempeño de los “agentes de IA”, que usan herramientas y realizan razonamiento en múltiples pasos.
  • La evaluación de agentes debe combinar pruebas unitarias (Unit Tests) y pruebas de integración (Integration Tests), de forma similar a las pruebas de software.
  • Es efectivo usar una mezcla de evaluación determinista basada en código (Code-based) y evaluación basada en modelos con LLM (Model-based).
  • Según la etapa del ciclo de vida de desarrollo del agente, es necesario pasar de las “evaluaciones de capacidad” (Capability Evals) a las “pruebas de regresión” (Regression Evals).

Resumen detallado:

  1. Por qué es difícil evaluar agentes de IA
    A diferencia de un chatbot simple (Single-turn), los agentes usan herramientas, cambian el estado del entorno y realizan tareas a lo largo de varias etapas (Multi-turn). Por eso, no basta con revisar solo la respuesta final; también hay que evaluar de forma integral si el agente usó las herramientas correctas y si el proceso fue eficiente.

  2. Estructura de una evaluación de agentes (Eval)
    Un sistema de evaluación efectivo se compone de los siguientes elementos clave.

  • Tarea (Task): un caso de prueba único con una entrada definida y criterios de éxito.
  • Calificador (Grader): la lógica que asigna una puntuación al resultado de la ejecución del agente.
  • Transcripción (Transcript): el registro completo de la ejecución, incluyendo el proceso de pensamiento del agente, llamadas a herramientas y resultados intermedios.
  • Resultado (Outcome): el estado final del entorno después de ejecutar el agente (por ejemplo, si realmente se creó una reservación en la base de datos).
  1. Comparación de tipos de calificadores (Graders)
    Anthropic recomienda combinar tres tipos de calificadores.
Tipo Descripción Ventajas Desventajas
Basado en código (Code-based) Coincidencia de cadenas, expresiones regulares, análisis estático, ejecución de pruebas unitarias, etc. Rápido, barato, objetivo, reproducible Puede pasar por alto matices complejos, poca flexibilidad
Basado en modelo (Model-based) Uso de un LLM como juez (Judge) para calificar con base en una rúbrica Flexible, capta matices, adecuado para preguntas abiertas Puede ser no determinista, tiene costo, requiere calibración humana
Humano (Human) Revisión por expertos, crowdsourcing El “estándar de oro” de calidad Muy lento y costoso
  1. Ejemplo de evaluación de un agente de programación (configuración YAML)
    Al evaluar un agente de programación, no solo se revisa si el código se ejecuta (prueba determinista), sino también el estilo de código o si hay violaciones de seguridad (análisis estático / evaluación con LLM). A continuación se muestra un ejemplo hipotético de configuración de evaluación para una tarea de “corrección de vulnerabilidad de seguridad”.
task:  
  id: "fix-auth-bypass_1"  
  desc: "비밀번호 필드가 비어있을 때 발생하는 인증 우회 취약점 수정"  
  graders:  
    # 1. 결정론적 테스트: 실제 테스트 코드가 통과하는지 확인  
    - type: deterministic_tests  
      required: [test_empty_pw_rejected.py, test_null_pw_rejected.py]  
    
    # 2. LLM 루브릭 채점: 코드 품질 및 스타일 평가  
    - type: llm_rubric  
      rubric: prompts/code_quality.md  
    
    # 3. 정적 분석: 린터(Linter) 및 보안 도구 실행  
    - type: static_analysis  
      commands: [ruff, mypy, bandit]  
    
    # 4. 상태 확인: 보안 로그가 제대로 남았는지 확인  
    - type: state_check  
      expect:  
        security_logs: {event_type: "auth_blocked"}  
    
    # 5. 도구 사용 확인: 필요한 파일을 읽고 수정했는지  
    - type: tool_calls  
      required:  
        - {tool: read_file, params: {path: "src/auth/*"}}  
        - {tool: edit_file}  
        - {tool: run_tests}  
  
  # 추적할 메트릭  
  tracked_metrics:  
    - type: transcript  
      metrics:  
        - n_turns # 턴 수  
        - n_toolcalls # 도구 호출 횟수  
        - n_total_tokens # 토큰 사용량  
    - type: latency  
      metrics:  
        - time_to_first_token  
  1. Métricas de evaluación (Metrics)
    Para manejar la naturaleza no determinista de los agentes, además de la precisión simple se usan métricas como las siguientes.
  • pass@k: la probabilidad de tener al menos un éxito en k intentos (mide capacidad de exploración).
  • pass^k: la probabilidad de que todos los intentos sean exitosos en k intentos (mide consistencia/confiabilidad).
  1. Herramientas y frameworks
    Para construir un sistema de evaluación, se propone usar herramientas como Harbor (ejecución en entornos de contenedores), Promptfoo (configuración de pruebas basada en YAML), Braintrust, LangSmith, etc., o crear un framework propio adaptado al flujo de trabajo del equipo. Lo importante no es el framework en sí, sino contar con casos de prueba de alta calidad.

1 comentarios

 
darjeeling 2026-01-10

El contenido está bueno, así que agrego una traducción al coreano.

https://rosettalens.com/s/ko/demystifying-evals-for-ai-agents