Habilidad de Marco de Evaluación
Un marco formal de evaluación para sesiones de Claude Code, que implementa principios de desarrollo impulsado por evaluaciones (EDD).
Cuándo Activar
- Configurar desarrollo impulsado por evaluaciones (EDD) para flujos de trabajo asistidos por IA
- Definir criterios de aprobado/fallo para la finalización de tareas de Claude Code
- Medir la fiabilidad del agente con métricas pass@k
- Crear suites de pruebas de regresión para cambios en prompts o agentes
- Comparar el rendimiento del agente entre versiones de modelo
Filosofía
El desarrollo impulsado por evaluaciones trata las evaluaciones como las "pruebas unitarias del desarrollo con IA":
- Define el comportamiento esperado ANTES de la implementación
- Ejecuta evaluaciones continuamente durante el desarrollo
- Rastrea regresiones con cada cambio
- Usa métricas pass@k para medir la fiabilidad
Tipos de Evaluación
Evaluaciones de Capacidad
Prueba si Claude puede hacer algo que antes no podía:
[EVALUACIÓN DE CAPACIDAD: nombre-funcionalidad]
Tarea: Descripción de lo que Claude debe lograr
Criterios de Éxito:
- [ ] Criterio 1
- [ ] Criterio 2
- [ ] Criterio 3
Resultado Esperado: Descripción del resultado esperado
Evaluaciones de Regresión
Asegura que los cambios no rompan funcionalidades existentes:
[EVALUACIÓN DE REGRESIÓN: nombre-funcionalidad]
Línea Base: SHA o nombre del punto de control
Pruebas:
- prueba-existente-1: APROBADO/FALLIDO
- prueba-existente-2: APROBADO/FALLIDO
- prueba-existente-3: APROBADO/FALLIDO
Resultado: X/Y aprobadas (anteriormente Y/Y)
Tipos de Calificador
1. Calificador Basado en Código
Verificaciones deterministas usando código:
# Verifica si el archivo contiene el patrón esperado
grep -q "export function handleAuth" src/auth.ts && echo "APROBADO" || echo "FALLIDO"
# Verifica si las pruebas pasan
npm test -- --testPathPattern="auth" && echo "APROBADO" || echo "FALLIDO"
# Verifica si la compilación tiene éxito
npm run build && echo "APROBADO" || echo "FALLIDO"
2. Calificador Basado en Modelo
Usa Claude para evaluar resultados abiertos:
[PROMPT DEL CALIFICADOR DE MODELO]
Evalúa el siguiente cambio de código:
1. ¿Resuelve el problema planteado?
2. ¿Está bien estructurado?
3. ¿Se manejan los casos límite?
4. ¿El manejo de errores es adecuado?
Puntuación: 1-5 (1=deficiente, 5=excelente)
Razonamiento: [explicación]
3. Calificador Humano
Indica revisión manual:
[REVISIÓN HUMANA REQUERIDA]
Cambio: Descripción de lo que cambió
Razón: Por qué se necesita revisión humana
Nivel de Riesgo: BAJO/MEDIO/ALTO
Métricas
pass@k
"Al menos un éxito en k intentos"
- pass@1: Tasa de éxito en el primer intento
- pass@3: Éxito dentro de 3 intentos
- Objetivo típico: pass@3 > 90%
pass^k
"Todos los k intentos tienen éxito"
- Mayor estándar de fiabilidad
- pass^3: 3 éxitos consecutivos
- Usar para rutas críticas
Flujo de Trabajo de Evaluación
1. Definir (Antes de Codificar)
## DEFINICIÓN DE EVALUACIÓN: funcionalidad-xyz
### Evaluaciones de Capacidad
1. Puede crear una nueva cuenta de usuario
2. Puede validar el formato del correo electrónico
3. Puede hashear la contraseña de forma segura
### Evaluaciones de Regresión
1. El inicio de sesión existente sigue funcionando
2. La gestión de sesiones no cambia
3. El flujo de cierre de sesión intacto
### Métricas de Éxito
- pass@3 > 90% para evaluaciones de capacidad
- pass^3 = 100% para evaluaciones de regresión
2. Implementar
Escribir código para superar las evaluaciones definidas.
3. Evaluar
# Ejecutar evaluaciones de capacidad
[Ejecutar cada evaluación de capacidad, registrar APROBADO/FALLIDO]
# Ejecutar evaluaciones de regresión
npm test -- --testPathPattern="existente"
# Generar informe
4. Reportar
INFORME DE EVALUACIÓN: funcionalidad-xyz
=========================================
Evaluaciones de Capacidad:
crear-usuario: APROBADO (pass@1)
validar-email: APROBADO (pass@2)
hash-contraseña: APROBADO (pass@1)
Total: 3/3 aprobadas
Evaluaciones de Regresión:
flujo-inicio-sesión: APROBADO
gestión-sesión: APROBADO
flujo-cierre-sesión: APROBADO
Total: 3/3 aprobadas
Métricas:
pass@1: 67% (2/3)
pass@3: 100% (3/3)
Estado: LISTO PARA REVISIÓN
Patrones de Integración
Pre-Implementación
/eval define nombre-funcionalidad
Crea archivo de definición de evaluación en .claude/evals/nombre-funcionalidad.md
Durante la Implementación
/eval check nombre-funcionalidad
Ejecuta las evaluaciones actuales y reporta el estado
Post-Implementación
/eval report nombre-funcionalidad
Genera un informe completo de evaluación
Almacenamiento de Evaluaciones
Almacena evaluaciones en el proyecto:
.claude/
evals/
funcionalidad-xyz.md # Definición de evaluación
funcionalidad-xyz.log # Historial de ejecuciones
baseline.json # Líneas base de regresión
Mejores Prácticas
- Define evaluaciones ANTES de codificar - Obliga a pensar claramente en los criterios de éxito
- Ejecuta evaluaciones con frecuencia - Detecta regresiones temprano
- Rastrea pass@k con el tiempo - Monitorea tendencias de fiabilidad
- Usa calificadores de código cuando sea posible - Determinista > Probabilístico
- Revisión humana para seguridad - Nunca automatices completamente las comprobaciones de seguridad
- Mantén las evaluaciones rápidas - Las evaluaciones lentas no se ejecutan
- Versiona las evaluaciones con el código - Las evaluaciones son artefactos de primera clase
Ejemplo: Añadir Autenticación
## EVALUACIÓN: añadir-autenticación
### Fase 1: Definir (10 min)
Evaluaciones de Capacidad:
- [ ] El usuario puede registrarse con correo/contraseña
- [ ] El usuario puede iniciar sesión con credenciales válidas
- [ ] Credenciales inválidas rechazadas con error adecuado
- [ ] Las sesiones persisten al recargar la página
- [ ] El cierre de sesión limpia la sesión
Evaluaciones de Regresión:
- [ ] Las rutas públicas siguen accesibles
- [ ] Las respuestas de la API no cambian
- [ ] El esquema de la base de datos es compatible
### Fase 2: Implementar (variable)
[Escribir código]
### Fase 3: Evaluar
Ejecutar: /eval check añadir-autenticación
### Fase 4: Reportar
INFORME DE EVALUACIÓN: añadir-autenticación
=============================================
Capacidad: 5/5 aprobadas (pass@3: 100%)
Regresión: 3/3 aprobadas (pass^3: 100%)
Estado: LISTO PARA ENVÍO