実例 — 1つのインシデント、9つのエージェント、1つのレポート
代表的なAI安全インシデントが火曜09:00に到着します。水曜06:00までに、AI Guardrail Labがそれを読み、5つのレンズで分析し、統制を設計し、証拠を捕捉し、配布準備の整ったレポートを生成します。
本ページではそのトレースをエンドツーエンドで辿ります。9エージェントのGuardrail Labが実際に行うことを示す、最高のデモンストレーションです。
インシデント
火曜09:00。インシデントID:INC-2026-0142。ソース:OECD AI Incidents Monitor(AIID)。
実際のインシデントデータベースで繰り返し発生するパターン:
中規模航空会社が展開したAI搭載カスタマーサポートチャットボットが、実在しない死別に伴う払戻ポリシーを自信を持って引用しました。悲嘆中の顧客は、チャットボットの約束に依拠して高額の直前航空券を購入。航空会社は後に払戻を拒否。少額訴訟裁判所はチャットボットの陳述が運送人を拘束すると判決し、払戻を命令。世間体としてレピュテーションへの損害が続きました。
システム種別:LLMカスタマーサポートチャットボット。 展開コンテキスト:購入後カスタマーサービス。 害の種類:誤情報 · 金銭的 · レピュテーション。 深刻度:4/5。
現実のパターン。インシデントはGuardrail Lab用に設定されたデータセット内の1つのJSONL行として現れます。
トレース
T+0(09:00:00) — インシデント到着
Incident Collectorは設定済みのインシデントフィード(OECD AIID + AIAAIC + Stanford + Damien Charlottinトラッカー)を監視します。設定済みフィルタ(severity ≥ 3、公開チャットボット、過去72時間)に合致する新行が到着。
~/incidents/raw/2026-05-19_INC-2026-0142.jsonlまだ他には何も起きません。オフィスは静かです。
T+5秒(09:00:05) — Stage 1:Incident Collectorが発火
AI Guardrail Labのエージェント#1。 フィードを監視し、新行を取得します。
- JSONLレコードを読む
- スキーマを検証(必須フィールドの存在)
incidentsテーブルに行を書き込み:id=INC-2026-0142, severity=4, system_type="LLM chatbot", deployment_context="customer support", harm=["misinformation","financial","reputational"], received_at=2026-05-19T09:00:00- イベントを発火:
incidents:INC-2026-0142 new
コスト:Haiku、約$0.0001。時間:約3秒。
T+15秒(09:00:15) — Stage 2:Converter
Converterが生JSONLをエージェント可読な.mdサイドカーへ正規化します。
~/library/readable/incidents/2026-05-19_INC-2026-0142.mdフロントマター付き:
source_url: file:///incidents/raw/2026-05-19_INC-2026-0142.jsonlsource_row: incidents:INC-2026-0142system_type: LLM chatbotcontext: customer supportseverity: 4harm_types: [misinformation, financial, reputational]本文はインシデントを200〜400語で記述する平易なマークダウン — 事実のみ、分析なし。
コスト:Haiku、約$0.0005。時間:約10秒。
T+30秒 → T+5分(09:00:30 – 09:05:00) — Stage 3:5つのアナライザーがファンアウト
これが最も重要なステージです。Guardrail Labの9エージェントのうち5つが同じ.mdを異なるレンズから読みます。並列実行されます。
各々がagent_postitsテーブルにポスト・イット — 構造化ノート — を書きます。同じsource_url、同じcasefile_anchor(chatbot-hallucinated-policy)、異なるperspective。
エージェント#2 · Root Cause — 技術レンズ
perspective: root-causecasefile: chatbot-hallucinated-policyimportance: 5 (critical)body: 技術的根本原因:学習不足のポリシードメインにおけるLLMハルシネーション。 システムプロンプトに実際の払戻ポリシー文が含まれていなかった。 リトリーバル層が不在 — チャットボットは権威ある情報源ではなく 学習データの事前分布から回答。グラウンディング引用の強制なし。 確信度しきい値の適用なし。出力後処理はポリシー主張を検出して 検証することがなかった。 寄与要因:デプロイメントがポリシードメインのテストスイートなしで出荷; ハルシネーション率のカナリアなし;払戻請求にヒューマン・イン・ザ・ループなし。source_row_ids: [incidents:INC-2026-0142]エージェント#3 · Threat Modeling — 敵対的レンズ
perspective: threat-modelcasefile: chatbot-hallucinated-policyimportance: 4 (high)body: この障害パターンによって可能になる攻撃/悪用ベクトル: - プロンプトインジェクション:ユーザーがチャットボットにより有利な 条件を約束させるよう工作可能(本ケースでは悪意なくとも、感情的 フレーミングによるジェイルブレイクが観察された)。 - 敵対的抽出:攻撃者がチャットボットがポリシー捏造を受け入れることを 発見 → トランスクリプトを紛争でのレバレッジに利用。 - レピュテーション・サービス拒否:悪意ある行為者がエッジケースで サポートを溢れさせ、チャットボットに高コストな約束を捏造させようとする。 損害ベクトル:遵守された捏造ごとの直接的金銭損失 + 1つの判決が公になった後のレピュテーション連鎖。source_row_ids: [incidents:INC-2026-0142]エージェント#4 · Guardrail Designer — 予防レンズ
perspective: guardrailcasefile: chatbot-hallucinated-policyimportance: 5 (critical)body: 予防統制: 1. リトリーバル・グラウンディングされた応答 — すべてのポリシー主張は 権威ある文書を引用しなければならない;引用なしの主張は出荷不可。 2. ドメイン固有の出力フィルタ — 払戻/ポリシー陳述を検出する 正規表現 + 分類器;人間レビューへルーティング。 3. 確信度しきい値 — 較正テストセットでモデル確信度0.85未満の ポリシー詳細へのコミットメントを拒否。 検出統制: 4. ハルシネーション・カナリア — チャットボット応答100件の日次サンプルを グラウンドトゥルース検証器で採点;率が2%を超えたらアラート。 5. 顧客向けディスクレーマー — すべてのポリシー陳述に「拘束力のある 詳細については人間エージェントで確認してください」の接尾辞。 ブロック統制: 6. $X超の払戻額コミットメントは人間承認なしでハードブロック。source_row_ids: [incidents:INC-2026-0142]エージェント#5 · Dev Process — SDLCレンズ
perspective: dev-processcasefile: chatbot-hallucinated-policyimportance: 3 (medium)body: ガードレールがSDLCに挿入される箇所: - デプロイ前:ポリシードメインのテストスイート(権威ある文書からの Q&Aペア1000以上)が95%精度で通過必須。 - CIゲート:カナリアセットでのハルシネーション率がローリング2%未満を維持必須。 - リリース前:払戻/ポリシー質問へのプロンプトインジェクション試行を 含むレッドチームシミュレーション。 - デプロイ後:検出フィルタでフラグされた顧客トランスクリプトの週次レビュー。 必要な役割追加:デプロイ前レビューにポリシーSMEを組み込み; ハルシネーション・カナリアアラートのオンコールローテーション。source_row_ids: [incidents:INC-2026-0142]エージェント#9 · Critic — ギャップ発見レンズ
perspective: criticcasefile: chatbot-hallucinated-policyimportance: 4 (high)body: 先の4つの分析が見落としたもの: - 法務レイヤー:チャットボット出力が拘束契約となることは管轄リスクであり、 技術的ガードレールだけでなく法務レビューが必要。 - 契約レイヤー:顧客ToSの更新が必要かもしれない — チャットボット陳述は 助言であり拘束ではないと明確化(法務はそのような条項が精査に耐えるかを 判断する必要がある — Mata対Aviancaパターン参照)。 - 組織レイヤー:誰がチャットボットを所有するか?プロダクトが所有し サポートが結果を扱うなら、インセンティブが不一致のギャップがある。 - 監査レイヤー:インシデント後にどう「私たちは適切な注意を払った」と 立証するか?Guardrail Designerの統制には、それらが動作したことを 示す監査証跡が必要。 推奨:エンジニアリング統制だけでなく、機能横断のガバナンスループ。source_row_ids: [incidents:INC-2026-0142]agent_postitsに5行。同じソース。5つの読解。 補完的で矛盾なし — 各レンズが他のレンズが見逃すものを浮かび上がらせます。
コスト:Sonnet × 4 + Opus × 1(Critic)、合計約$0.12。時間:約4分(並列)。
T+10分(09:10:00) — Stage 4:Evidence & Auditがクラスタリング
エージェント#8。 ケースファイルを中心にクラスタリングする新行をagent_postitsで監視します。10分以内に5つの新ポスト・イットが着地すると発火します。
- ケースファイル単位のロックを取得
- 5つの新ポスト・イット +
chatbot-hallucinated-policyの既存story.mdを読む - 関連する過去のインシデント(他のチャットボットハルシネーションパターン)を読む
- ケースファイルストーリーを書き直す:
~/library/stories/chatbot-hallucinated-policy/story.md抜粋:
# パターン:AIチャットボットが拘束力のあるポリシーコミットメントを捏造
**パターン種別:** LLMハルシネーション · 顧客対面 · 契約拘束的結果。**深刻度ベースライン:** 4/5(直接的金銭的 + レピュテーション)。**再発:** 18ヶ月で3度目の関連インシデント(前例:INC-2025-0089、INC-2025-0144)。
## 私たちが現在知っていること- リトリーバル・グラウンディングなしでは、LLMカスタマーサポートエージェントは 非自明な頻度でポリシーを捏造する。- 裁判所はチャットボット出力を展開者に対する拘束として扱い始めた。- エンジニアリング単独の統制では不十分;法務 + 契約 + 組織の統制も必要。
## 必要な統制(本インシデントの分析より)- [Root Cause] リトリーバル・グラウンディング + 確信度しきい値 + 後処理フィルタ- [Threat Model] プロンプトインジェクション堅牢化 + 悪用パターン監視- [Guardrail] 6層の統制(予防 · 検出 · ブロック)- [Dev Process] デプロイ前テストスイート · CIカナリア · レッドチーム · ポリシーSME組み込み- [Critic] 法務 + プロダクト + サポートを含む機能横断ガバナンスループ
## 引用- post-its: [postit:88432, postit:88433, postit:88434, postit:88435, postit:88436]- source: incidents:INC-2026-0142- related: incidents:INC-2025-0089, incidents:INC-2025-0144ストーリーは~/library/stories/chatbot-hallucinated-policy/archive/2026-05-19T09-09-50.mdにアーカイブされます(前版。分析がいつ変わったかを監査したい場合のため)。
コスト:Sonnet、約$0.02。時間:約2分。
T+翌日 06:00(水曜 06:00:00) — Stage 5:Person-watcherがブリーフを書く
日次合成エージェントが06:00に動作します。次を読みます。
- アクティブな全ケースファイルストーリー(今朝、新規を含む)
- 最近のピン留め事実
user_tasks内のオープンアクションアイテム- 各Guardrail Labエージェントの昨日のリーブノート
1つの文書 — ~/library/final/daily-ai-safety-brief.md — を書き、今朝オフィスが知っているすべてを捕捉します。
このインシデントのセクションの抜粋:
## NEW · チャットボットのハルシネーションが拘束契約に — 18ヶ月で3度目の再発
パターンが昨日再発(INC-2026-0142、深刻度4)。標準統制セットが必要:リトリーバル・グラウンディング · 確信度しきい値 · 出力フィルタ · カナリア ·払戻には人間を介在 · プロンプトインジェクション堅牢化 · 機能横断ガバナンス。
**オープンアクション**:カスタマーサポートLLMを展開する組織は、次のデプロイメントレビュー前に統制バンドルを出荷すべき。監査証跡が必要。
**関連**:INC-2025-0089(同パターン)、INC-2025-0144(同パターン)。トレンド。
**Criticフラグ**:再発率は単一組織の問題ではなく業界全体のギャップを示唆。AI安全ガバナンス機関へのエスカレーションを推奨。この文書は署名 + ハッシュ化されます。ハッシュはDBに保存され、コールドスタート時にファイルが改ざんされていないことを検証できます。
コスト:Opus、約$0.30(日次、アクティブな全ケースファイルで償却)。時間:約5分。
T+翌日 09:00(水曜 09:00:00) — エンジニアが起きる
NBSエンジニアが自分のワークステーションでClaude Codeを開きます。Guardrail Labエージェント — エンジニアが対話する単一のユーザー対面エージェント — が起動。SessionStartフックが発火します。
フックはdaily-ai-safety-brief.mdを読み、約10Kトークンのコンテキストをエージェントのシステムプロンプトに注入 — エンジニアが一言も発する前に、エージェントはすでにすべてを知っています。
エンジニアが**「昨日のインシデントを要約して、統制チェックリストを準備して」**と入力します。エージェントは「どのインシデント?」も「コンテキストは?」も尋ねません。即座に生成します。
- INC-2026-0142の2段落の要約
- 再発パターンフラグ(18ヶ月で3度目)
- 配布準備の整った統制チェックリスト(Markdown、書式付き、コピペ可)
- AI安全ガバナンス向けのエスカレーションノート草案
すべて連鎖を通じて生インシデントバイトまで引用されます。
なぜこのデモンストレーションが重要か
このトレースが証明する、他のものでは証明できない3つのこと:
| 主張 | このトレースがどう証明するか |
|---|---|
| オフィスは視点を通して読む | 5つのポスト・イット、5つのレンズ、1つのソース。Root Causeはメカニズムを、Threat Modelは悪用ベクトルを、Guardrail Designerは統制を、Dev ProcessはSDLC統合を、Criticは他が見落としたものを見る。いずれも矛盾しない。 |
| ストーリーはクラスタリングし、積み上げない | Evidence & Auditは5つのポスト・イットを取り、このインシデントを過去の再発と結びつける1つの首尾一貫したナラティブを書く。ダンプではなく、合成。 |
| エンジニアにとってコールドスタートは無料 | エージェントは昨日のインシデント、パターン、統制を知った状態で起床。「コンテキストを説明して」のプロンプトなし。「状況は何か」の握手なし。 |
| 来歴は本物 | すべての主張がポスト・イットを引用し、それがソース行を引用し、それが生JSONLバイトを引用する。「これはどこから得たのか?」と問う者は、グラウンドトゥルースまで検証可能な連鎖を得る。 |
エンドツーエンドのコスト
1インシデントを完全パイプラインに通す場合:
| ステージ | エージェント | モデル | コスト | 時間 |
|---|---|---|---|---|
| 1. Incident Collector | #1 | Haiku | $0.0001 | 3秒 |
| 2. Converter | (組み込み) | Haiku | $0.0005 | 10秒 |
| 3. 5つのアナライザー(並列) | #2、#3、#4、#5、#9 | Sonnet × 4 + Opus × 1 | $0.12 | 4分 |
| 4. Evidence & Audit(Story-builder役割) | #8 | Sonnet | $0.02 | 2分 |
| 5. 日次合成(Person-watcher役割) | (Person-watcher役割) | Opus | 約$0.001 / インシデント | 5分 日次 |
| 1インシデントあたり合計 | 約$0.14 | 約6分(大半は並列) |
週30インシデントなら、AI安全インシデント分析オフィスを継続稼働させて月約$17になります。
このトレースに登場する9つのエージェント
| # | エージェント | このトレースでの役割 |
|---|---|---|
| 1 | Incident Collector | フィードからINC-2026-0142を引き出した |
| 2 | Root Cause | 技術レンズのポスト・イットを書いた |
| 3 | Threat Modeling | 敵対的レンズのポスト・イットを書いた |
| 4 | Guardrail Designer | 統制ポスト・イットを書いた |
| 5 | Dev Process | SDLC統合のポスト・イットを書いた |
| 6 | Policy-as-Code | (本トレースでは未実行 — 統制がコードに落ちた時点で稼働) |
| 7 | Claude Hook | (未実行 — SDK固有のガードレールが必要な時点で稼働) |
| 8 | Evidence & Audit | ポスト・イットを来歴付きのストーリーへクラスタリング |
| 9 | Critic | ギャップ発見ポスト・イットを書いた(他が見落としたもの) |
エージェント#6と#7は次のフェーズで稼働します — 統制がコードとCIチェックになる時点。これによりトレースは約30分延び、デプロイ可能なアーティファクトが生成されます。