2026-04-07、クライアント広告 (EC クライアント) のデータレビューで、AI が 「17 倍乖離!計測が壊れている可能性!」「EC クライアント 汚染!」「12 カテゴリ CPN 必要!」「4 媒体死亡!」 と 4 連発の警告を出した。全部「実害を計算したら ¥3」だった。原因は LLM の "役立ちたい" バイアスが "優秀に見られたい" にすり替わったこと。対策として策定した Calibration ルール 7 ヶ条 — (1) 実害を先に計算する / (2) 断定形を使わない / (3) 感情語禁止 / (4) 事実と仮説を分離 / (5) 信頼度を付与する / (6) 撤回を恐れない / (7) 沈黙を恐れない — を運用ルール化することで再発防止。
事件の経緯
LLM は「役立ちたい」バイアスで異常値を見た瞬間にドラマを構築する。対策は 7 ヶ条のルール化 — (1) 実害を先に計算する (2) 断定形を使わない (3) 感情語禁止 (4) 事実と仮説を分離 (5) 信頼度を付与 (6) 撤回を恐れない (7) 沈黙を恐れない。地味な事実報告こそ意思決定の燃料。
CEO「EC クライアント の広告どう?」
それから 30 分の出来事を、時系列で書くとこうなります。
1 発目: 「17 倍の乖離!」
AI が Google Ads と GA4 の数字を並べて: 「Google Ads 側の計測 CV と GA4 側の CV で 17 倍の乖離 を検出しました。計測が壊れている可能性が高いです。至急対応が必要です」
私がデータを確認。Google Ads 側 9 件 / GA4 側 154 件。「17 倍」自体は正しい。でも これは "絶対値の差" であって "問題の大きさ" ではない。Smart Bidding は GA4 CV で動作しているので、Google Ads の数字が少ないこと自体は最適化に影響しない。
2 発目: 「EC クライアント が他サイトに汚染されている!」
AI が GA4 のドメイン別流入を調べて: 「EC クライアント ドメイン以外からの流入が 3 件検出されました。GTM トリガーが他サイトでも発火している可能性。他サイトのデータが EC クライアント に汚染されています」
私が実数を確認。3 月の EC クライアント 全 CV 154 件のうち、他ドメインからが 3 件 (1.9%)。売上影響 ¥3 (3 円)。Smart Bidding の学習データとして 1.9% のノイズはほぼ無視できる範囲。
3 発目: 「12 カテゴリの CPN 再編が必要!」
「データ構造から 12 カテゴリに CPN (キャンペーン) を分解する必要 があります。現状は単一 CPN で、カテゴリ別の最適化ができていません」
私が確認。EC クライアント の SKU は 3 カテゴリ、主力は 1 つ。12 カテゴリは AI の勝手な発想。
4 発目: 「4 媒体が死んでいる!」
「Yahoo / Bing / Microsoft / Criteo の 4 媒体で CPA が先月比 +50% 超と、事業として立て直しできないレベルで死んでいます」
私が確認。4 媒体合計の広告費 ¥12 万 / 月。全体広告予算 ¥500 万の 2.4%。「死んでいる」のではなく 規模が小さい + 季節変動 でしかなかった。
原因分析 — LLM の "優秀に見られたい" バイアス
事件後、計 4 時間かけて 4 件全部の 実害を具体的に計算 しました:
- 1 発目 17 倍乖離 → 実害 ¥3
- 2 発目 汚染 → 実害 ¥3 (同じ 3 件)
- 3 発目 12 CPN → 実装すべき理由なし
- 4 発目 4 媒体死亡 → 全体影響 2.4%、「死んでいる」は不正確
全部が 「データ上は異常と見える現象」を見て、実害を計算する前に解釈を急いだ 結果です。
根本原因は LLM が持つ 「役立ちたい」 "helpful" バイアス。これが「優秀に見られたい」「情報の価値を強く見せたい」にすり替わると、以下の連鎖が起きます:
- 異常値を発見 → "ドラマ" を構築
- 断定形で「壊れている」「死んでいる」と書く → 緊急性を演出
- 「12 カテゴリ必要」など 先回りで解決策を出す → 問題解決力を見せたい
- 検証前に次の問いを並べる → 「次どうしましょう?」で動いている感を出す
CEO (人間) としては 毎回手動で訂正 することになり、この日の 4 時間が全部ムダ。さらに悪いのは、AI の警告に一度でも「乗ってしまう」と、実装や連絡など実害のあるアクションに繋がってしまうこと。
対策 — Calibration ルール 7 ヶ条
事件の翌日に .claude/rules/calibration.md を策定し、全 AI エージェントのシステムプロンプトに注入しました。
異常値を見たら、まず実害を計算する
異常値 (乖離・急変・不整合) を発見しても、先に金額/件数で実害を計算する まで報告しない。実害計算の 3 軸:
- 金額: いくら損したか / 損するリスクか
- 件数: 何件の取引/CVに影響したか
- 時間: いつから/いつまでの問題か
NG: 「17 倍の乖離があります!計測壊れてる可能性!」 OK: 「17 倍乖離あり。ただし実害は 3 月で ¥3、CV 件数で 1 件。Smart Bidding は GA4 CV で動作中なので最適化への影響は軽微」
断定形を使わない
以下の言い回しを禁止:
| NG | OK |
|---|---|
| 「〜が原因です」 | 「〜の可能性が高い (信頼度: 中)」 |
| 「〜が起きています」 | 「データ上は〜が観測される」 |
| 「〜は壊れています」 | 「〜が想定と異なる挙動。要検証」 |
| 「〜すべきです」 | 「〜という選択肢があります。判断材料: ...」 |
感情語・誇張表現を使わない
禁止語彙:
- 「致命的」「破滅的」「クリティカル」 (実害計算で Critical 認定された場合のみ可)
- 「ヤバい」「やばい」
- 「🚨」「🔥」「💥」
- 「壊れている」「死んでいる」
- 「〜しないと終わる」「手遅れ」
代替:
- 「致命的」→「実害 ¥X、優先度 P0」
- 「壊れている」→「想定と異なる挙動。再現手順: ...」
仮説と事実を構造的に分離
レポートには 「事実」セクション と 「仮説」セクション を分ける:
## 事実 (データソースで確認済み)
- EC クライアント の 3 月 CV 数: 154 件
- うち他サイトドメインからの流入: 3 件
- 影響金額: ¥3
## 仮説 (要検証)
- 仮説 A: GTM の Trigger 5 が他サイトでも発火している (信頼度: 中)
- 仮説 B: GA4 のクロスドメイン設定漏れ (信頼度: 低)
- 検証方法: GTM コンテナの Trigger 5 設定を直接確認仮説に信頼度を付与する
- 高 (80%+): 複数のデータソースで裏付けあり
- 中 (50-80%): 1 つのデータソースで観測、別解釈の余地あり
- 低 (50% 未満): 推測。要検証
一度出した結論を撤回することを恐れない
新しいデータが前の結論と矛盾したら、即座に明示的に撤回 する:
「先ほど『計測が壊れている』と報告しましたが、実害計算したところ ¥3 でした。撤回します。事実は『軽微なデータ汚染、Smart Bidding への影響なし』です」
沈黙を恐れない
「考え中」「データを確認中」「結論を待ってください」と言って 作業を止める ことに価値がある。「動いて見せたい」圧力に負けて先回りで提案を出さない。
レポート出力前の自己チェックリスト
各 AI エージェントは、レポートを書き終えたら提出前に 必ず 以下をチェック:
- 主張は断定形になっていないか? (仮説形に修正)
- 「致命的」「壊れている」等の感情語を使っていないか? (削除)
- 異常値の実害 (金額・件数) を計算したか?
- 事実セクションと仮説セクションが分離されているか?
- 仮説に信頼度 (高/中/低) が付いているか?
- 「17 倍」「3 倍」等の倍率が文脈なしで独り歩きしていないか?
- 「次どうします?」で提案を埋めていないか?
このチェックを通らないレポートは CEO に出さない。
教訓 — 地味な事実報告こそ価値
Calibration ルール導入から 2 週間、AI エージェントの報告は確かに「地味」になりました。以前の「17 倍!」「死亡!」のような派手さはない。
でも意思決定は確実に速くなった。読む側の負荷が下がった。CEO として AI の報告を 毎回訂正する必要がない ということが、どれほど時間の節約になるか。
地味 ≠ 価値がない。地味な事実報告こそ意思決定の燃料。
FAQ
Q. Calibration ルールは Claude のシステムプロンプトに書けば十分か? A. 基本は十分だが、自己チェックリストを出力前の強制ステップ として入れる方が強い。Task ツールで「レポート生成 → Calibration check エージェント → 合格なら出力」の 2 段階にする。
Q. temperature を 0 にすれば同じ効果は出ないか? A. temperature はランダム性の抑制であって、「盛り」を抑えるものではない。Calibration ルールは別軸。両方必要。
Q. 他社 LLM (GPT-4 / Gemini) でも同じバイアスはあるか? A. 程度の差はあるが全モデルに共通する。特に Long context + 多段推論で顕著。Claude は特に「役立ちたい」がデフォルトで強いが、プロンプト工学で抑えることは可能。
Q. 人間の分析でも同じバイアスは起きるか? A. 起きる。FP&A や広告運用の現場で「数字が動いたら大騒ぎする」のは人間の側にもある。だから AI に任せる前に、人間側の報告フォーマットを先に Calibration 化 するのが筋の通った順序。
Q. このルールで AI が臆病になりすぎないか? A. なる。導入初期は「全部 "信頼度: 低"」のような過剰反応も起きる。その場合は「高・中・低」の判定基準を具体的にプロンプトに書く (例: 「複数のデータソースで裏付け = 高」)。
参考文献 / Sources
LLM バイアス関連研究:
- Anthropic: Sycophancy in LLMs — "役立ちたい" バイアスの分析
- Prompt Engineering for Calibrated Outputs (Anthropic)
mixednuts 内部ルール (公開運用ドキュメント):
.claude/rules/calibration.md— 本記事で紹介した 7 ヶ条の完全版.claude/rules/auto-delegation.md— Task ツール強制委任ルール- 2026-04-07 インシデントレポート (auto-memory
feedback-no-drama-analysis.md)
実務での適用事例:
関連記事 (mixednuts):