Skill Harnais d'Évaluation
Un framework d'évaluation formel pour les sessions Claude Code, implémentant les principes de développement piloté par les évaluations (EDD).
Quand Activer
- Mise en place du développement piloté par les évaluations (EDD) pour les workflows assistés par IA
- Définition des critères de réussite/échec pour l'achèvement des tâches Claude Code
- Mesure de la fiabilité de l'agent avec les métriques pass@k
- Création de suites de tests de régression pour les modifications de prompt ou d'agent
- Évaluation comparative des performances de l'agent entre différentes versions de modèle
Philosophie
Le développement piloté par les évaluations considère les évaluations comme les « tests unitaires du développement IA » :
- Définir le comportement attendu AVANT l'implémentation
- Exécuter les évaluations en continu pendant le développement
- Suivre les régressions à chaque modification
- Utiliser les métriques pass@k pour mesurer la fiabilité
Types d'Évaluations
Évaluations de Capacité
Testent si Claude peut faire quelque chose qu'il ne pouvait pas faire avant :
[ÉVALUATION DE CAPACITÉ : nom-fonctionnalité]
Tâche : Description de ce que Claude doit accomplir
Critères de Réussite :
- [ ] Critère 1
- [ ] Critère 2
- [ ] Critère 3
Résultat Attendu : Description du résultat attendu
Évaluations de Régression
Garantissent que les modifications ne cassent pas les fonctionnalités existantes :
[ÉVALUATION DE RÉGRESSION : nom-fonctionnalité]
RÉFÉRENCE : SHA ou nom de checkpoint
Tests :
- test-existant-1 : RÉUSSI/ÉCHEC
- test-existant-2 : RÉUSSI/ÉCHEC
- test-existant-3 : RÉUSSI/ÉCHEC
Résultat : X/Y réussis (précédemment Y/Y)
Types de Correcteurs
1. Correcteur Basé sur le Code
Vérifications déterministes utilisant du code :
# Vérifier si le fichier contient le motif attendu
grep -q "export function handleAuth" src/auth.ts && echo "RÉUSSI" || echo "ÉCHEC"
# Vérifier si les tests passent
npm test -- --testPathPattern="auth" && echo "RÉUSSI" || echo "ÉCHEC"
# Vérifier si la build réussit
npm run build && echo "RÉUSSI" || echo "ÉCHEC"
2. Correcteur Basé sur un Modèle
Utiliser Claude pour évaluer des sorties ouvertes :
[INSTRUCTION DU CORRECTEUR MODÈLE]
Évaluez la modification de code suivante :
1. Résout-elle le problème énoncé ?
2. Est-elle bien structurée ?
3. Les cas limites sont-ils traités ?
4. La gestion des erreurs est-elle appropriée ?
Score : 1-5 (1=mauvais, 5=excellent)
Raisonnement : [explication]
3. Correcteur Humain
Marquer pour révision manuelle :
[RÉVISION HUMAINE REQUISE]
Modification : Description de ce qui a changé
Raison : Pourquoi une révision humaine est nécessaire
Niveau de Risque : FAIBLE/MOYEN/ÉLEVÉ
Métriques
pass@k
« Au moins un succès en k tentatives »
- pass@1 : Taux de succès à la première tentative
- pass@3 : Succès en 3 tentatives
- Cible typique : pass@3 > 90 %
pass^k
« Les k essais réussissent tous »
- Barre plus haute pour la fiabilité
- pass^3 : 3 succès consécutifs
- Utiliser pour les chemins critiques
Workflow d'Évaluation
1. Définir (Avant de Coder)
## DÉFINITION D'ÉVALUATION : fonctionnalité-xyz
### Évaluations de Capacité
1. Peut créer un nouveau compte utilisateur
2. Peut valider le format d'email
3. Peut hacher le mot de passe de manière sécurisée
### Évaluations de Régression
1. La connexion existante fonctionne toujours
2. La gestion de session inchangée
3. Le flux de déconnexion intact
### Métriques de Succès
- pass@3 > 90 % pour les évaluations de capacité
- pass^3 = 100 % pour les évaluations de régression
2. Implémenter
Écrire du code pour réussir les évaluations définies.
3. Évaluer
# Exécuter les évaluations de capacité
[Exécuter chaque évaluation de capacité, enregistrer RÉUSSI/ÉCHEC]
# Exécuter les évaluations de régression
npm test -- --testPathPattern="existing"
# Générer le rapport
4. Rapporter
RAPPORT D'ÉVALUATION : fonctionnalité-xyz
========================
Évaluations de Capacité :
créer-utilisateur : RÉUSSI (pass@1)
valider-email : RÉUSSI (pass@2)
hacher-motdepasse : RÉUSSI (pass@1)
Total : 3/3 réussis
Évaluations de Régression :
flux-connexion : RÉUSSI
gestion-session : RÉUSSI
flux-déconnexion : RÉUSSI
Total : 3/3 réussis
Métriques :
pass@1 : 67 % (2/3)
pass@3 : 100 % (3/3)
Statut : PRÊT POUR RÉVISION
Modèles d'Intégration
Pré-Implémentation
/eval define nom-fonctionnalité
Crée un fichier de définition d'évaluation dans .claude/evals/nom-fonctionnalité.md
Pendant l'Implémentation
/eval check nom-fonctionnalité
Exécute les évaluations actuelles et signale l'état
Post-Implémentation
/eval report nom-fonctionnalité
Génère un rapport d'évaluation complet
Stockage des Évaluations
Stocker les évaluations dans le projet :
.claude/
evals/
fonctionnalité-xyz.md # Définition d'évaluation
fonctionnalité-xyz.log # Historique d'exécution
baseline.json # Références de régression
Meilleures Pratiques
- Définir les évaluations AVANT de coder - Force à penser clairement aux critères de succès
- Exécuter les évaluations fréquemment - Détecter les régressions tôt
- Suivre pass@k dans le temps - Surveiller les tendances de fiabilité
- Utiliser des correcteurs de code quand possible - Déterministe > Probabiliste
- Révision humaine pour la sécurité - Ne jamais automatiser entièrement les vérifications de sécurité
- Garder les évaluations rapides - Les évaluations lentes ne sont pas exécutées
- Versionner les évaluations avec le code - Les évaluations sont des artefacts de première classe
Exemple : Ajout d'Authentification
## ÉVALUATION : ajouter-authentification
### Phase 1 : Définir (10 min)
Évaluations de Capacité :
- [ ] L'utilisateur peut s'inscrire avec email/mot de passe
- [ ] L'utilisateur peut se connecter avec des identifiants valides
- [ ] Les identifiants invalides sont rejetés avec une erreur appropriée
- [ ] Les sessions persistent après le rechargement de la page
- [ ] La déconnexion efface la session
Évaluations de Régression :
- [ ] Les routes publiques sont toujours accessibles
- [ ] Les réponses de l'API inchangées
- [ ] Le schéma de base de données compatible
### Phase 2 : Implémenter (variable)
[Écrire le code]
### Phase 3 : Évaluer
Lancer : /eval check ajouter-authentification
### Phase 4 : Rapporter
RAPPORT D'ÉVALUATION : ajouter-authentification
==============================
Capacité : 5/5 réussis (pass@3 : 100 %)
Régression : 3/3 réussis (pass^3 : 100 %)
Statut : PRÊT À ÊTRE LIVRÉ