agentic-eval
Ajuda seu agente a avaliar e melhorar suas próprias saídas. Ele implementa ciclos de autoavaliação para refinar resultados.
O que ela faz
Esta ferramenta ajuda a inteligência artificial a verificar e melhorar suas próprias respostas. Ela permite que a IA aprenda com seus erros e crie resultados de maior qualidade, como textos ou códigos mais precisos.
Quando usar
- ✓Quando você precisa de respostas muito precisas (ex: relatórios, códigos).
- ✓Quando há regras claras para saber se a resposta está boa.
- ✓Quando a resposta precisa seguir um padrão específico (ex: estilo, formato).
Exemplo do que pedir para a IA
“Verifique este texto e me diga se ele está claro e sem erros, seguindo estas regras: [regras].”
Quer saber mais? Abra as seções abaixo.
Como usar
O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.
Link da skill
Mensagem pronta para colar
Como funciona
A IA gera uma resposta, depois se autoavalia com base em critérios definidos. Se não estiver boa, ela tenta corrigir e melhora até atingir a qualidade desejada.
Instalação
Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.
No terminal (Claude Code, Codex, Cursor), na pasta do projeto:
npx skills add github/awesome-copilot --skill agentic-evalOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/github/awesome-copilot/main/skills/agentic-eval/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
Padrões de Avaliação Agente
Padrões para autoaperfeiçoamento através de avaliação e refinamento iterativos.
Visão Geral
Padrões de avaliação permitem que agentes avaliem e melhorem seus próprios resultados, indo além da geração de um único tiro para loops de refinamento iterativos.
Generate → Evaluate → Critique → Refine → Output
↑ │
└──────────────────────────────┘
Quando Usar
- Geração crítica de qualidade: Código, relatórios, análises que exigem alta precisão
- Tarefas com critérios de avaliação claros: Métricas de sucesso definidas existem
- Conteúdo que requer padrões específicos: Guias de estilo, conformidade, formatação
Padrão 1: Reflexão Básica
O agente avalia e melhora seu próprio resultado através de autocrítica.
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
Insight chave: Use saída JSON estruturada para análise confiável dos resultados da crítica.
Padrão 2: Avaliador-Otimizador
Separe a geração e a avaliação em componentes distintos para responsabilidades mais claras.
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
Padrão 3: Reflexão Específica para Código
Loop de refinamento orientado por testes para geração de código.
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
Estratégias de Avaliação
Baseada em Resultados
Avalie se o resultado atinge o esperado.
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-como-Juiz
Use LLM para comparar e classificar resultados.
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?")
Baseada em Rubrica
Pontue resultados em dimensões ponderadas.
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
Melhores Práticas
| Prática | Racional |
|---|
…
Perguntas frequentes
Como a IA sabe se a resposta está boa?
Ela usa critérios definidos, como regras de um jogo ou uma lista de verificação, para se autoavaliar.
O que acontece se a IA não conseguir melhorar a resposta?
Ela pode tentar um número limitado de vezes. Se ainda não estiver boa, ela entrega o melhor resultado que conseguiu ou informa que não atingiu o objetivo.
Isso serve para qualquer tipo de resposta?
Funciona melhor para tarefas onde a qualidade pode ser medida objetivamente, como escrever código ou gerar relatórios com dados específicos.
Detalhes
Descrição original do autor
Patterns and techniques for evaluating and improving AI agent outputs. Use this skill when: - Implementing self-critique and reflection loops - Building evaluator-optimizer pipelines for quality-critical generation - Creating test-driven code refinement workflows - Designing rubric-based or LLM-as-judge evaluation systems - Adding iterative improvement to agent outputs (code, reports, analysis) -
repo: github/awesome-copilot
Popularidade
- Estrelas no GitHub
- 40 mil
- Posição no ranking
- #4989
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
acquire-codebase-knowledge
Ajuda seu agente a entender e documentar um projeto de código existente. É útil para novas pessoas entrarem no projeto ou para ter uma visão geral da arquitetura.
github/awesome-copilot
acreadiness-assess
Faz seu agente avaliar a prontidão de um projeto para IA e gerar um relatório. É útil para entender o quão bem um projeto está preparado para usar ferramentas de IA.
github/awesome-copilot
acreadiness-generate-instructions
Ajuda seu agente a criar instruções para ferramentas de IA baseadas em uma avaliação. É útil para melhorar a forma como a IA interage com o código e fecha lacunas identificadas.
github/awesome-copilot
acreadiness-policy
Faz seu agente ajudar a definir ou aplicar políticas para avaliação de projetos de IA. É útil para padronizar a forma como os projetos são avaliados e garantir conformidade.
github/awesome-copilot
Skills parecidas
agent-architecture-audit
Faz seu agente verificar se tudo está funcionando corretamente. Ele encontra e conserta problemas em sistemas de IA, garantindo que funcionem como esperado.
affaan-m/ECC
agent-eval
Ajuda seu agente a comparar diferentes ferramentas de programação de IA. Ele mede qual é mais rápido, barato e confiável para realizar tarefas específicas.
affaan-m/ECC
agent-harness-construction
Faz seu agente entender melhor como realizar tarefas. Ele otimiza as ferramentas e instruções que o agente usa para aumentar suas chances de sucesso.
affaan-m/ECC