Implementiert iterative Muster zur Evaluierung und Verfeinerung von KI-Agent-Outputs durch Self-Critique, Evaluator-Optimizer-Pipelines und Scoring auf Basis von Rubrics.
- GitHub Stars
- 41.038
- Dateien
- 1
- Letzter Commit
- 11. Nov. 2026
- Lizenz
- MIT
- Erlaubte Tools
- —
Was macht der agentic-eval Skill?
agentic-eval ist ein Agent Skill. Implementiert iterative Muster zur Evaluierung und Verfeinerung von KI-Agent-Outputs durch Self-Critique, Evaluator-Optimizer-Pipelines und Scoring auf Basis von Rubrics.
Zusammenfassung erzeugt aus der SKILL.md des Skills.
Über den agentic-eval skill
agentic-eval ermöglicht es, die Genauigkeit von KI-generiertem Code, Berichten oder Analysen zu verbessern. Entwickler nutzen diesen Skill, um über die einmalige Generierung (Single-Shot) hinauszugehen, indem sie iterative Loops implementieren, in denen ein Agent seine eigene Arbeit bewertet und Korrekturen vornimmt. Er bietet strukturierte Muster für Self-Critique, Evaluator-Optimizer-Pipelines und testgetriebene Refinement-Workflows.
Ein Agent sollte diesen Skill laden, wenn er an qualitätskritischen Aufgaben arbeitet, die die Einhaltung spezifischer Styleguides, Compliance-Standards oder messbarer Erfolgsmetriken erfordern. Der Skill erzeugt verfeinerte Outputs, indem er Phasen der Generierung, Evaluierung und Optimierung durchläuft. Er nutzt Techniken wie LLM-as-judge für das Ranking, rubric-basiertes Scoring für gewichtete Dimensionen und strukturiertes JSON-Parsing, um zuverlässige Feedback-Loops zu gewährleisten. Nutzer können spezifische Strategien wie den CodeReflector zur Fehlerbehebung mittels pytest-Tests oder den EvaluatorOptimizer einsetzen, um einen bestimmten Score-Schwellenwert einzuhalten.
Was ein agent damit machen kann
- 1Verfeinerung komplexer technischer BerichteEin Agent kann Self-Critique-Loops nutzen, um sicherzustellen, dass ein generierter Bericht spezifische Kriterien für Genauigkeit und Klarheit erfüllt.
- 2Automatisierung der Code-FehlerkorrekturEntwickler können einen testgetriebenen Loop implementieren, der Code generiert und Fehler, die während des Testens gefunden werden, automatisch behebt.
- 3Standardisierung der Output-Qualität via RubricsDu kannst Agent-Antworten anhand gewichteter Dimensionen wie Vollständigkeit und Genauigkeit bewerten, um sicherzustellen, dass sie professionellen Standards entsprechen.
- 4Vergleich mehrerer KI-AntwortenNutze einen LLM judge, um verschiedene Versionen eines Outputs zu ranken und zu bestimmen, welche die vorgegebenen Kriterien am besten erfüllt.
Geschrieben basierend auf dem SKILL.md des skills. Jeder use case wurde gegen ein zitat daraus geprüft.
So installierst du den agentic-eval Skill
Jeder Befehl kopiert den Skill-Ordner in das Skills-Verzeichnis des Clients. Starte den Client neu oder beginne eine neue Session, um ihn zu laden.Den agentic-eval Skill in Claude Code installieren
~/.claude/skills/agentic-eval/SKILL.md
$ npx degit github/awesome-copilot/skills/agentic-eval ~/.claude/skills/agentic-evalDen agentic-eval Skill in Claude Code (project) installieren
.claude/skills/agentic-eval/SKILL.md
$ npx degit github/awesome-copilot/skills/agentic-eval .claude/skills/agentic-evalDen agentic-eval Skill in Codex installieren
~/.agents/skills/agentic-eval/SKILL.md
$ npx degit github/awesome-copilot/skills/agentic-eval ~/.agents/skills/agentic-evalDen agentic-eval Skill in Gemini CLI installieren
~/.gemini/skills/agentic-eval/SKILL.md
$ npx degit github/awesome-copilot/skills/agentic-eval ~/.gemini/skills/agentic-evalDen agentic-eval Skill in Claude.ai installieren
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
Automatisierte Checks
Geluften am 15. Nov. 2026Vollständiger Bericht →Hat unsere automatischen Prüfungen bestanden. Das ist kein Sicherheitsaudit: Lesen Sie die Skripte, bevor ein Agent sie ausführt. Wie die Checks funktionieren
- Source Repository verknüpft und erreichbargithub/awesome-copilot/skills/agentic-eval is public and reachablegithub.com/github/awesome-copilot/tree/HEAD/skills/agentic-e ↗Bestanden
- Open Source Lizenz (OSI)MITspdx.org/licenses/MIT.html ↗Bestanden
- Commit oder Release im letzten JahrLast commit 2026-11-11github.com/github/awesome-copilot/commits ↗Bestanden
- Keine Download-und-Ausführen-Muster oder Zugangsdatendiebstahl in SkriptenNo scripts in the skill folderBestanden
- Keine versteckten Anweisungen in SKILL.mdNo override phrases, safeguard switches, credential requests or hidden charactersgithub.com/github/awesome-copilot/blob/HEAD/skills/agentic-e ↗Bestanden
- Vorab erlaubte Tools sind eingeschränktNo pre-approved tools; the agent asks before using onegithub.com/github/awesome-copilot/blob/HEAD/skills/agentic-e ↗Bestanden
- SKILL.md folgt dem Agent-Skills-FormatValid name and description; says when to use it; 190 linesgithub.com/github/awesome-copilot/blob/HEAD/skills/agentic-e ↗Bestanden
SKILL.md
Auf GitHub ansehenAgentic 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
Dateien in diesem Skill
1agentic-eval Skill-Fragen
Wie installiere ich den agentic-eval Skill in Claude Code?
Führe npx degit github/awesome-copilot/skills/agentic-eval ~/.claude/skills/agentic-eval aus. Claude Code lädt Skills aus ~/.claude/skills (alle Projekte) oder .claude/skills (ein Projekt) und nutzt einen Skill, wenn seine Beschreibung zur Aufgabe passt.
Welche Clients können den agentic-eval Skill nutzen?
Jeder Client, der das Agent Skills-Format liest: Claude Code, Codex, Gemini CLI und claude.ai (als ZIP hochladen). Skripte im Skill laufen nur dort, wo der Client Codeausführung erlaubt.