Mengimplementasikan pola iteratif untuk mengevaluasi dan menyempurnakan output AI agent melalui self-critique, pipeline evaluator-optimizer, dan scoring berbasis rubrik.
- Bintang GitHub
- 41.038
- File
- 1
- Commit terakhir
- 11 Nov 2026
- Lisensi
- MIT
- Tool yang diizinkan
- —
Apa fungsi skill agentic-eval?
agentic-eval adalah agent skill. Mengimplementasikan pola iteratif untuk mengevaluasi dan menyempurnakan output AI agent melalui self-critique, pipeline evaluator-optimizer, dan scoring berbasis rubrik.
Ringkasan dibuat dari SKILL.md skill ini.
Tentang skill agentic-eval
agentic-eval memungkinkan Anda meningkatkan akurasi kode, laporan, atau analisis yang dihasilkan oleh AI. Developer menggunakan skill ini untuk melampaui generasi single-shot dengan menerapkan loop iteratif di mana agent menilai pekerjaannya sendiri dan melakukan koreksi. Skill ini menyediakan pola terstruktur untuk self-critique, pipeline evaluator-optimizer, dan workflow penyempurnaan berbasis test-driven.
Seorang agent harus memuat skill ini saat mengerjakan tugas kritis kualitas yang memerlukan kepatuhan terhadap panduan gaya tertentu, standar kepatuhan, atau metrik keberhasilan yang terukur. Skill ini menghasilkan output yang telah disempurnakan dengan melakukan siklus melalui fase generasi, evaluasi, dan optimasi. Skill ini mengandalkan teknik seperti LLM-as-judge untuk ranking, scoring berbasis rubrik untuk dimensi berbobot, dan parsing JSON terstruktur untuk memastikan feedback loop yang andal. Anda dapat mengimplementasikan strategi spesifik seperti CodeReflector untuk memperbaiki error melalui pytest tests atau EvaluatorOptimizer untuk menjaga ambang batas skor tertentu.
Apa yang bisa dilakukan agent dengannya
- 1Menyempurnakan laporan teknis yang kompleksAgent dapat menggunakan loop self-critique untuk memastikan laporan yang dihasilkan memenuhi kriteria akurasi dan kejelasan tertentu.
- 2Mengotomatisasi koreksi error pada kodeDeveloper dapat mengimplementasikan loop test-driven yang menghasilkan kode dan secara otomatis memperbaiki error yang ditemukan selama pengujian.
- 3Standardisasi kualitas output melalui rubrikAnda dapat memberikan skor pada respons agent terhadap dimensi berbobot seperti kelengkapan dan akurasi untuk memastikan output memenuhi standar profesional.
- 4Membandingkan beberapa respons AIGunakan LLM judge untuk melakukan ranking pada berbagai versi output guna menentukan mana yang paling memenuhi sekumpulan kriteria.
Ditulis dari SKILL.md milik skill tersebut. Setiap use case diverifikasi dengan kutipan darinya.
Cara install skill agentic-eval
Setiap perintah menyalin folder skill ke direktori skills client. Restart client atau mulai sesi baru untuk memuatnya.Install skill agentic-eval di Claude Code
~/.claude/skills/agentic-eval/SKILL.md
$ npx degit github/awesome-copilot/skills/agentic-eval ~/.claude/skills/agentic-evalInstall skill agentic-eval di Claude Code (project)
.claude/skills/agentic-eval/SKILL.md
$ npx degit github/awesome-copilot/skills/agentic-eval .claude/skills/agentic-evalInstall skill agentic-eval di Codex
~/.agents/skills/agentic-eval/SKILL.md
$ npx degit github/awesome-copilot/skills/agentic-eval ~/.agents/skills/agentic-evalInstall skill agentic-eval di Gemini CLI
~/.gemini/skills/agentic-eval/SKILL.md
$ npx degit github/awesome-copilot/skills/agentic-eval ~/.gemini/skills/agentic-evalInstall skill agentic-eval di 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
Pengecekan otomatis
Berjalan 15 Nov 2026Laporan lengkap →Lolos cek otomatis kami. Ini bukan audit keamanan: baca skripnya sebelum membiarkan agent menjalankannya. Cara kerja checks
- Source repository terhubung dan dapat dijangkaugithub/awesome-copilot/skills/agentic-eval is public and reachablegithub.com/github/awesome-copilot/tree/HEAD/skills/agentic-e ↗Lolos
- Lisensi open source (OSI)MITspdx.org/licenses/MIT.html ↗Lolos
- Ada commit atau release dalam satu tahun terakhirLast commit 2026-11-11github.com/github/awesome-copilot/commits ↗Lolos
- Skrip tanpa unduh-lalu-jalankan atau pencurian kredensialNo scripts in the skill folderLolos
- Tidak ada instruksi tersembunyi di SKILL.mdNo override phrases, safeguard switches, credential requests or hidden charactersgithub.com/github/awesome-copilot/blob/HEAD/skills/agentic-e ↗Lolos
- Tool yang diizinkan otomatis dibatasiNo pre-approved tools; the agent asks before using onegithub.com/github/awesome-copilot/blob/HEAD/skills/agentic-e ↗Lolos
- SKILL.md mengikuti format Agent SkillsValid name and description; says when to use it; 190 linesgithub.com/github/awesome-copilot/blob/HEAD/skills/agentic-e ↗Lolos
SKILL.md
Lihat di 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
Berkas dalam skill ini
1Pertanyaan seputar skill agentic-eval
Bagaimana cara install skill agentic-eval di Claude Code?
Jalankan npx degit github/awesome-copilot/skills/agentic-eval ~/.claude/skills/agentic-eval. Claude Code memuat skill dari ~/.claude/skills (semua proyek) atau .claude/skills (satu proyek) dan menggunakan skill saat deskripsinya cocok dengan tugas.
Client mana saja yang bisa menggunakan skill agentic-eval?
Client apa pun yang membaca format Agent Skills: Claude Code, Codex, Gemini CLI, dan claude.ai (unggah sebagai ZIP). Script dalam skill hanya berjalan di client yang mengizinkan eksekusi kode.