「検証はAIに任せれば安心」なのか

サブエージェント(LLMによる自動レビュー・自動検証)を自分のパイプラインに組み込んでいる開発者は増えています。ただし、そこで必ず突き当たる問いがあります。サブエージェントの判定結果を、そのまま最終判断として採用してよいのか。それとも、毎回人間が全件見直さないと信用できないのか。

「検証はAIに任せれば安心」でも「結局は人間が全部見ないと信用できない」でもない、第三の道があります。サブエージェントの判定を、最終判断者(オーケストレーター)が一次情報の裏付けの有無で再評価する、というやり方です。この記事では、私たちのブログ執筆パイプラインで実際に起きた1件の再評価判断を、そのまま追体験できる形で示します。

何が起きたか ── サブエージェントが「重要度: 高」と評価した1件

このブログの執筆パイプラインには、記事の詳細設計(design.md)に書かれた事実・技術的主張を、独立した検証エージェントがレビューする工程(検証ゲート)があります。

別の記事の検証で、検証エージェントは「mise(バージョン管理ツール)が run コマンドの実行時に perl をパスへ注入するため」という技術的な記述を、重要度「高」と評価しました。指摘の趣旨は次のようなものでした。

技術的主張として不明瞭かつ疑わしい。miseが「perlを注入する」という挙動は一般に知られておらず、文脈上その因果関係も説明不足。読者には「パスに何を追加すれば十分か」を判断する根拠として提示されるため、誤りだった場合の実害が大きい。

「重要度: 高」は、このパイプラインでは「公開後に読者から即座に反証されうる誤り」を意味します。つまり検証エージェントは、この記述を「間違っていたら記事の信頼性そのものを損なう水準の主張」として扱った、ということです。

同じラウンドの他4件は「中」「低」だった

このとき検証エージェントが出した指摘は全部で5件でした。「高」はこの1件だけで、残り4件は「中」が2件、「低〜中」が1件、「低」が1件でした。同じ検証ラウンドの中で、この1件だけが突出して重要度を引き上げられていたことになります。

前のラウンドでは、別の記述が「高」だった

この検証ゲートは1回で終わりません。同じ記事を複数ラウンドにわたって検証し直します。実際、1ラウンド目では今回とはまったく別の記述(出典の表記が別資料の注記と矛盾していた点)が「高」として指摘され、そちらは修正されました。2ラウンド目に新たに浮上したのが、この「miseのperl注入」の記述だったのです。

同じ検証ゲートでも、ラウンドが変われば「高」と評価される対象も変わりうる、ということです。ただしこれは2ラウンド分の観察に過ぎず、そこから一般的な傾向を導き出せるものではありません。

オーケストレーターはどう再評価したか

検証エージェントの「高」判定を受け取った後、記事の進行を最終判断する役(このパイプラインではオーケストレーターと呼んでいます)は、それをそのまま採用しませんでした。2つの観点で再評価し、「中」に格下げした上で、記事の進行を許可しました。判定の記録には、次のように書かれています。

検証エージェントは重要度「高」と評価したが、最終判断としては「中」に留める。理由: この記述は一次計測ログの逐語記録に基づく実在の一次情報であり、捏造・誇張ではない。ただし記事の核心を支える主張ではなく、周辺的な補足であるため、誤りがあっても記事の看板結論とは矛盾しない。

観点1 ── 出典は実在するか

該当の記述は、以前に別の場所で実際に計測・記録されていた一次情報の逐語引用に基づいていました。捏造や誇張ではないことは、この記述をあらかじめ検証済みだったため確認できていました。「情報の出所が実在し、確認済みである」ことが、格下げの第一の根拠でした。

観点2 ── 記事の核心を支える主張か

誤りだった場合の実害の大きさは、その記述が「記事の看板結論を直接支えているかどうか」によっても変わります。ここで言う「核心」は、この記事自身の核心ではなく、検証対象になっていた別記事の核心(本番環境を直接使わずに事前検証する手法)を指します。今回の「miseのperl注入」という記述は、その核心的な主張を直接支える論拠ではなく、あくまで周辺的な補足でした。

「一次情報として実在するかどうか」と「記事の核心を支える主張かどうか」は独立した2つの軸です。この2つを明示的に言語化した上で、「中」への格下げが判断されました。

再評価を隠さず報告した

この再評価は、結果だけを黙って採用したのではありませんでした。「検証エージェントの評価と、オーケストレーターの最終判断が異なった」こと自体を、作業の依頼者への完了報告の中で明示しました。報告の内容は次のようなものでした。

検証エージェントが同項目を「高」に格上げしましたが、一次情報の逐語記録に基づく実在情報であり記事の核心を支える主張ではないため、最終判断として「中」に据え置き、進行可と判定しました。

透明性のポイントは、「格下げした」という結果そのものではありません。「なぜ検証エージェントと異なる判断をしたか」を、依頼者に伝わる形で明示したという、報告の仕方にあります。

なお、この報告に対して依頼者から再評価そのものへの評価コメントはありませんでした。ただし、この一連のやり取りが、今読んでいただいているこの記事を企画するきっかけになっています。

この判断は、仕組みのどこに位置するのか

生成と評価を別のエージェントに分離し、評価結果をフィードバックとして扱う設計は、AIエージェント設計の基本形の一つとして知られています。Anthropicはこれを Evaluator-Optimizer ワークフローと呼び、「一方のLLM呼び出しが応答を生成し、もう一方が評価とフィードバックをループの中で提供する」設計だと説明しています1。有効に機能する条件として、明確な評価基準があること、そして反復的な改善が実証可能な価値を持つことの2点を挙げています1

実行を一時停止し、人間の判断を挟んでから再開する仕組みも、フレームワーク側の標準機能として提供され始めています。たとえば LangGraph には interrupt() という機能があり、これによってグラフの実行を一時停止できます2

評価役としてのLLM(LLM-as-a-judge)にバイアスが伴うことは、複数の学術研究でも指摘されています。ある研究は、15個のLLMジャッジ・約150,000件の評価インスタンスを対象に、位置バイアス(回答の掲載順序によって評価が左右される傾向)を計測し、その大きさがジャッジやタスクによって大きく異なることを報告しています3。別の研究は、LLMが自己生成かどうかに関わらず、より馴染み深い(パープレキシティの低い)文章を高く評価する傾向があることを指摘しています4。さらに別の研究は、12種類のバイアスを分類する定量化フレームワークを提案し、高性能なモデルでも特定のタスクでは無視できないバイアスが残ることを確認しています5。この3本はそれぞれ異なる種類のバイアスを扱っており、「LLMによる評価にはバイアスが伴いうる」という点で足並みは揃っていますが、同一の実験結果が再現されているわけではありません。

ただしこれらは、いずれも「仕組み」の話です。評価役と生成役を分ける設計や、人間の介入を挟む機能は用意されていても、「実際に受け取った評価結果を、人間や上位の判断者がどんな観点で再評価するか」という判断の中身にまで踏み込んで書かれた記事は、あまり見かけません。この記事が扱っているのは、まさにその中身、1回の判断で何を根拠にしたかという部分です。

似た文脈として、以前に「AIレビューをJudge(評価者)ではなく、一次データに立ち返る検算の道具として使う」という考え方を 検算の道具として使う という記事で書いています。この検証ゲートには、指摘が複数ラウンド続くと自動修正を打ち切る仕組みもあり、その運用については 別記事 で扱っています。今回の再評価は、そのゲートが「進行可」を出す一歩手前で起きた、1回の判断の記録です。

「鵜呑み」でも「全部人間」でもない選択肢

今回のケースから抽出できるのは、「出典の実在性」と「記事の核心への影響度」という2つの観点でした。ただし、これは事前に明文化されていたルールではありません。その場の判断の中で言語化されたものでした。「サブエージェントの重要度判定を、一次情報の裏付けで再評価する」という一般的な基準が、あらかじめ文書として存在していたわけではないのです。

だからこそ言えることがあります。事前に完璧な基準を作れていなくても、判断のたびに観点を言語化して記録に残すことは、次の判断のための材料になります。今回のケースは、その最初の1件として記録されたに過ぎません。「鵜呑み」でも「全部人間」でもない再評価は、統計的な傾向として確立された方法論ではなく、1回ずつの判断を積み重ねることでしか育っていかない、というのが今のところの実感です。

もし自分のパイプラインでも、サブエージェントの判定をどう扱うか迷っているなら、まずは1回、判断の理由を言葉にして残してみることから始められるかもしれません。

ブログ運用やAI活用に関するご相談は、コンタクトフォーム からお気軽にお問い合わせください。

Footnotes

  1. Anthropic - Building Effective Agents 2

  2. LangChain - Interrupts (LangGraph)

  3. Judging the Judges: A Systematic Study of Position Bias in LLM-as-a-Judge

  4. Self-Preference Bias in LLM-as-a-Judge

  5. Justice or Prejudice? Quantifying Biases in LLM-as-a-Judge