Implémente des modèles itératifs pour évaluer et affiner les résultats des agents IA via l'auto-critique, des pipelines évaluateur-optimiseur et un scoring basé sur des rubriques.
- Étoiles GitHub
- 41 038
- Fichiers
- 1
- Dernier commit
- 11 nov. 2026
- Licence
- MIT
- Outils autorisés
- —
Que fait la skill agentic-eval ?
agentic-eval est une agent skill. Implémente des modèles itératifs pour évaluer et affiner les résultats des agents IA via l'auto-critique, des pipelines évaluateur-optimiseur et un scoring basé sur des rubriques.
Résumé généré à partir du SKILL.md de la skill.
À propos du skill agentic-eval
agentic-eval permet d'améliorer la précision du code, des rapports ou des analyses générés par l'IA. Les développeurs utilisent ce SKILL pour dépasser la simple génération en un seul passage en mettant en œuvre des boucles itératives où un agent évalue son propre travail et effectue des corrections. Il fournit des modèles structurés pour l'auto-critique, les pipelines évaluateur-optimiseur et les flux de travail d'affinement pilotés par les tests.
Un agent doit charger ce SKILL lorsqu'il travaille sur des tâches critiques en termes de qualité qui nécessitent le respect de guides de style spécifiques, de normes de conformité ou de mesures de succès quantifiables. Le SKILL produit des résultats affinés en cyclant à travers des phases de génération, d'évaluation et d'optimisation. Il s'appuie sur des techniques telles que le LLM-as-judge pour le classement, le scoring basé sur des rubriques pour les dimensions pondérées, et l'analyse JSON structurée pour garantir des boucles de rétroaction fiables. Les utilisateurs peuvent implémenter des stratégies spécifiques telles que le CodeReflector pour corriger des erreurs via des tests pytest ou l'EvaluatorOptimizer pour maintenir un seuil de score spécifique.
Ce qu'un agent peut faire avec
- 1Affinement de rapports techniques complexesUn agent peut utiliser des boucles d'auto-critique pour s'assurer qu'un rapport généré répond à des critères spécifiques de précision et de clarté.
- 2Automatisation de la correction d'erreurs de codeLes développeurs peuvent implémenter une boucle pilotée par les tests qui génère du code et corrige automatiquement les erreurs détectées lors des tests.
- 3Standardisation de la qualité des sorties via des rubriquesVous pouvez noter les réponses de l'agent selon des dimensions pondérées comme l'exhaustivité et la précision pour garantir qu'elles respectent les standards professionnels.
- 4Comparaison de plusieurs réponses d'IAUtilisez un LLM judge pour classer différentes versions d'un résultat afin de déterminer laquelle satisfait le mieux un ensemble de critères.
Rédigé à partir du SKILL.md du skill. Chaque cas d'utilisation est vérifié par rapport à une citation de celui-ci.
Comment installer la skill agentic-eval
Chaque commande copie le dossier de la skill dans le répertoire des skills du client. Redémarrez le client ou démarrez une nouvelle session pour la charger.Installer la skill agentic-eval dans Claude Code
~/.claude/skills/agentic-eval/SKILL.md
$ npx degit github/awesome-copilot/skills/agentic-eval ~/.claude/skills/agentic-evalInstaller la skill agentic-eval dans Claude Code (project)
.claude/skills/agentic-eval/SKILL.md
$ npx degit github/awesome-copilot/skills/agentic-eval .claude/skills/agentic-evalInstaller la skill agentic-eval dans Codex
~/.agents/skills/agentic-eval/SKILL.md
$ npx degit github/awesome-copilot/skills/agentic-eval ~/.agents/skills/agentic-evalInstaller la skill agentic-eval dans Gemini CLI
~/.gemini/skills/agentic-eval/SKILL.md
$ npx degit github/awesome-copilot/skills/agentic-eval ~/.gemini/skills/agentic-evalInstaller la skill agentic-eval dans Claude.ai
npx degit github/awesome-copilot/skills/agentic-eval agentic-eval && zip -r agentic-eval.zip agentic-eval # claude.ai → Customize → Skills → + → Create skill → Upload a skill → agentic-eval.zip
Vérifications automatisées
Exécuté le 15 nov. 2026Rapport complet →A réussi nos vérifications automatiques. Ce n'est pas un audit de sécurité : lisez les scripts avant de laisser un agent les exécuter. Fonctionnement des vérifications
- Dépôt source lié et accessiblegithub/awesome-copilot/skills/agentic-eval is public and reachablegithub.com/github/awesome-copilot/tree/HEAD/skills/agentic-e ↗Réussi
- Licence open source (OSI)MITspdx.org/licenses/MIT.html ↗Réussi
- Commit ou version publiée au cours de l'année écouléeLast commit 2026-11-11github.com/github/awesome-copilot/commits ↗Réussi
- Aucun téléchargement-exécution ni vol d'identifiants dans les scriptsNo scripts in the skill folderRéussi
- Aucune instruction cachée dans SKILL.mdNo override phrases, safeguard switches, credential requests or hidden charactersgithub.com/github/awesome-copilot/blob/HEAD/skills/agentic-e ↗Réussi
- Les outils préautorisés sont limitésNo pre-approved tools; the agent asks before using onegithub.com/github/awesome-copilot/blob/HEAD/skills/agentic-e ↗Réussi
- SKILL.md respecte le format Agent SkillsValid name and description; says when to use it; 190 linesgithub.com/github/awesome-copilot/blob/HEAD/skills/agentic-e ↗Réussi
SKILL.md
Voir sur GitHubAgentic Evaluation Patterns
Patterns for self-improvement through iterative evaluation and refinement.
Overview
Evaluation patterns enable agents to assess and improve their own outputs, moving beyond single-shot generation to iterative refinement loops.
Generate → Evaluate → Critique → Refine → Output
↑ │
└──────────────────────────────┘
When to Use
- Quality-critical generation: Code, reports, analysis requiring high accuracy
- Tasks with clear evaluation criteria: Defined success metrics exist
- Content requiring specific standards: Style guides, compliance, formatting
Pattern 1: Basic Reflection
Agent evaluates and improves its own output through self-critique.
def reflect_and_refine(task: str, criteria: list[str], max_iterations: int = 3) -> str:
"""Generate with reflection loop."""
output = llm(f"Complete this task:\n{task}")
for i in range(max_iterations):
# Self-critique
critique = llm(f"""
Evaluate this output against criteria: {criteria}
Output: {output}
Rate each: PASS/FAIL with feedback as JSON.
""")
critique_data = json.loads(critique)
all_pass = all(c["status"] == "PASS" for c in critique_data.values())
if all_pass:
return output
# Refine based on critique
failed = {k: v["feedback"] for k, v in critique_data.items() if v["status"] == "FAIL"}
output = llm(f"Improve to address: {failed}\nOriginal: {output}")
return output
Key insight: Use structured JSON output for reliable parsing of critique results.
Pattern 2: Evaluator-Optimizer
Separate generation and evaluation into distinct components for clearer responsibilities.
class EvaluatorOptimizer:
def __init__(self, score_threshold: float = 0.8):
self.score_threshold = score_threshold
def generate(self, task: str) -> str:
return llm(f"Complete: {task}")
def evaluate(self, output: str, task: str) -> dict:
return json.loads(llm(f"""
Evaluate output for task: {task}
Output: {output}
Return JSON: {{"overall_score": 0-1, "dimensions": {{"accuracy": ..., "clarity": ...}}}}
"""))
def optimize(self, output: str, feedback: dict) -> str:
return llm(f"Improve based on feedback: {feedback}\nOutput: {output}")
def run(self, task: str, max_iterations: int = 3) -> str:
output = self.generate(task)
for _ in range(max_iterations):
evaluation = self.evaluate(output, task)
if evaluation["overall_score"] >= self.score_threshold:
break
output = self.optimize(output, evaluation)
return output
Pattern 3: Code-Specific Reflection
Test-driven refinement loop for code generation.
class CodeReflector:
def reflect_and_fix(self, spec: str, max_iterations: int = 3) -> str:
code = llm(f"Write Python code for: {spec}")
tests = llm(f"Generate pytest tests for: {spec}\nCode: {code}")
for _ in range(max_iterations):
result = run_tests(code, tests)
if result["success"]:
return code
code = llm(f"Fix error: {result['error']}\nCode: {code}")
return code
Evaluation Strategies
Outcome-Based
Evaluate whether output achieves the expected result.
def evaluate_outcome(task: str, output: str, expected: str) -> str:
return llm(f"Does output achieve expected outcome? Task: {task}, Expected: {expected}, Output: {output}")
LLM-as-Judge
Use LLM to compare and rank outputs.
def llm_judge(output_a: str, output_b: str, criteria: str) -> str:
return llm(f"Compare outputs A and B for {criteria}. Which is better and why?")
Rubric-Based
Score outputs against weighted dimensions.
RUBRIC = {
"accuracy": {"weight": 0.4},
"clarity": {"weight": 0.3},
"completeness": {"weight": 0.3}
}
def evaluate_with_rubric(output: str, rubric: dict) -> float:
scores = json.loads(llm(f"Rate 1-5 for each dimension: {list(rubric.keys())}\nOutput: {output}"))
return sum(scores[d] * rubric[d]["weight"] for d in rubric) / 5
Best Practices
| Practice | Rationale |
|---|---|
| Clear criteria | Define specific, measurable evaluation criteria upfront |
| Iteration limits | Set max iterations (3-5) to prevent infinite loops |
| Convergence check | Stop if output score isn't improving between iterations |
| Log history | Keep full trajectory for debugging and analysis |
| Structured output | Use JSON for reliable parsing of evaluation results |
Quick Start Checklist
## Evaluation Implementation Checklist
### Setup
- [ ] Define evaluation criteria/rubric
- [ ] Set score threshold for "good enough"
- [ ] Configure max iterations (default: 3)
### Implementation
- [ ] Implement generate() function
- [ ] Implement evaluate() function with structured output
- [ ] Implement optimize() function
- [ ] Wire up the refinement loop
### Safety
- [ ] Add convergence detection
- [ ] Log all iterations for debugging
- [ ] Handle evaluation parse failures gracefully
Fichiers de cette skill
1Questions sur la skill agentic-eval
Comment installer la skill agentic-eval dans Claude Code ?
Exécutez npx degit github/awesome-copilot/skills/agentic-eval ~/.claude/skills/agentic-eval. Claude Code charge les skills depuis ~/.claude/skills (tous les projets) ou .claude/skills (un seul projet) et utilise une skill lorsque sa description correspond à la tâche.
Quels clients peuvent utiliser la skill agentic-eval ?
Tout client qui lit le format Agent Skills : Claude Code, Codex, Gemini CLI et claude.ai (envoi sous forme de ZIP). Les scripts de la skill ne s'exécutent que si le client autorise l'exécution de code.