From ecc
커스텀 작업에서 Claude Code, Aider, Codex 등 코딩 에이전트를 정면 비교하고 pass rate, cost, time, consistency 지표를 측정합니다.
npx claudepluginhub sam42-lab/everything-claude-code-krThis skill uses the workspace's default tool permissions.
재현 가능한 작업에서 코딩 에이전트를 정면 비교하는 경량 CLI 도구입니다. "어떤 코딩 에이전트가 제일 좋은가?" 같은 비교를 감으로 하지 않고 체계화합니다.
Mandates invoking relevant skills via tools before any response in coding sessions. Covers access, priorities, and adaptations for Claude Code, Copilot CLI, Gemini CLI.
Share bugs, ideas, or general feedback.
재현 가능한 작업에서 코딩 에이전트를 정면 비교하는 경량 CLI 도구입니다. "어떤 코딩 에이전트가 제일 좋은가?" 같은 비교를 감으로 하지 않고 체계화합니다.
주의:
agent-eval은 반드시 저장소 소스를 검토한 뒤 설치합니다.
작업은 선언적으로 정의합니다. 각 작업은 무엇을 할지, 어떤 파일을 건드릴지, 성공을 어떻게 판정할지를 명시합니다.
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"
각 에이전트 실행은 전용 git worktree를 받습니다. Docker 없이도 재현성 있는 격리가 가능하며, 에이전트끼리 서로 간섭하거나 기본 저장소를 오염시키지 못하게 합니다.
| Metric | What It Measures |
|---|---|
| Pass rate | 판정 기준을 통과하는 코드를 만들었는가 |
| Cost | 작업당 API 비용 |
| Time | 완료까지 걸린 실제 시간 |
| Consistency | 반복 실행 간 통과율 |
작업당 YAML 파일 하나씩 tasks/ 디렉터리를 만듭니다.
mkdir tasks
agent-eval run --task tasks/add-retry-logic.yaml --agent claude-code --agent aider --runs 3
각 실행은 다음을 수행합니다.
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:
- type: pytest
command: pytest tests/ -v
- type: command
command: npm run build
judge:
- type: grep
pattern: "class.*Retry"
files: src/**/*.py
judge:
- type: llm
prompt: |
Does this implementation correctly handle exponential backoff?
Check for: max retries, increasing delays, jitter.