Реализует итеративные паттерны для оценки и улучшения результатов работы ИИ-агентов с помощью самокритики, конвейеров evaluator-optimizer и скоринга на основе рубрик.
- Звёзды на GitHub
- 41 038
- Файлы
- 1
- Последний коммит
- 11 нояб. 2026 г.
- Лицензия
- MIT
- Разрешённые инструменты
- —
Что делает навык agentic-eval?
agentic-eval — это Agent Skill. Реализует итеративные паттерны для оценки и улучшения результатов работы ИИ-агентов с помощью самокритики, конвейеров evaluator-optimizer и скоринга на основе рубрик.
Сводка сгенерирована из SKILL.md навыка.
О skill agentic-eval
agentic-eval позволяет повысить точность генерируемого ИИ кода, отчетов или анализа. Разработчики используют этот SKILL, чтобы выйти за рамки разовой генерации и внедрить итеративные циклы, в которых агент оценивает свою работу и вносит исправления. Он предоставляет структурированные паттерны для самокритики, конвейеры evaluator-optimizer и рабочие процессы уточнения на основе тестирования.
Агенту следует загружать этот SKILL при выполнении критически важных с точки зрения качества задач, требующих соблюдения определенных руководств по стилю, стандартов соответствия или измеримых метрик успеха. SKILL обеспечивает получение улучшенных результатов путем циклического прохождения фаз генерации, оценки и оптимизации. Он опирается на такие методы, как LLM-as-judge для ранжирования, скоринг на основе рубрик для взвешенных параметров и структурированный парсинг JSON для обеспечения надежных циклов обратной связи. Пользователи могут внедрять конкретные стратегии, такие как CodeReflector для исправления ошибок через тесты pytest или EvaluatorOptimizer для поддержания определенного порога оценки.
Что агент может делать с ним
- 1Уточнение сложных технических отчетовАгент может использовать циклы самокритики, чтобы убедиться, что сгенерированный отчет соответствует конкретным критериям точности и ясности.
- 2Автоматизация исправления ошибок в кодеРазработчики могут внедрить цикл на основе тестирования, который генерирует код и автоматически исправляет ошибки, обнаруженные в процессе тестирования.
- 3Стандартизация качества вывода с помощью рубрикВы можете оценивать ответы агента по взвешенным параметрам, таким как полнота и точность, чтобы гарантировать их соответствие профессиональным стандартам.
- 4Сравнение нескольких ответов ИИИспользуйте LLM judge для ранжирования различных версий ответа, чтобы определить, какая из них лучше всего соответствует набору критериев.
Написано на основе skill SKILL.md. Каждый сценарий использования проверен по цитате из него.
Как установить навык agentic-eval
Каждая команда копирует папку навыка в каталог навыков клиента. Перезапустите клиент или начните новую сессию, чтобы загрузить его.Установка навыка agentic-eval в Claude Code
~/.claude/skills/agentic-eval/SKILL.md
$ npx degit github/awesome-copilot/skills/agentic-eval ~/.claude/skills/agentic-evalУстановка навыка agentic-eval в Claude Code (project)
.claude/skills/agentic-eval/SKILL.md
$ npx degit github/awesome-copilot/skills/agentic-eval .claude/skills/agentic-evalУстановка навыка agentic-eval в Codex
~/.agents/skills/agentic-eval/SKILL.md
$ npx degit github/awesome-copilot/skills/agentic-eval ~/.agents/skills/agentic-evalУстановка навыка agentic-eval в Gemini CLI
~/.gemini/skills/agentic-eval/SKILL.md
$ npx degit github/awesome-copilot/skills/agentic-eval ~/.gemini/skills/agentic-evalУстановка навыка agentic-eval в 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
Автоматические проверки
Запущено 15 нояб. 2026 г.Полный отчёт →Прошёл наши автоматические проверки. Это не аудит безопасности: прочитайте скрипты, прежде чем агент их запустит. Как работают проверки
- Связанный и доступный исходный репозиторийgithub/awesome-copilot/skills/agentic-eval is public and reachablegithub.com/github/awesome-copilot/tree/HEAD/skills/agentic-e ↗Пройдено
- Open source лицензия (OSI)MITspdx.org/licenses/MIT.html ↗Пройдено
- Коммит или релиз за последний годLast commit 2026-11-11github.com/github/awesome-copilot/commits ↗Пройдено
- В скриптах нет загрузки с запуском и кражи учётных данныхNo scripts in the skill folderПройдено
- В SKILL.md нет скрытых инструкцийNo override phrases, safeguard switches, credential requests or hidden charactersgithub.com/github/awesome-copilot/blob/HEAD/skills/agentic-e ↗Пройдено
- Заранее разрешённые инструменты ограниченыNo pre-approved tools; the agent asks before using onegithub.com/github/awesome-copilot/blob/HEAD/skills/agentic-e ↗Пройдено
- SKILL.md соответствует формату Agent SkillsValid name and description; says when to use it; 190 linesgithub.com/github/awesome-copilot/blob/HEAD/skills/agentic-e ↗Пройдено
SKILL.md
Открыть на 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
Файлы в этом навыке
1Вопросы о навыке agentic-eval
Как установить навык agentic-eval в Claude Code?
Выполните npx degit github/awesome-copilot/skills/agentic-eval ~/.claude/skills/agentic-eval. Claude Code загружает навыки из ~/.claude/skills (все проекты) или .claude/skills (один проект) и использует навык, когда его описание соответствует задаче.
Какие клиенты могут использовать навык agentic-eval?
Любой клиент, который читает формат Agent Skills: Claude Code, Codex, Gemini CLI и claude.ai (загрузить как ZIP). Скрипты в навыке выполняются только там, где клиент разрешает выполнение кода.