mirror of
https://github.com/affaan-m/everything-claude-code.git
synced 2026-05-18 13:21:15 +08:00
Translate everything-claude-code repository to Japanese including: - 17 root documentation files - 60 agent documentation files - 80 command documentation files - 99 rule files across 18 language directories (common, angular, arkts, cpp, csharp, dart, fsharp, golang, java, kotlin, perl, php, python, ruby, rust, swift, typescript, web) - 199 skill documentation files Total: 455 files translated to Japanese with: - Consistent terminology glossary applied throughout - YAML field names preserved in English (name, description, etc.) - Code blocks and examples untouched (comments translated) - Markdown structure and relative links preserved - Professional translation maintaining technical accuracy This translation expands ECC accessibility to Japanese-speaking developers and teams. Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
146 lines
5.6 KiB
Markdown
146 lines
5.6 KiB
Markdown
---
|
||
name: agent-eval
|
||
description: カスタムタスクでコーディングエージェント(Claude Code、Aider、Codex など)をヘッドツーヘッドで比較し、合格率、コスト、時間、一貫性のメトリクスを測定します
|
||
origin: ECC
|
||
tools: Read, Write, Edit, Bash, Grep, Glob
|
||
---
|
||
|
||
# エージェント評価スキル
|
||
|
||
再現可能なタスクでコーディングエージェントをヘッドツーヘッドで比較するための軽量 CLI ツールです。「どのコーディングエージェントが最適か?」という比較はすべて感覚に頼りがちです — このツールはそれを体系化します。
|
||
|
||
## 起動タイミング
|
||
|
||
- 自分のコードベースでコーディングエージェント(Claude Code、Aider、Codex など)を比較する
|
||
- 新しいツールやモデルを採用する前にエージェントパフォーマンスを測定する
|
||
- エージェントがモデルやツールを更新した際にリグレッションチェックを実行する
|
||
- チームにデータに基づいたエージェント選択の判断を提供する
|
||
|
||
## インストール
|
||
|
||
> **注意:** agent-eval はソースを確認した後、リポジトリからインストールしてください。
|
||
|
||
## コアコンセプト
|
||
|
||
### YAML タスク定義
|
||
|
||
タスクを宣言的に定義します。各タスクは何をするか、どのファイルを操作するか、成功をどう判定するかを指定します:
|
||
|
||
```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" # 再現性のために特定コミットに固定
|
||
```
|
||
|
||
### 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% のエージェントが正しい選択でない場合もある
|
||
- **タスク定義をバージョン管理する** — それらはテストフィクスチャであり、コードとして扱う
|
||
|
||
## リンク
|
||
|
||
- リポジトリ: [github.com/joaquinhuigomez/agent-eval](https://github.com/joaquinhuigomez/agent-eval)
|