Agent Eval

作者 affaan-mef648e01899b無授權條款275K 個星標收錄於 2026年10月8日更新於 2026年10月8日儲存庫3 天前更新

カスタムタスクでコーディングエージェント(Claude Code、Aider、Codex など)をヘッドツーヘッドで比較し、合格率、コスト、時間、一貫性のメトリクスを測定します

僅含說明AI & Agents
AI 產生的概覽

在可重現的 YAML 任務上對編碼代理進行對比評測,衡量通過率、成本、時間與一致性。

功能
此技能記錄了一套輕量級 CLI 工作流程,用於在相同任務上對 Claude Code、Aider、Codex 等編碼代理進行基準比較。任務以 YAML 檔案宣告,包含提示詞、目標檔案、固定提交與評判標準,每次代理執行都會取得獨立的 git 工作樹以達成隔離。它會記錄通過與否、成本、實際耗時以及重複執行的一致性,並產生對比報告表格。
適用情境
適用於在自己的程式庫中比較編碼代理或模型、在採用新工具之前評估,或在模型或工具更新後重新檢查代理表現。也適合希望以資料為依據做出代理選擇決策的團隊。
執行需求
需要從程式碼倉庫安裝 agent-eval CLI、用於工作樹隔離的 git,以及被比較的各個代理。評判類型可能需要 pytest、npm 等指令,以模型為基礎的評判則需要 LLM。此技能不附帶指令碼,僅為說明文件。

エージェント評価スキル

再現可能なタスクでコーディングエージェントをヘッドツーヘッドで比較するための軽量 CLI ツールです。「どのコーディングエージェントが最適か?」という比較はすべて感覚に頼りがちです — このツールはそれを体系化します。

起動タイミング

  • 自分のコードベースでコーディングエージェント(Claude Code、Aider、Codex など)を比較する
  • 新しいツールやモデルを採用する前にエージェントパフォーマンスを測定する
  • エージェントがモデルやツールを更新した際にリグレッションチェックを実行する
  • チームにデータに基づいたエージェント選択の判断を提供する

インストール

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

コアコンセプト

YAML タスク定義

タスクを宣言的に定義します。各タスクは何をするか、どのファイルを操作するか、成功をどう判定するかを指定します:

yaml
name: add-retry-logicdescription: Add exponential backoff retry to the HTTP clientrepo: ./my-projectfiles:  - src/http_client.pyprompt: |  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.pycommit: "abc1234"  # 再現性のために特定コミットに固定

Git ワークツリー分離

各エージェント実行は独自の git ワークツリーを取得します — Docker 不要。これにより再現性の分離が提供され、エージェントが互いに干渉したりベースリポジトリを破壊したりしません。

収集メトリクス

メトリクス測定内容
合格率エージェントはジャッジをパスするコードを生成できたか?
コストタスクあたりの API 費用(利用可能な場合)
時間完了までのウォールクロック秒数
一貫性繰り返し実行での合格率(例:3/3 = 100%)

ワークフロー

1. タスクの定義

タスクごとに 1 つの YAML ファイルを持つ tasks/ ディレクトリを作成します:

bash
mkdir tasks# タスク定義を作成(上記のテンプレートを参照)

2. エージェントの実行

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

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

各実行:

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

3. 結果の比較

比較レポートを生成します:

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%        │└──────────────┴───────────┴────────┴────────┴─────────────┘

ジャッジタイプ

コードベース(決定論的)

yaml
judge:  - type: pytest    command: pytest tests/ -v  - type: command    command: npm run build

パターンベース

yaml
judge:  - type: grep    pattern: "class.*Retry"    files: src/**/*.py

モデルベース(LLM-as-judge)

yaml
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% のエージェントが正しい選択でない場合もある
  • タスク定義をバージョン管理する — それらはテストフィクスチャであり、コードとして扱う

リンク

來源與署名

來源:affaan-m/ecc位於docs/ja-JP/skills/agent-eval提交ef648e0

授權條款: 無授權條款

內容歸原作者所有。SourceWeft 從公開儲存庫中收錄這些內容。

檢舉或申請下架