CLAUDE LABEN
SCIENCE — Claude Scienceがベータ公開され、研究ツールを統合し監査可能な成果物を生成するワークベンチが使えますMODEL — Claude Opus 4.7のfast modeが7月24日に廃止され、Opus 4.8のfast modeへの移行が必要になりますCODE — Claude Code v2.1.195でフルスクリーン時のマウス操作を無効化できるトグルが追加されましたCODE — ハイフン入りのhook matcherが部分一致ではなく厳密一致になるよう修正されましたAGENT — Claude Scienceは調整役エージェントが専門エージェントを呼び出し、引用や計算をレビューする多段構成ですCLOUD — ClaudeがMicrosoft Foundry(Azure)で一般提供され、Azureネイティブで利用できますSCIENCE — Claude Scienceがベータ公開され、研究ツールを統合し監査可能な成果物を生成するワークベンチが使えますMODEL — Claude Opus 4.7のfast modeが7月24日に廃止され、Opus 4.8のfast modeへの移行が必要になりますCODE — Claude Code v2.1.195でフルスクリーン時のマウス操作を無効化できるトグルが追加されましたCODE — ハイフン入りのhook matcherが部分一致ではなく厳密一致になるよう修正されましたAGENT — Claude Scienceは調整役エージェントが専門エージェントを呼び出し、引用や計算をレビューする多段構成ですCLOUD — ClaudeがMicrosoft Foundry(Azure)で一般提供され、Azureネイティブで利用できます
記事一覧/Claude Code
Claude Code/2026-07-01上級

AIが出した数値と出典を、そのまま受け入れない — 検証専任サブエージェントで突き合わせるゲート設計

エージェントが生成した要約の数値と出典を、生成とは別のサブエージェントで一つずつ検証してから受け入れる設計を、動くTypeScriptと決定論的な再計算・出典突き合わせのコードでまとめました。

Claude Code175サブエージェント10検証3自動運用5Claude Agent SDK12

プレミアム記事

Claude Science の発表で、調整役のエージェントが専門エージェントを呼び出し、さらに「引用と計算を検証する専任のエージェント」を挟む、という多段構成が紹介されていました。私が一番目を留めたのは新しいスキルの数ではなく、この「検証を独立した役割として分ける」という発想でした。

私自身、個人開発で一人で複数サイトの自動処理を回しています。ある朝、生成された集計サマリに「前週比 +18%」と書かれていて、けれど手元の生データを電卓で足し直すと実際は +8% でした。モデルはもっともらしい数値と、それらしい出典表記を、驚くほど自然に作ります。そして要約と原データが静かにズレても、要約だけを眺めているかぎり誰も気づきません。この一件以来、私は「生成物の数値と出典を、生成したのと同じ流れの中で信じてしまう」構造そのものを疑うようになりました。

ここからは、生成と検証を明確に分け、数値は決定論的に再計算し、出典は原文と文字列で突き合わせ、1つでも通らなければ全体を却下する——そういう受け入れ前のゲートを、動くコードで組んでいきます。

なぜ「生成の続き」で検証してはいけないのか

失敗が起きるのは、生成したモデルにそのまま「合っていますか」と尋ねてしまうときです。同じ文脈・同じ思考の流れの中で自己点検させると、モデルは自分が直前に出した数値を正しい前提として扱いがちで、ズレを見落とします。人間でいえば、自分の書いた原稿を書いた直後に自分だけで校正するようなものです。

検証を独立させる価値は、次の3点に集約されます。

第一に、文脈の分離です。検証は「生成物」と「一次データ・出典」だけを入力に取り、生成時の思考を引き継ぎません。第二に、判定の決定論化です。数値は言語モデルに再確認させるのではなく、生データから関数で計算し直します。第三に、fail-closedです。検証できなかった主張は「たぶん正しい」ではなく「不合格」として扱い、通せない主張が1つでもあれば成果物ごと止めます。

主張を粒度で取り出す(クレーム台帳)

まず、要約という自由文のままでは検証できません。要約から検証可能な最小単位——数値主張と出典主張——を構造化して取り出します。生成エージェントには、要約と同時にこの「クレーム台帳」を必ず併せて出させます。

// claims.ts — 検証可能な主張の型
export type NumericClaim = {
  id: string;
  kind: "number";
  statement: string; // 人が読む主張文(要約中の該当箇所)
  metric: string;    // 再計算に使う指標キー
  value: number;     // モデルが主張した値
  tolerance?: number; // 相対許容誤差(省略時は既定値)
};
 
export type CitationClaim = {
  id: string;
  kind: "citation";
  statement: string;
  quote: string;     // 出典に存在するはずの引用文字列
  sourceId: string;  // 突き合わせる原文の識別子
};
 
export type Claim = NumericClaim | CitationClaim;
 
export type Artifact = {
  summary: string;
  claims: Claim[];
};

ここで大切なのは、value を「モデルが主張した値」として保持する点です。検証側はこの値を信じず、あとで自分で計算した値と照合します。台帳は成果物の付属物ではなく、検証の入力そのものになります。

ここまでお読みいただきありがとうございます。

この記事の続きを読む

この先には、実装コードやベンチマーク結果など、実務でお役に立てる内容をご用意しています。このサイトは広告を掲載しておらず、サーバーや開発にかかる費用はメンバーの皆様のご支援で成り立っています。もしお役に立てていましたら、ご支援いただけますと大変ありがたいです。

この記事で得られること
生成物の数値を「決定論的に再計算」して突き合わせる検証関数の実装(許容誤差つき)
出典の引用文字列を正規化して原文スニペットに存在するか照合する fail-closed な照合ロジック
検証専任サブエージェントと決定論チェックを役割分担させ、1つでも落ちれば全体を却下するゲートの組み方
Stripe による安全な決済 · いつでもキャンセル可能

この記事を購入する

この先の内容をすべてお読みいただけます。一度のご購入で、いつでも何度でもアクセスできます。このサイトは広告を掲載しておらず、皆さまのご支援がサーバー費用などの運営を支えています。

または
メンバーシップなら全記事が読み放題 →
シェア

お読みいただきありがとうございます

Claude Lab は広告なしで運営しており、サーバー費用などの運営コストはメンバーシップのご支援で賄っています。実装コード・ベンチマーク・本番設計パターンなど、実務でお役立ていただける記事を毎日更新しています。もし読んでよかったと感じていただけましたら、ぜひご覧ください。

  • コピー&ペーストで使える実装コード付き
  • 毎日新しい上級ガイドを追加
  • ¥580/月 または ¥1,480 の永久アクセス
メンバーシップを見る →

関連記事

Claude Code2026-06-28
ストリーミングを並行で束ねると、ノートPCの CPU が先に音を上げる — 実測値で並行本数を絞る適応スロットルの設計
ストリーミングのCPU使用が軽くなっても、複数セッションを1台で束ねるとホストのCPUが先に飽和します。固定セマフォの限界と、実測CPUに応じて並行本数を上下させる適応ゲートの実装を、動くコードと実測値で解説します。
Claude Code2026-06-25
レート上限が倍増しても自動運用の間隔は詰めない — 増えた余裕は429対策に回す
Claude Code のレート上限が引き上げられたとき、間隔を詰めたくなる気持ちを抑えて、増えた余裕を再試行枠に回した実例。スループットの余裕を安定性に変える自動運用の設計メモです。
Claude Code2026-06-14
サブエージェントの出力を採点し、不合格なら作り直させる SubagentStop フック
Claude Code のサブエージェントが時々ルール違反の成果物を返す問題に、SubagentStop フックで自動採点と再依頼を組み込む方法を、動くコードと運用所感つきで整理します。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →