オプション

agent-eval

affaan-m/ECC affaan-m/ECC

再現可能なタスクを用いて、コーディングエージェントを直接比較し、合格率、コスト、所要時間、一貫性といった指標を評価します。

...すべて拡張します
0
更新された時間 2026年10月1日

エージェント評価スキル

再現性のあるタスクにおいて、コーディングエージェントを直接比較するための軽量なCLIツールです。「どのコーディングエージェントが最適か?」という比較はすべてvibes上で実行されますが、このツールはそのプロセスを体系化します。

いつ活用すべきか

  • 自社のコードベースにおいて、コーディングエージェント(Claude Code、Aider、Codexなど)を比較する場合
  • 新しいツールやモデルを導入する前に、エージェントのパフォーマンスを測定する場合
  • エージェントがモデルやツールを更新した際の回帰テストの実施
  • チーム向けに、データに基づいたエージェント選定の意思決定を行う際

インストール

注:ソースコードを確認した後、リポジトリからagent-evalをインストールしてください。

基本概念

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 ワークツリーの分離

各エージェントの実行には独自のGitワークツリーが割り当てられます。Dockerは不要です。これにより再現性を確保した分離が実現され、エージェント同士が干渉したり、ベースリポジトリを破損させたりすることがありません。

収集されるメトリクス

メトリクス 測定対象
合格率 エージェントが生成したコードは、ジャッジを通過したか?
コスト タスクあたりのAPI利用コスト(利用可能な場合)
所要時間 完了までの実時間(秒)
一貫性 繰り返し実行における合格率(例:3/3 = 100%)

ワークフロー

1. タスクの定義

YAMLファイルを含む tasks/ ディレクトリを作成し、タスクごとに1つずつYAMLファイルを配置します:

mkdir tasks
# Write task definitions (see template above)

2. エージェントの実行

タスクに対してエージェントを実行します:

agent-eval run --task tasks/add-retry-logic.yaml --agent claude-code --agent aider --runs 3

各実行で:

  1. 指定されたコミットから新しいGitワークツリーを作成し
  2. エージェントにプロンプトを渡します
  3. 判定基準を実行します
  4. 合格/不合格、コスト、および所要時間を記録します

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

モデルベース(LLMを判定者として利用)

judge:
  - type: llm
    prompt: |
      Does this implementation correctly handle exponential backoff?
      Check for: max retries, increasing delays, jitter.

ベストプラクティス

  • 単純な例ではなく、実際のワークロードを反映した3~5つのタスクから始める
  • エージェントごとに少なくとも3回の試行を実行し、ばらつきを捉えること — エージェントは非決定論的である
  • タスクのYAMLファイルでコミットを固定し、結果が数日・数週間にわたって再現可能になるようにする
  • タスクごとに少なくとも1つの確定的なジャッジ(テスト、ビルド)を含めること — LLMジャッジはノイズを加える
  • 合格率とともにコストも追跡してください。コストが10倍かかる95%のエージェントは、必ずしも適切な選択とは限りません
  • タスク定義にはバージョン管理を行ってください。これらはテストフィクスチャであり、コードとして扱う必要があります

リンク

  • リポジトリ: github.com/joaquinhuigomez/agent-eval
GitHubで見る
---
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)

すべてのファイル

1件のファイル

agent-evalをインストール

スキルファイルをダウンロードし、.claude/skills/ ディレクトリに解凍してください。

ZIPをダウンロード

リポジトリをクローンし、スキルファイルをプロジェクトにコピーしてください。

git clone https://github.com/affaan-m/ECC/tree/main/skills/agent-eval # Copy SKILL.md to your .claude/skills/ directory

コピー コピー
クイックセットアップ: スキルフォルダを .claude/skills/ にコピーしてください。 Claude がそのスキルを自動的に検出して使用します。
リポジトリ affaan-m/ECC

関連スキル

web-search
更新された時間 2026年6月29日
webapp-testing
更新された時間 2026年6月29日
lark-base
更新された時間 2026年7月5日
agentmail
更新された時間 2026年6月29日
OR