コーディングエージェントの評価
コーディングエージェントの評価方法。diff、ターミナル出力、SWE-bench/Aider/Claude Code のトレースを、Potato のコーディングトレース表示でレビューする手順を解説します。
コーディングエージェントは、プログラミングのタスクを解くためにファイルを編集し、コマンドを実行し、出力を読み取ります。これを評価するのは、ターミナルセッションも含むプルリクエストをレビューするのに似ています。コードの変更と、それを生み出した各ステップの両方を評価するのです。 SWE-agent、Aider、Claude Code の軌跡を Potato でアノテーションしましょう。レビュー用に diff とターミナルブロックを描画する、無料でセルフホスト型のツールです。
これは SWE-bench のような自動ベンチマークと組み合わせて使えます。人によるレビューは、もっともらしいが誤っていて弱いテストを通過してしまうパッチを捕まえられます。
コーディングエージェントの実行でアノテーターは何をレビューしますか?
- diff:各ファイル変更を色分けした統合 diff。行番号とファイルツリーのサイドバー付き。
- コマンドと出力:エージェントが何を実行し、何が返ってきたかを示すターミナルブロック。
- 推論:アクションの合間のエージェントの思考。
Potato は SWE-bench、Aider、Claude Code の各形式を含むコーディングエージェントのトレースを読み込みます。コーディングエージェントのアノテーションとコードレビューのアノテーションを参照してください。
コーディングエージェントの実行で何を評価すべきですか?
- 正しさ:その変更は、他の部分を壊さずにタスクを解決しているか?
- ステップの質:各編集・コマンドは妥当だったか、それとも迷走していたか?
- 効率:妥当な道筋をたどったか?
yaml
annotation_schemes:
- annotation_type: per_turn_rating
name: step_correctness
description: "Judge each edit or command."
target: agentic_steps
rating_type: radio
labels: ["Correct", "Partially correct", "Incorrect", "Unnecessary"]
- annotation_type: radio
name: overall
description: "Does the final change solve the task?"
labels: [Solved, Partially solved, Not solved]コーディングエージェントの評価をどう信頼できるものに保ちますか?
- アノテーターにはタスクの説明とリポジトリの文脈を渡すこと。目標がなければ diff は意味をなしません。
- 最初の誤りを特定する推論連鎖については、プロセス報酬モデルを参照してください。
- 録画をレビューするのではなくエージェントのコーディングをリアルタイムで観察するには、ライブエージェント評価を参照してください。