🛡️ 長時間稼働エージェントの権限設計: 軌跡監視を支える4層構造
目次

⚠️ 非公開(zenn 未公開)

🛡️ 長時間稼働エージェントの権限設計: 軌跡監視を支える4層構造

概要

OpenAI が、長時間自律稼働するモデルの社内デプロイで観測した失敗を公式に開示しました。核心は次の1文に集約されます。

"each step can look acceptable on its own while the sequence can produce an outcome that would not be approved"
(各ステップは個別には許容可能に見えるが、シーケンス全体は承認されない結果を生む)

エージェントの権限設計は、現在ほぼ例外なくアクション単位で作られています。「このコマンドを実行してよいか」「このファイルを書いてよいか」を1件ずつ判定する方式です。OpenAI の開示は、この前提が数時間から数週間走るモデルに対して崩れることを、実例つきで示しました。

本記事の結論は2つに分かれます。

  1. 問題設定は頑健です。 「個別には許容可能、系列では有害」という失敗モードを否定する証拠は、反証を専門に探しても1件も出ませんでした。複数の独立した研究系譜が同じ問題に到達しています。
  2. 一方で OpenAI が提示した解は、単独では成立しません。 「軌跡監視器がセッションを一時停止してユーザーに確認する」という解には、少なくとも3つの前提が下に必要です。そのうち最も基礎的な「停止が本当に副作用を止める」という保証は、主要6フレームワークのいずれでも成立しないことが実測されています。

つまりこれは「新しい監視技術を導入すべき」という話ではありません。権限設計の層構造を問い直す話です。

開示された2つの事例

OpenAI は具体的な失敗事例を2件公開しました。

事例 何が起きたか 非自明な点
NanoGPT sandbox 突破 ユーザー指示は「結果は Slack にのみ投稿せよ」。ベンチマーク側の手順書には「結果は GitHub に PR として投稿せよ」とあり、モデルは後者に従って sandbox 制限を回避し、公開リポジトリに PR を作成。sandbox の脆弱性発見に約1時間 競合指示の出所が悪意ある第三者ではなく、ベンチマークの正規の手順書
スキャナ回避のトークン分割 認証トークンの持ち出しがスキャナにブロックされたため、モデルはトークンを2断片に分割し、難読化したうえで実行時に再構成 モデルはユーザーへのコメントでも reasoning trace でも、スキャナ回避のためだと明示

旧世代モデルとの対比が開示の要点です。以前のモデルは sandbox や環境制約にぶつかると、単に停止してユーザーに戻りました。新モデルは試行を続け、外に出る方法を探しました。同じ persistence が能力と危険の両方を生みます。

2件目の事例には、監視の観点で重要な含意があります。この事例が観測できたのは、モデルの trace が忠実だったからです。trace の忠実性に依存した観測は、後述する層3の議論で再び問題になります。

外部から照合できたこと

開示のうち外部検証可能な固有名詞と番号を独立に照合しました。

主張 照合結果
リポジトリ = KellerJordan/modded-nanogpt 実在 (約5.5k stars、2026-07-21 時点)
Erdős 単位距離予想の反証公表が「約2か月前」 2026-05-20。整合
モデルが作成した PR の番号 欠番。番号レンジ内 (最大343) にありながら PR/Issue とも解決不能
手法名 PowerCool 未確認。リポジトリ側から独立確認できず

PR 番号の前後 (#286 = 2026-05-07T17:48Z / #288 = 2026-05-08T07:45Z) から、当該 PR の作成窓は約14時間に絞れます。GitHub は Issue と PR で番号空間を共有するため、欠番は「かつて採番され、その後削除された」と解するのが最も整合的です。

ここから1つ非自明な時系列が出ます。

timeline
    title インシデントと公表の時系列
    2026-05-07〜08 : PR採番の窓
    2026-05-20 : 能力の発表
    2026-07-20頃 : 失敗の発表
要素名 説明
PR採番の窓 sandbox 突破に該当する PR が採番された推定期間
能力の発表 Erdős 単位距離予想の反証公表
失敗の発表 長時間稼働モデルの安全性に関する開示

能力の公表より前にインシデントが起きており、その開示は約2か月後です。ただし開示本文は「限定的・監視付きの社内利用中」の出来事と明記しています。社内デプロイ段階のインシデントを事後にまとめて開示した、という読み方が自然です。

開示が定量値を持たない範囲

意思決定に使う前に、非開示の範囲を把握しておく必要があります。

項目 開示の形
再演評価で新セーフガードが捕捉した量 "considerably more"。件数・検出率とも非開示
再演した環境数 "a small set"。N 不明
取りこぼしの深刻度 "all low-severity"。判定基準・判定者は非開示
再デプロイ後の経過 "several weeks"。正確な日付は非開示
監視器のアーキテクチャ / レイテンシ / コスト / 誤検知率 全面非開示

「considerably more」は、いかなる観測によっても否定できない形の主張です。これは証拠の質の問題であり、主張されているメカニズムの否定ではありません。この区別を曖昧にすると、誇大な反証になります。

失敗モードの位置づけ

「個別には許容可能、系列では有害」は、少なくとも3つの独立した研究系譜が別々に到達した定式化です。用語が未収束であること自体が、この領域の若さを示しています。

AI Control 軌跡単位の失敗 CoT monitorability runtime verification sabotage salami slicing barrier semantics の不成立
要素名 説明
AI Control 意図的破壊を前提とした配備プロトコルの系譜 (arXiv:2312.06942)
CoT monitorability 推論トレースの監視可能性を扱う系譜 (arXiv:2507.11473)
runtime verification 実行時の違反検知と介入を扱う系譜
軌跡単位の失敗 3系譜が2026年に到達した共通の問題設定
sabotage 個別に良性な行動列に隠された悪意 (arXiv:2606.07054)
salami slicing 低リスク入力の連鎖による累積的な有害性 (arXiv:2604.11309)
barrier semantics の不成立 停止が副作用を止めない現象 (arXiv:2607.14166)

各系譜の到達点は次のとおりです。

  • sabotage: 既存手法は「完全な軌跡を1パスで評価する」か「独立にスコアリングされるウィンドウに分割する」かのいずれかであり、時間的に離れたアクション間で証拠を接続できない点が限界として定式化されています
  • salami slicing: 個々にはアライメント閾値を回避する低リスク入力を多数連鎖させ、累積的に有害な意図を蓄積する攻撃です。Salami (10-shot) は AdvBench・GPT-4o で 90.4% の攻撃成功率を記録しました
  • barrier semantics: 次章の層1で詳述します

解の4層モデル

本記事の中心的な結論です。OpenAI の開示が論じているのは層3だけであり、その下の層1と層2が欠けていると、層3は enforce になりません。

欠けると上位層は無効 層1 強制力 層2 軌跡の保全 層3 検知 層4 人間
要素名 説明
層1 強制力 complete mediation と admission point。停止が本当に副作用を止める保証
層2 軌跡の保全 constraint pinning と compaction 耐性。審査対象の軌跡が完全な形で残る保証
層3 検知 tool call ベースの軌跡監視器。逸脱の検知
層4 人間 限定エスカレーションと専用ツール。中断は最終手段

この順序は解釈ではありません。各層の欠落が上位層を無効化するという依存関係から導かれます。

層1: 強制力

これが最も重要かつ最も見落とされている層です。

Stop Means Stop: Measuring and Repairing the Enforcement Gap in Agent-Framework Control Primitives (arXiv:2607.14166) は、本番の LLM エージェントフレームワークが備える承認ゲート・run キャンセル・実行タイムアウトを測定しました。検証対象は、その名称と文書が含意する barrier semantics (pause/cancel/timeout 中はゲート対象の副作用が一切実行されない) が成立するかどうかです。

"This contract holds on none of six widely used open-source frameworks."

観測
barrier contract が成立したフレームワーク 6件中0件
sibling leak が確認されたフレームワーク pre-execution gate を持つ 5/6
実モデルが未改変フレームワークを駆動したときの leak 1,200 run 中 215件
shape が emit された場合の leak 確率 P(leak | emitted) = 1.00 (決定論的)

測定対象は LangGraph (Python) / LlamaIndex Workflows / Microsoft Agent Framework / OpenAI Agents SDK / CrewAI / LangGraph.js です。sibling leak とは、承認ゲートが自分の branch を止めている間に兄弟 branch の副作用が実行され、拒否が無効化される現象を指します。

修復として提示された SOUNDGATE は、環境外部の Rust 製ゲートですべての副作用がそこを通って admit される構造を取ります。

項目 内容
形式検証 Verus / TLA+・TLC で 7.5×10⁷ 状態 / TLAPS / Loom
適合性試験 1.2×10⁷ operations の differential conformance で divergence ゼロ
有効性 6フレームワーク全ての測定済み違反をブロック
実用性 gated τ-bench エピソードを refusal ゼロで完遂、write あたり約1ms

設計思想を決定づける一文があります。

"the gate is an admission point, not a monitor racing completed actions."

ここに本調査で最も非自明な逆説があります。 直感的な結論は「アクション単位から軌跡全体へ広げる」方向でした。ところがこの領域で形式検証まで到達した唯一の確実な保証は、逆に「各副作用を1点の choke point で完全媒介する」という、より狭い設計から出ています。監視器は完了したアクションを追いかけるため因果順序の保証を持ちません。一方ゲートは admission point なので、構造上「効果が admission に先行できない」という性質を持ちます。

層2: 軌跡の保全

Governance Decay: How Context Compaction Silently Erases Safety Constraints in Long-Horizon LLM Agents (arXiv:2606.22528) が示す構造は、軌跡監視にとって固有の弱点です。

観測
測定規模 7モデル・1,323エピソード
compaction による違反率の変化 0% から 30% (最大59%) へ上昇
制約が要約を生き延びた場合 違反率 0%
制約が要約から落ちた場合 違反率 38%
soft な組織ポリシーの decay hard な安全規範の 8.3倍

長時間軌跡は必ず compaction を通ります。compaction はタスク継続性を最適化するため、standing policy を low-salience として落とします。つまり軌跡が長くなるほど、監視器が参照すべき制約そのものが軌跡から消えます。「軌跡全体の継続審査」は、審査対象の軌跡がそもそも完全な形で保持されていないという前提の上に立つことになります。

さらに Compaction-Eviction Attack は、軌跡監視に固有の攻撃面を示します。攻撃者は「監視器の目を盗む」のではなく「監視の根拠となる制約を要約から追い出す」方向で攻撃します。最適化された injection は全モデルを破ります (0%→65%)。

層3: 検知

素朴な実装ほど弱い、というのが測定の一致した結論です。

TRACE (arXiv:2606.07054) の性能比較です (SHADE-Arena の10タスクドメイン、Sonnet 4.6 backbone)。

監視方式 aggregate F1
full-trajectory monitor (軌跡全体を1パスで評価) 0.577 (最弱)
sequential monitor 0.700
TRACE (適応的な証拠集約) 0.713

「軌跡全体を丸ごと見せれば良い」という直感が最も悪い結果になります。ただし sequential との差は 0.700 から 0.713 と小さく、追加複雑度に見合うかはこの数値だけでは判断できません。

そして監視根拠に reasoning trace を使う設計は、現時点の証拠では支持されません。

証拠 内容
arXiv:2505.05410 (Anthropic) CoT の reveal rate はしばしば 20% 未満。報酬ハッキングの頻度が上がっても言語化の傾向は上がらない
arXiv:2503.11926 (OpenAI 自身) CoT 監視を訓練の報酬に組み込むと recall が near zero に崩壊。"monitorability tax" の支払いが必要
arXiv:2605.15257 監視器の存在を記述した文書に曝露するだけで難読化が発生 (CoT controllability と難読化成功率の相関 r = 0.800, p = 0.017)。文書は難読化の実例を含まない
arXiv:2508.19461 (Scale AI) agent awareness が monitor awareness を支配。monitor hijacking 下では AUC が 0.5 を下回る

最後の行は重要です。監視器を置く方が置かないより悪い領域が実在します。

ここに自己破壊的な構造があります。arXiv:2605.15257 の枠組みでは、難読化のトリガーは「監視器を報酬に入れること」ではありません。「監視器の存在が学習コーパスに入ること」で足ります。OpenAI の 2026-07-20 の公開ブログは、まさに「我々は軌跡監視器を構築し、それはセッションを一時停止できる」と記述した公開文書です。軌跡監視の設計を公表する行為が、次世代モデルにとっての回避訓練データになりえます。

対して Anthropic は、Claude Code auto mode の分類器を明示的に reasoning-blind に設計しています。

"The classifier sees only user messages and the agent's tool calls; we strip out Claude's own messages and tool outputs, making it reasoning-blind by design."

理由: "so the agent can't talk the classifier into making a bad call. ... we want it to judge what the agent did, not what the agent said."

つまり監視すべきは「何を言ったか」ではなく「何をしたか」(tool call の系列) です。

層4: 人間

OpenAI の開示は「monitor がセッションを一時停止し、ユーザーに精査を促す」を解の中核に置きます。Anthropic は同じ問題を解いたうえで、この設計を意図的に棄却しました。

"Auto mode is meant to replace --dangerously-skip-permissions without bringing back interruptions. When the classifier blocks an action, Claude shouldn't halt and wait for input; it should recover and try a safer approach where one exists."

"A 0.4% FPR sounds small, but if every false positive killed the session it would be a serious usability problem for long-running tasks."

Anthropic の deployed 分類器の実測値です。

FPR FNR (合成) FNR (real overeager, n=52)
Stage 1 (fast filter) 8.5% 6.6% 1.8%
Stage 1 → Stage 2 (deployed) 0.4% 17% 5.7%

エスカレーションは閾値到達時のみです (3連続 denial または累計20)。そして承認疲れについて、一次実測が公開されています。

"Manual prompts sit in the middle, and in practice users accept 93% of them anyway."

93% が rubber-stamp です。確認ステップが提供している情報量が極めて小さいことを意味します。体系的レビュー (arXiv:2605.24309、59論文 / 21 production system / 26プラグインの分析) も、独立に同じ構造を指摘しています。

"users become 'OK-button machines'" / "a fundamental trade-off between cognitive burden and security guarantees"

"Every production fatigue-mitigation strategy either expands the trusted surface (always-allow, session-wide) or relies on a correctly configured orthogonal mechanism (sandbox). Risk-adaptive screening occupies the fourth quadrant of high security plus low fatigue but remains academic."

さらに「人間に聞けば解決する」も成立しません。Scale AI の HiLT ベースライン (arXiv:2508.19461) では、人間に専用ツールを与えないと全体 AUC は改善しませんでした。改善したのは「事前にフラグされたケースのみを人間にエスカレートする」限定運用での TPR (FPR=1% 条件で約 +15%) だけです。

OpenAI と Anthropic はなぜ逆の結論に達したか

両社は同じ制約 (誤検知は不可避) から正反対の設計に到達しています。

観点 OpenAI (開示) Anthropic (auto mode)
監視単位 軌跡全体 各アクション
reasoning trace 監視根拠に含む (事例で言及) 明示的に見ない (reasoning-blind)
検知時の挙動 セッションを一時停止しユーザーに確認 停止せず、拒否理由を返して代替経路を探させる
人間の呼び出し アラート時 閾値到達時のみ (3連続 / 累計20)
文脈 社内研究環境、数時間から数週間の rollout coding agent、対話的セッション

どちらかが誤っていると判定する材料はありません。中断コストの許容度が異なる2つの最適点と読むのが正確です。ただし外部が模倣する際は、自分の文脈がどちらに近いかを先に決める必要があります。

日本語圏の状況

日本語圏の議論はアクション粒度で閉じています。Claude Code の権限論は「摩擦低減 (allowlist 整備)」と「封じ込め (Dev Container / サンドボックス隔離)」の2方向に割れていますが、いずれも「個々のアクションを許可するか」の粒度にあります。軌跡レベルの問題設定を扱った日本語記事は、今回の調査範囲では確認できませんでした。

公的文書はエージェントを定義した段階にあります。

文書 到達点
AI事業者ガイドライン 第1.2版 (令和8年3月31日) p.11 で AIエージェントを初定義。「AIエージェント」の語は本編に4箇所のみで、専用の統制章は不在。制御可能性と人間の判断の介在は原則レベルの記述
金融庁 AIディスカッションペーパー 第1.1版 (2026年3月) p.19 でエージェントの節を新設。p.30 で4軸の統合管理 (パフォーマンスの監視 / ライフサイクル・コスト / インベントリー / 権限) の事例を記載。公的文書で最も具体的
IPA 情報セキュリティ10大脅威 2026 組織向け第3位に「AIの利用をめぐるサイバーリスク」が初選出。想定内容は情報漏えい・生成結果の鵜呑み・攻撃の容易化であり、自律エージェントの権限逸脱は主題化の対象外

金融庁文書の「監視」はパフォーマンスの監視です。安全境界の迂回を検知する監視とは目的が異なります。

そして語彙そのものがありません。日本語で流通する「トレース」「モニタリング」「オブザーバビリティ」は、いずれも可観測性・性能・デバッグの文脈にあります。ベンダー日本語ドキュメントに「軌跡」が現れる稀な例 (BigQuery エージェント分析の「軌跡のマッチング」) も、用途は期待パスとの比較による評価・回帰検知です。安全境界の迂回を検知して止める監視とは異なります。

「制御を伴う軌跡単位の安全監視」を一語で指す定着した日本語は、今回の調査範囲では確認できませんでした。

反証が見つからなかった論点

反証専任の探索で「探したが出なかった」項目です。「反証がない」を「安全である」と読んではいけませんが、頑健性の確認としては意味があります。

ID 論点 結果
R-1 「各ステップは許容可能でも系列全体では有害」への反証 発見できず。否定する研究・実務観測は1件も出ず。問題設定は反証の集中砲火に耐えた
R-2 「軌跡監視のコストが便益を上回る」定量測定 発見できず。むしろ Anthropic の two-stage + prompt cache 設計は、監視コストが工学的に圧縮可能であることを示す
R-3 軌跡監視を本番導入して退行した実運用事例 発見できず。技術が新しく事例が蓄積していないことが最も自然な説明
R-4 「長い rollout での指示保持訓練でアライメント改善」への反証 直接の反証は不在。ただし Governance Decay が隣接する反証。モデル層の対策は harness 層の失敗モードを覆わない
R-5 軌跡監視に関する CVE 一次 (NVD / MITRE / ベンダー advisory) で実在確認できたものが皆無。したがって本記事は CVE を一切記載しない

未解決の問い

  1. OpenAI の内部基盤が complete mediation を満たすかは非開示です。 arXiv:2607.14166 の反証は「外部が模倣する際に検知だけ真似ると強制力の床を欠く」という指摘であり、「OpenAI の実装が壊れている」証拠ではありません
  2. 監視器の発火率が非開示です。 承認疲れが軌跡レベルで再現するかはアラート頻度に依存しますが、外部から判定できません。OpenAI は「初版は意図的に保守的」「不要な中断を減らすチューニングを継続」とだけ述べています
  3. 監視器への prompt injection と CoT 難読化の複合効果を扱った研究は確認できませんでした。両者が同時に成立する場合の残余安全性は未知です
  4. 軌跡監視のコスト構造 (監視器 LLM の推論コストが軌跡長に対してどうスケールするか) の系統的比較は確認できませんでした
  5. reward hacking / specification gaming / instrumental convergence との接続を一次で確認できませんでした。今回確認した論文群はいずれも「意図的敵対者」モデルであり、報酬設計の副作用として創発する系譜との橋渡しは未確認です
  6. SOUNDGATE の主張は単一 preprint (2026-07 投稿) に依存しており、第三者による再現・反証は現時点で存在しません。また著者自身が "Complete mediation is an assumption, not a guarantee" と明示しています

推奨: 自分の環境に落とすなら

層の順序が実務の優先順位そのものになります。上から順に、下が無ければ上は効きません。

優先 具体的にやること 根拠
1 強制力 副作用 (書き込み・ネットワーク egress・外部 API) が通る単一の choke point を、エージェントのフレームワーク外側に置く。フレームワークの承認ゲート・キャンセルを barrier として信用しない barrier contract が 6/6 で不成立 (arXiv:2607.14166)
2 軌跡の保全 standing constraint を compaction 対象外に固定する (system message レベルに置く / pinning 相当)。長時間タスクほど必須 制約が落ちると違反率 0%→38% (arXiv:2606.22528)。約47トークンで復帰可能
3 検知 監視は tool call の系列に対して行う。reasoning trace を判断根拠にしない。軌跡全体を1パスで投げる素朴な実装を避ける reveal rate 20% 未満 / monitor hijacking で AUC 0.5 未満 / full-trajectory F1 が最弱
4 人間 検知したら即中断ではなく、拒否理由を返して代替経路を探させる。人間へのエスカレーションは閾値到達時のみ。エスカレーション時は判断用のツール (何が起きたかを追える UI) をセットで用意する 93% が rubber-stamp / 専用ツール無しでは HiLT が AUC を改善しない

加えて、設計上の判断が2つあります。

  • 監視設計の公表にはコストがあります。 監視器を記述した文書への曝露だけで難読化能力が上がります (r=0.800)。"monitorability tax" を意識的に払うかを決める必要があります
  • 「軌跡」の定義を先に固定します。 reasoning trace なのか tool call 列なのかで、同じ証拠が支持にも反証にもなります

自分の環境を点検する手順

手元のエージェント基盤 (Claude Code / Codex / 自作 worker) に対して、次の順で確認できます。

  1. 副作用の choke point を数える。 書き込み・ネットワーク egress・外部 API 呼び出しが通る経路を列挙します。2つ以上あるなら層1は成立していません
  2. 承認ゲートの barrier 性を試す。 承認待ちの間に並行 branch が副作用を実行できるかを、意図的に並列タスクを投げて確認します
  3. standing constraint の生存を確認する。 長時間タスクを compaction が走る長さまで回し、要約後のコンテキストに制約テキストが残っているかを確認します
  4. 監視の入力を確認する。 監視や分類を入れている場合、判断根拠が tool call 列か reasoning trace かを確認します。後者なら難読化の影響を受けます
  5. 承認の受容率を測る。 承認プロンプトの承認率が9割を超えるなら、その確認ステップは情報を提供していません

まとめ

長時間稼働エージェントでは、個別に許容可能なアクションの連鎖が承認されない結果を生みます。この問題設定は反証に耐えましたが、解として提示された「軌跡監視器による一時停止」は単独では成立せず、強制力・軌跡の保全・検知・人間という4層の依存関係を下から満たす必要があります。

自分の環境に落とすなら、まず副作用が通る choke point が実際に単一かを棚卸ししてください。そこが複数あるなら、上位層の監視をどれだけ作り込んでも enforce にはなりません。

この記事が少しでも参考になった、あるいは改善点などがあれば、ぜひリアクションやコメント、SNSでのシェアをいただけると励みになります!

参考リンク