Communitygithub.com

uzysjung/uzys-agent-harness

Compétences et plugins d'IA codés, testés et adaptés à votre stack technique — installez seulement ce dont vous avez besoin, pour Claude Code, Codex, OpenCode et Antigravity

Qu'est-ce que uzys-agent-harness ?

Ce skill fournit un framework formel d'évaluation pour les sessions Claude Code, basé sur les principes de développement piloté par les évaluations (EDD). Il permet aux développeurs de définir des critères de réussite/échec avant d'implémenter du code, d'exécuter des évaluations en continu et de suivre les régressions. Il supporte plusieurs types d'évaluations (capacité, régression, humaine) et des correcteurs (basés sur du code, un modèle comme Claude lui-même, ou un examen humain). Les métriques clés comme pass@k et pass^k aident à mesurer la fiabilité de l'agent. Le workflow se déroule en quatre phases : Définir, Implémenter, Évaluer, Rapporter — ce qui en fait un cadre idéal pour le développement assisté par IA où la qualité et la reproductibilité sont cruciales.

Compatible avec✓Claude Code✓Codex CLI~Cursor✓Antigravity✓OpenCode
npx skills add uzysjung/uzys-agent-harness

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

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

  1. Définir les évaluations AVANT de coder - Force à penser clairement aux critères de succès
  2. Exécuter les évaluations fréquemment - Détecter les régressions tôt
  3. Suivre pass@k dans le temps - Surveiller les tendances de fiabilité
  4. Utiliser des correcteurs de code quand possible - Déterministe > Probabiliste
  5. Révision humaine pour la sécurité - Ne jamais automatiser entièrement les vérifications de sécurité
  6. Garder les évaluations rapides - Les évaluations lentes ne sont pas exécutées
  7. 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É

Skills associés