目次

2026-11-02、AnthropicのFrontier Red Teamが研究記事 *Progress on provable inference for large language models* を公開し、証明可能な推論(provable inference)向けのオープンソースzkSNARK研究原型FlashProveをリリースした。狙う問題は一文で言えるが、テキストだけでは解くのが難しい:APIがトークンを返したとき、そのトークンが提供者が主張する特定の重みから出たのか——より安い代替、改ざんされたストリーム、有料モデルを装う別モデルではないのか——を暗号的に確かめる手段が、これまでほとんどなかった。FlashProveの答えは三段のループである:Commit → Prove → Verify。

関連記事:Anthropic が Claude で 123 のオープンソースライブラリを形式検証、Anthropic:未公開Claude研究モデルが実世界の重大脆弱性を発見、Anthropic研究:専門家はClaude Code利用時に判断をエージェントに委ねがち、同じオープンモデルでも、API 提供元を変えると速度と料金が変わる理由。これらはライブラリの形式検証、サイバー研究モデル、エージェントの判断委譲、推論プロバイダ差といった隣接トピックであり、FlashProveのゼロ知識推論証明と同題ではない。

「返答が上手い」は証明にならない理由

出力の質は弱い同一性信号にすぎない。安いモデル、量子化の代役、トークン列を編集する攻撃者でも、流暢な文は出せる。公開前後にモデルを検証する独立評価者、第三者ゲートウェイ経由の買い手、サーバ侵害を監視する運用者は同じ隙間に直面する:主張されたフロンティア重みを手元で再実行するのは通常不可能(重みは非公開でハード代も莫大)であり、提供者の言葉だけを信ずれば差し替えは検出できない。

証明可能な推論が狙うのは、より狭く検証可能な主張である:限られた計算資源と重みへのアクセスなしでも、応答が事前にコミットされたモデルから出たことを確かめられること。FlashProveはそれをzkSNARKで実装する——ゼロ知識(主張がすでに含意する以上の重み情報を漏らさない)かつ簡潔(モデル再実行より検証がはるかに安い)な短い証明書だ。

Commit → Prove → Verify

研究記事とGitHub READMEが揃える公開ナラティブは三段階である。

  1. Commit(オフライン)。 提供者は、一組の重みに正確に結び付く短いcommitment IDを公開する。重み自体は秘匿のまま;以後の証明はその指紋に対して検査される。
  2. Prove(オンライン、GPU)。 プロンプトと返信トークンに対し、証明者は次を主張する証明ファイルを出す:*コミット済みモデルを評価すると、これらの出力トークンが得られる*。
  3. Verify(CPU)。 commitment・プロンプト・返信を持つ者は、cp_verify などの検証器で主張を受理/拒否できる——重みなし、検証自体にGPUも不要。

完全性は正直な証明が受理されることを言う。健全性は、偽の主張に対する有効な証明の偽造が暗号仮定のもとで実質不可能であることを言う。ゼロ知識は、証明自体が重み・中間活性・どのMoEエキスパートが起動したかを漏らさないことを言う。簡潔性があるから、監査者は400B級の前向きパスを再生せず、メガバイト級の証明をCPUで検査できる。

何が証明され、何が証明されないか

証明される主張は推論経路上のモデル同一性である:このプロンプト上で、コミット済み重みがプロトコルの計算のもとでちょうどこれらのトークンを出すこと。それは答えが事実として正しい・安全・方針準拠であることの証明書ではない。正直なモデルでも幻覚は起こりうる。コミット済み計算にたまたま一致した「誤ったモデル」は健全性の失敗であり、「事実」の失敗ではない。

実務上の境界は次のとおりである。

  • 整数モデル+貪欲復号。 証明は公開重みの厳密な整数版についてであり、検査対象の各トークンがそのモデルの貪欲選択であることを主張する。浮動小数点のサーバ経路やサンプリング復号は、どこかの位置でずれ、証明された計算と一致しなくなることがある。
  • 重みは隠す;アーキテクチャは隠さない。 FlashProveは重みを隠す。アーキテクチャ隠蔽は本システムの目標ではない(将来課題と明記)。設計はMixture-of-Expertsを前提とし、MoEの疎性を証明者効率に使う。
  • 文脈上限:1,024トークン。 それより長い窓は現行原型の外にある。
  • 事後(post-hoc)、インラインではない。 証明は完成したテキストに対して事後に生成される(バッチ向けのprefill風処理)であり、ライブの各トークンにインライン遅延目標で必ず並走するわけではない。

Leanはランダムオラクルモデルでトップレベル Completeness/Soundness/Zero knowledge を形式化する。リリースには実行可能なLean検証器(遅いが形式的主張に結び付く)と、日常向けの高速C++検証器が含まれる。研究記事は明示する:論文と高速コードはLeanプロトコルから導かれるが、Lean・論文・高速実行コードの三者完全一致は保証しない。証明時間などのサイドチャネルはスコープ外。

公式Maverick例(自己申告;未再測)

研究記事とREADMEは、大規模デモとしてLlama 4 Maverick——400BパラメータMoE(トークンあたり約17Bが活性)——と公開の4-bit重み変換を使う。これらの数字はAnthropicが公表した計測である。スループット・証明サイズ・検証遅延・vLLM比は DigIntoAI のハードでは未再測である。

軸公式値(研究記事/README)
ハード(証明者)単一NVIDIA H100;評価文は80 GB GPUに加えホスト約290 GBメモリにも言及
窓リクエストあたり1,024トークン
オンライン証明24リクエストのバッチ ≈ 223秒 → 約110 tok/s
証明サイズ1証明あたり約18.78 MB(文面では1,024トークンあたり約19 MBとも)
検証24CPUスレッドで約17秒;単一スレッドで約21秒
vs vLLMモデルをvLLMで走らせるGPU時間のおよそ70–95×;ページは特定負荷で約72×/94×も記載
オフラインコミットモデルあたり一度約39分(記事によれば約1600万リクエスト分のあと再コミット)

GitHub READMEも、単一H100上のフルサイズMaverickでバッチ24時に約110 tok/sと記す。READMEの経路表は、検証のみ(通常のLinux、低メモリ)と、GPUスタック・ホストRAMおおよそ280–330 GB・約232 GBの4-bit取得用大容量ディスク・CUDAが要るフルMaverick証明を分けている——「誰でもノートPCで証明できる」話ではない。玩具/小モデル経路はエージェントやCI向けであり、上記Maverick数字の代替計測ではない。

研究原型の位置づけ——Claude APIのスイッチではない

FlashProveリポジトリの説明は次のとおりである:*A research prototype for zero-knowledge proofs of AI inference. Not maintained.* README見出しは Version 0.16.0、a research artifact: not maintained, not accepting contributions、Apache 2.0。GitHub APIは Apache-2.0、archived=false、説明 “Not maintained” と一致する。リポジトリの created_at は 2026-10-30T19:29:59Z = 2026-10-31 03:29:59 Asia/Shanghai;pushed_at は 2026-10-30T21:00:23Z = 2026-10-31 05:00:23 Asia/Shanghai——公開リポジトリの時計は研究記事の Published Nov 2, 2026 より前にある。

このリリースは「Claude APIが全チャットにエンドユーザー検証を載せた」ではない。コード・Lean証明・文書はApache 2.0のもと、研究原型である旨と長い制限リストが明示されている。

Frontier Safety/RSP側では、Anthropicは2026-09-30までに推論トラフィック検証の原型を出す公開目標を置いていた。研究記事は、その目標が推論トラフィックに署名し、信頼できるサーバで推論を再計算する、別だが関連するプロジェクトで達成されたと述べる。FlashProveは同じ目的を別手法で追う——署名+再計算ではなく、暗号的zkSNARK証明である。2026-10-19のRSP更新からの脚注では、目標名が 「inference verification」 へ移り、「provable inference」単独より広い枠だと述べられている。

運用チェックリスト

  1. 時刻。 研究記事 Published Nov 2, 2026;チーム Frontier Red Team。リポ作成 2026-10-31 03:29:59 Asia/Shanghai(UTC 2026-10-30T19:29:59Z)。
  2. ループ。 オフライン Commit → GPU Prove → CPU Verify(cp_verify)。主張:コミット済み重みがこれらのトークンを出す。
  3. 境界。 同一性/推論過程を証明——事実の正しさは証明しない。
  4. 復号。 整数+貪欲;浮動小数点やサンプリングは不一致になりうる。
  5. 秘匿。 重みは隠す;アーキテクチャは隠さない;MoE志向。
  6. 窓/タイミング。 最大1,024トークン;post-hocバッチでありインラインではない。
  7. 信頼の切り分け。 Lean定理+遅いLean検証器 vs、三者形式一致保証なしの高速C++検証器。
  8. 数字。 約110 tok/s、約19 MB、検証約17–21秒、vLLM比約70–95×=公式自己申告;未再測。
  9. ハード。 検証は軽くできる;フルMaverick証明はH100級GPUと大きなホストRAM——万能ノート証明ではない。
  10. 位置。 Apache 2.0;v0.16.0;not maintained / not accepting contributions;出荷済みClaude API検証機能ではない。RSPの署名+再計算トラックは関連だが別。

まとめ

FlashProveは、Anthropic Frontier Red Teamが重みを公開せずにコミット済み重みからAPI返信が出たことを証明するためのオープンzkSNARK研究原型である。有用な心的モデルは Commit → Prove → Verify であり、鋭い境界がある:貪欲な整数意味論、1,024トークン窓、事後証明、なお見えるアーキテクチャ、研究成果物としての保守スタンス。公式のMaverickスループットとオーバーヘッドは研究ページとREADME上の提供者計測であり——未再測である。ルータや侵害ホストがモデルを差し替えたかを気にするチームにとって、暗号的主張はどの重みが走ったかであり、トークンが真実かどうかではない。現場メモはフッターのサイト運営者連絡先から送れる。