agent-eval
コーディングエージェント(Claude Code、Aider、Codex など)をカスタムタスク上で直接比較し、合格率・コスト・実行時間・一貫性などの指標を計測・評価します。複数のエージェントのパフォーマンスを定量的に把握したい場合に活用できます。
description の原文を見る
编码代理(Claude Code、Aider、Codex等)在自定义任务上的直接比较,包含通过率、成本、时间和一致性指标
SKILL.md 本文
Agent Eval スキル
カスタマイズ可能なタスク上でコーディング代理を直接比較するための軽量 CLI ツール。「どのコーディング代理が最適か?」という比較をデータドリブンで実施します。
使用するとき
- 独自のコードベース上でコーディング代理(Claude Code、Aider、Codex など)を比較したい
- 新しいツールやモデルを採用する前に代理のパフォーマンスを測定したい
- 代理がモデルやツールを更新したときに回帰テストを実行したい
- チームの意思決定を実データで支援したい
インストール
# pinned to v0.1.0 — latest stable commit
pip install git+https://github.com/joaquinhuigomez/agent-eval.git@6d062a2f5cda6ea443bf5d458d361892c04e749b
主要な概念
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. タスクを定義
tasks/ ディレクトリを作成し、タスク定義を 1 ファイル 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
各実行は以下のように進行します:
- 指定されたコミットから新しい git ワークツリーを作成
- プロンプトを代理に渡す
- 判定基準を実行
- 成功/失敗、コスト、時間を記録
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 判定器はノイズが増えます
- 成本と通過率を追跡。通過率 95% だが費用が 10 倍の代理は正しい選択ではないかもしれません
- タスク定義をバージョン管理。これらはテストフィクスチャであり、コードとして扱うべきです
リンク
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- affaan-m
- ライセンス
- MIT
- 最終更新
- 不明
Source: https://github.com/affaan-m/everything-claude-code / ライセンス: MIT
関連スキル
agent-browser
AI エージェント向けのブラウザ自動化 CLI です。ウェブサイトとの対話が必要な場合に使用します。ページ遷移、フォーム入力、ボタンクリック、スクリーンショット取得、データ抽出、ウェブアプリのテスト、ブラウザ操作の自動化など、あらゆるブラウザタスクに対応できます。「ウェブサイトを開く」「フォームに記入する」「ボタンをクリックする」「スクリーンショットを取得する」「ページからデータを抽出する」「このウェブアプリをテストする」「サイトにログインする」「ブラウザ操作を自動化する」といった要求や、プログラマティックなウェブ操作が必要なタスクで起動します。
anyskill
AnySkill — あなたのプライベート・スキルクラウド。GitHubを基盤としたリポジトリからエージェントスキルを管理、同期、動的にロードできます。自然言語でクラウドスキルを検索し、オンデマンドでプロンプトを自動ロード、カスタムスキルのアップロードと共有、スキルバンドルの一括インストールが可能です。OpenClaw、Antigravity、Claude Code、Cursorに対応しています。
engram
AIエージェント向けの永続的なメモリシステムです。バグ修正、意思決定、発見、設定変更の後はmem_saveを使用してください。ユーザーが「覚えている」「記憶している」と言及した場合、または以前のセッションと重複する作業を開始する際はmem_searchを使用します。セッション終了前にmem_session_summaryを使用して、コンテキストを保持してください。
skyvern
AI駆動のブラウザ自動化により、任意のウェブサイトを自動化できます。フォーム入力、データ抽出、ファイルダウンロード、ログイン、複数ステップのワークフロー実行など、ユーザーがウェブサイトと連携する必要があるときに使用します。Skyvernは、LLMとコンピュータビジョンを活用して、未知のサイトも自動操作可能です。Python SDK、TypeScript SDK、REST API、MCPサーバー、またはCLIを通じて統合できます。
pinchbench
PinchBenchベンチマークを実行して、OpenClawエージェントの実世界タスクにおけるパフォーマンスを評価できます。モデルの機能テスト、モデル間の比較、ベンチマーク結果のリーダーボード提出、またはOpenClawのセットアップがカレンダー、メール、リサーチ、コーディング、複数ステップのワークフローにどの程度対応しているかを確認する際に使用します。
openui
OpenUIとOpenUI Langを使用してジェネレーティブUIアプリを構築できます。これらはLLM生成インターフェースのためのトークン効率的なオープン標準です。OpenUI、@openuidev、ジェネレーティブUI、LLMからのストリーミングUI、AI向けコンポーネントライブラリ、またはjson-render/A2UIの置き換えについて述べる際に使用します。スキャフォルディング、defineComponent、システムプロンプト、Renderer、およびOpenUI Lang出力のデバッグに対応しています。