📊

評価パイプライン — ハーネス品質を測定する方法

勘で判断すると負ける、自動化された評価体系が必須だ

「プロンプトを変えたら体感的に良くなった気がする」— この判断は危険だ。10ケースで良くなっても他の10ケースで悪くなっている可能性がある。

評価パイプラインの構造

テストセット — 入力-期待出力ペアの集合。実際のユースケースから抽出するのが良い。合成データだけでは不十分。

ランナー — ハーネスを通してテストセットを実行。同一条件でのA/B比較が可能であること。

スコアラー — 出力の品質を数値化。正解が明確な場合(コード — テスト通過可否)は自動、自然言語応答はLLM-as-judgeや人間評価を使う。

トラッキング — 各実行の入力、中間過程、出力、スコアを全て記録。何が良くなり何が悪くなったか原因を追跡できること。

評価指標の設計

コード生成ハーネスなら:

  • テスト通過率(pass@1、pass@5)

  • パッチ精度(修正したファイルが正しいか)

  • 不要な修正率(関係ないファイルを触ったか)

RAGハーネスなら:

  • 検索精度(取得した文書が関連あるか)

  • 回答忠実度(答えが検索結果に基づいているか)

  • ハルシネーション率

勘 vs データ

「このプロンプトの方が良い気がする」は勘だ。「pass@1が52%から61%に上がり、失敗ケース分析の結果エラーメッセージ解析の改善が原因」がデータだ。

ハーネスエンジニアリングは勘ではなくデータで意思決定する分野だ。

動作フロー

1

テストセット構築 — 実際のユースケース基盤で入力-期待出力ペアを最低50個以上

2

自動実行 + 採点 — ハーネス変更ごとに全テストセットを回してスコア比較

3

失敗ケース分析 — スコアが落ちたケースを分析して原因特定

4

回帰防止 — 新機能追加時に既存ケースが壊れないか確認

ユースケース

SWE-bench — 実際のGitHub issueを基にコーディングエージェントのハーネスを評価するベンチマーク RAG評価 — 検索精度、回答忠実度、ハルシネーション率でRAGハーネス品質を測定