Öz-eleştiri, değerlendirici-optimize edici (evaluator-optimizer) boru hatları ve rubrik tabanlı puanlama yoluyla yapay zeka ajan çıktılarını değerlendirmek ve iyileştirmek için yinelemeli desenler uygular.
- GitHub yıldızları
- 41.038
- Dosyalar
- 1
- Son commit
- 11 Kas 2026
- Lisans
- MIT
- İzin verilen araçlar
- —
agentic-eval skill ne işe yarar?
agentic-eval bir agent skill'dir. Öz-eleştiri, değerlendirici-optimize edici (evaluator-optimizer) boru hatları ve rubrik tabanlı puanlama yoluyla yapay zeka ajan çıktılarını değerlendirmek ve iyileştirmek için yinelemeli desenler uygular.
Özet, skill'in SKILL.md dosyasından oluşturuldu.
agentic-eval skilli hakkında
agentic-eval, yapay zeka tarafından üretilen kod, rapor veya analizlerin doğruluğunu artırmayı sağlar. Geliştiriciler, bir ajanın kendi çalışmasını değerlendirdiği ve düzeltmeler yaptığı yinelemeli döngüler uygulayarak tek seferlik üretim aşamasının ötesine geçmek için bu SKILL'i kullanırlar. Öz-eleştiri, değerlendirici-optimize edici boru hatları ve test güdümlü iyileştirme iş akışları için yapılandırılmış desenler sunar.
Bir ajan; belirli stil kılavuzlarına, uyumluluk standartlarına veya ölçülebilir başarı metriklerine bağlılık gerektiren kalite kritik görevlerde çalışırken bu SKILL'i yüklemelidir. SKILL; üretim, değerlendirme ve optimizasyon aşamalarından oluşan döngüler aracılığıyla rafine edilmiş çıktılar üretir. Sıralama için LLM-as-judge, ağırlıklı boyutlar için rubrik tabanlı puanlama ve güvenilir geri bildirim döngüleri sağlamak için yapılandırılmış JSON ayrıştırma gibi tekniklere dayanır. Kullanıcılar, pytest testleri aracılığıyla hataları düzeltmek için CodeReflector veya belirli bir puan eşiğini korumak için EvaluatorOptimizer gibi özel stratejiler uygulayabilirler.
Bir agent bununla neler yapabilir
- 1Karmaşık teknik raporların iyileştirilmesiBir ajan, üretilen bir raporun belirli doğruluk ve netlik kriterlerini karşılamasını sağlamak için öz-eleştiri döngülerini kullanabilir.
- 2Kod hata düzeltme süreçlerinin otomatize edilmesiGeliştiriciler, kod üreten ve test sırasında bulunan hataları otomatik olarak düzelten test güdümlü bir döngü uygulayabilirler.
- 3Rubrikler aracılığıyla çıktı kalitesinin standartlaştırılmasıAjan yanıtlarının profesyonel standartları karşıladığından emin olmak için, yanıtları eksiksizlik ve doğruluk gibi ağırlıklı boyutlara göre puanlayabilirsiniz.
- 4Birden fazla yapay zeka yanıtının karşılaştırılmasıHangi yanıtın bir dizi kriteri en iyi şekilde karşıladığını belirlemek için farklı çıktı versiyonlarını sıralamak üzere bir LLM judge kullanın.
Skill'in SKILL.md dosyasından yazılmıştır. Her kullanım durumu oradaki bir alıntı ile kontrol edilir.
agentic-eval skill nasıl kurulur
Her komut, skill klasörünü istemcinin skills dizinine kopyalar. Yüklemek için istemciyi yeniden başlatın veya yeni bir oturum başlatın.agentic-eval skill'ini Claude Code uygulamasına kur
~/.claude/skills/agentic-eval/SKILL.md
$ npx degit github/awesome-copilot/skills/agentic-eval ~/.claude/skills/agentic-evalagentic-eval skill'ini Claude Code (project) uygulamasına kur
.claude/skills/agentic-eval/SKILL.md
$ npx degit github/awesome-copilot/skills/agentic-eval .claude/skills/agentic-evalagentic-eval skill'ini Codex uygulamasına kur
~/.agents/skills/agentic-eval/SKILL.md
$ npx degit github/awesome-copilot/skills/agentic-eval ~/.agents/skills/agentic-evalagentic-eval skill'ini Gemini CLI uygulamasına kur
~/.gemini/skills/agentic-eval/SKILL.md
$ npx degit github/awesome-copilot/skills/agentic-eval ~/.gemini/skills/agentic-evalagentic-eval skill'ini Claude.ai uygulamasına kur
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
Otomatik kontroller
Çalıştırıldı 15 Kas 2026Tam rapor →Otomatik kontrollerimizi geçti. Bu bir güvenlik denetimi değil: bir ajanın çalıştırmasına izin vermeden önce betikleri okuyun. Kontroller nasıl çalışır
- Kaynak deposu bağlantılı ve erişilebilirgithub/awesome-copilot/skills/agentic-eval is public and reachablegithub.com/github/awesome-copilot/tree/HEAD/skills/agentic-e ↗Geçti
- Açık kaynak lisansı (OSI)MITspdx.org/licenses/MIT.html ↗Geçti
- Son bir yıl içinde commit veya sürüm mevcutLast commit 2026-11-11github.com/github/awesome-copilot/commits ↗Geçti
- Betiklerde indir-çalıştır veya kimlik bilgisi hırsızlığı yokNo scripts in the skill folderGeçti
- SKILL.md içinde gizli talimat yokNo override phrases, safeguard switches, credential requests or hidden charactersgithub.com/github/awesome-copilot/blob/HEAD/skills/agentic-e ↗Geçti
- Önceden izin verilen araçlar sınırlıNo pre-approved tools; the agent asks before using onegithub.com/github/awesome-copilot/blob/HEAD/skills/agentic-e ↗Geçti
- SKILL.md, Agent Skills biçimine uyuyorValid name and description; says when to use it; 190 linesgithub.com/github/awesome-copilot/blob/HEAD/skills/agentic-e ↗Geçti
SKILL.md
GitHub'da görüntüleAgentic 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
Bu becerideki dosyalar
1agentic-eval skill soruları
agentic-eval skill'ini Claude Code uygulamasına nasıl kurarım?
npx degit github/awesome-copilot/skills/agentic-eval ~/.claude/skills/agentic-eval komutunu çalıştırın. Claude Code, skill'leri ~/.claude/skills (tüm projeler) veya .claude/skills (tek proje) konumundan yükler ve açıklaması görevle eşleştiğinde skill'i kullanır.
agentic-eval skill'ini hangi istemciler kullanabilir?
Agent Skills biçimini okuyan her istemci: Claude Code, Codex, Gemini CLI ve claude.ai (ZIP olarak yükleyin). Skill içindeki betikler yalnızca istemcinin kod çalıştırmaya izin verdiği yerlerde çalışır.