agent-eval
affaan-m/ECC
Compare diretamente os agentes de codificação em tarefas reproduzíveis, utilizando métricas de taxa de aprovação, custo, tempo e consistência.
...Expandir tudoHabilidade de Avaliação de Agentes
Uma ferramenta CLI leve para comparar agentes de codificação lado a lado em tarefas reproduzíveis. Todas as comparações do tipo “qual agente de codificação é o melhor?” são realizadas no vibes — esta ferramenta sistematiza esse processo.
Quando ativar
- Ao comparar agentes de codificação (Claude Code, Aider, Codex etc.) em sua própria base de código
- Avaliar o desempenho de um agente antes de adotar uma nova ferramenta ou modelo
- Executar verificações de regressão quando um agente atualiza seu modelo ou ferramentas
- Tomar decisões de seleção de agentes baseadas em dados para uma equipe
Instalação
Observação: instale o `agent-eval` a partir de seu repositório após revisar o código-fonte.
Conceitos básicos
Definições de tarefas em YAML
Defina tarefas de forma declarativa. Cada tarefa especifica o que fazer, quais arquivos devem ser alterados e como avaliar o sucesso:
name: add-retry-logic
description: Add exponential backoff retry to the HTTP client
repo: ./my-project
files:
- src/http_client.py
prompt: |
Add retry logic with exponential backoff to all HTTP requests.
Max 3 retries. Initial delay 1s, max delay 30s.
judge:
- type: pytest
command: pytest tests/test_http_client.py -v
- type: grep
pattern: "exponential_backoff|retry"
files: src/http_client.py
commit: "abc1234" # pin to specific commit for reproducibility
Isolamento da árvore de trabalho do Git
Cada execução do agente recebe sua própria árvore de trabalho do Git — sem necessidade de Docker. Isso proporciona isolamento de reprodutibilidade, de modo que os agentes não possam interferir uns nos outros nem corromper o repositório base.
Métricas coletadas
| Métrica | O que mede |
|---|---|
| Taxa de aprovação | O agente produziu um código que foi aprovado pelo avaliador? |
| Custo | Gastos com API por tarefa (quando disponível) |
| Tempo | Segundos reais até a conclusão |
| Consistência | Taxa de aprovação em execuções repetidas (por exemplo, 3/3 = 100%) |
Fluxo de trabalho
1. Definir tarefas
Crie um tasks/ diretório com arquivos YAML, um por tarefa:
mkdir tasks
# Write task definitions (see template above)
2. Executar agentes
Execute os agentes nas suas tarefas:
agent-eval run --task tasks/add-retry-logic.yaml --agent claude-code --agent aider --runs 3
A cada execução:
- Cria uma nova árvore de trabalho do Git a partir do commit especificado
- Passa o prompt para o agente
- Executa os critérios de avaliação
- Registra aprovação/reprovação, custo e tempo
3. Comparar resultados
Gera um relatório de comparação:
agent-eval report --format table
Task: add-retry-logic (3 runs each)
┌──────────────┬───────────┬────────┬────────┬─────────────┐
│ Agent │ Pass Rate │ Cost │ Time │ Consistency │
├──────────────┼───────────┼────────┼────────┼─────────────┤
│ claude-code │ 3/3 │ $0.12 │ 45s │ 100% │
│ aider │ 2/3 │ $0.08 │ 38s │ 67% │
└──────────────┴───────────┴────────┴────────┴─────────────┘
Tipos de avaliação
Baseado em código (determinístico)
judge:
- type: pytest
command: pytest tests/ -v
- type: command
command: npm run build
Baseado em padrões
judge:
- type: grep
pattern: "class.*Retry"
files: src/**/*.py
Baseado em modelo (LLM como juiz)
judge:
- type: llm
prompt: |
Does this implementation correctly handle exponential backoff?
Check for: max retries, increasing delays, jitter.
Melhores práticas
- Comece com 3 a 5 tarefas que representem sua carga de trabalho real, e não exemplos simplificados
- Execute pelo menos 3 tentativas por agente para capturar a variação — os agentes são não determinísticos
- Marque o commit no YAML da sua tarefa para que os resultados sejam reproduzíveis ao longo de dias/semanas
- Inclua pelo menos um juiz determinístico (testes, compilação) por tarefa — juízes LLM adicionam ruído
- Acompanhe o custo juntamente com a taxa de aprovação — um agente com 95% de aproveitamento, mas com custo 10 vezes maior, pode não ser a escolha certa
- Crie versões das definições de suas tarefas — elas são estruturas de teste; trate-as como código
Links
- Repositório: github.com/joaquinhuigomez/agent-eval
---
name: agent-eval
description: Compare coding agents head-to-head on reproducible tasks with pass rate, cost, time, and consistency metrics.
---
# Agent Eval Skill
A lightweight CLI tool for comparing coding agents head-to-head on reproducible tasks. Every "which coding agent is best?" comparison runs on vibes — this tool systematizes it.
## When to Activate
- Comparing coding agents (Claude Code, Aider, Codex, etc.) on your own codebase
- Measuring agent performance before adopting a new tool or model
- Running regression checks when an agent updates its model or tooling
- Producing data-backed agent selection decisions for a team
## Installation
> **Note:** Install agent-eval from its repository after reviewing the source.
## Core Concepts
### YAML Task Definitions
Define tasks declaratively. Each task specifies what to do, which files to touch, and how to judge success:
```yaml
name: add-retry-logic
description: Add exponential backoff retry to the HTTP client
repo: ./my-project
files:
- src/http_client.py
prompt: |
Add retry logic with exponential backoff to all HTTP requests.
Max 3 retries. Initial delay 1s, max delay 30s.
judge:
- type: pytest
command: pytest tests/test_http_client.py -v
- type: grep
pattern: "exponential_backoff|retry"
files: src/http_client.py
commit: "abc1234" # pin to specific commit for reproducibility
```
### Git Worktree Isolation
Each agent run gets its own git worktree — no Docker required. This provides reproducibility isolation so agents cannot interfere with each other or corrupt the base repo.
### Metrics Collected
| Metric | What It Measures |
|--------|-----------------|
| Pass rate | Did the agent produce code that passes the judge? |
| Cost | API spend per task (when available) |
| Time | Wall-clock seconds to completion |
| Consistency | Pass rate across repeated runs (e.g., 3/3 = 100%) |
## Workflow
### 1. Define Tasks
Create a `tasks/` directory with YAML files, one per task:
```bash
mkdir tasks
# Write task definitions (see template above)
```
### 2. Run Agents
Execute agents against your tasks:
```bash
agent-eval run --task tasks/add-retry-logic.yaml --agent claude-code --agent aider --runs 3
```
Each run:
1. Creates a fresh git worktree from the specified commit
2. Hands the prompt to the agent
3. Runs the judge criteria
4. Records pass/fail, cost, and time
### 3. Compare Results
Generate a comparison report:
```bash
agent-eval report --format table
```
```
Task: add-retry-logic (3 runs each)
┌──────────────┬───────────┬────────┬────────┬─────────────┐
│ Agent │ Pass Rate │ Cost │ Time │ Consistency │
├──────────────┼───────────┼────────┼────────┼─────────────┤
│ claude-code │ 3/3 │ $0.12 │ 45s │ 100% │
│ aider │ 2/3 │ $0.08 │ 38s │ 67% │
└──────────────┴───────────┴────────┴────────┴─────────────┘
```
## Judge Types
### Code-Based (deterministic)
```yaml
judge:
- type: pytest
command: pytest tests/ -v
- type: command
command: npm run build
```
### Pattern-Based
```yaml
judge:
- type: grep
pattern: "class.*Retry"
files: src/**/*.py
```
### Model-Based (LLM-as-judge)
```yaml
judge:
- type: llm
prompt: |
Does this implementation correctly handle exponential backoff?
Check for: max retries, increasing delays, jitter.
```
## Best Practices
- **Start with 3-5 tasks** that represent your real workload, not toy examples
- **Run at least 3 trials** per agent to capture variance — agents are non-deterministic
- **Pin the commit** in your task YAML so results are reproducible across days/weeks
- **Include at least one deterministic judge** (tests, build) per task — LLM judges add noise
- **Track cost alongside pass rate** — a 95% agent at 10x the cost may not be the right choice
- **Version your task definitions** — they are test fixtures, treat them as code
## Links
- Repository: [github.com/joaquinhuigomez/agent-eval](https://github.com/joaquinhuigomez/agent-eval)
Todos os arquivos
1 arquivosInstalar agent-eval
Baixe e extraia os arquivos das habilidades para o diretório .claude/skills/.
Baixar ZIPClone o repositório e copie os arquivos da habilidade para o seu projeto.
git clone https://github.com/affaan-m/ECC/tree/main/skills/agent-eval # Copy SKILL.md to your .claude/skills/ directory
Copiar





Lar
