Claude Codeのハルシネーション対策 — Anti-Hallucination Protocolという考え方
Claude Code などの LLM エージェントを業務で使う際、最大のリスクは**ハルシネーション(幻覚)**です。プロンプトの改善ばかりが注目されがちですが、本当に必要なのは「仕組みで縛る」アプローチです。 きっかけとなった事故 ある開発者が実際に遭遇した事故が、この議論のきっかけです: which コマンドの結果だけで「未インストール」と診断されたが、コードは PATH 外のディレクトリを直接参照していた。ログを1行も読まずに断言。 LLM エージェントは自信に満ちた口調で誤った結論を出すことがあり、人間がそれを鵜呑みにしてしまうリスクがあります。 Anti-Hallucination Protocol の4つの柱 提唱されている Anti-Hallucination Protocol は、以下の4つのルールで構成されます: 1. 事実主張にはツール実行による検証を義務化 LLM が「〜がインストールされていない」「〜が原因です」と主張する場合、必ず対応するコマンドやツールを実行して裏付けを取ることを求めます。推測だけで結論を出すことを許容しません。 2. 禁止パターンの明示 以下の4つのパターンを明示的に禁止します: パターン 説明 推測診断 十分な証拠なしに原因を断定する 確認なし否定 実際に確認せず「存在しない」「動かない」と主張する 記憶による主張 過去の学習データだけに基づく事実主張 自信に満ちた誤り 高い確信度で不正確な情報を提供する 3. 違反時のインシデント記録と伝播 ハルシネーションが検出された場合、インシデントとして記録し、全プロジェクト横断で伝播させます。これにより同じ失敗パターンを繰り返さない仕組みを構築します。 4. プロジェクト設定への組み込み CLAUDE.md や類似の設定ファイルにルールを記述し、プロジェクト単位で一貫したガードレールを維持します。 2026年のハルシネーション対策の現状 2026年3月時点で、各 LLM のハルシネーション率は改善が進んでいます。LLM Hallucination Index 2026 によると、Claude Sonnet 4.6 は BS 検出成功率 91.0%、誤検出率 3.0% とトップクラスの精度を示しています。 しかし、モデル性能の向上だけでは不十分です。特に以下の場面ではハルシネーションが発生しやすいことが報告されています: コンテキスト圧縮後: 長い会話でコンテキストが圧縮されると、計画と実装の乖離が起きやすい Plan Mode での実装フェーズ: 計画作成後の実装で、計画にない機能を追加してしまう 実践的な対策 CLAUDE.md への記述例 1 2 3 4 5 6 ## Anti-Hallucination Rules - ファイルの存在確認は必ず `ls` や `cat` で実行すること - パッケージのインストール状況は `which` だけでなく、実際のインポートやバージョン確認で検証すること - エラーの原因を主張する前に、必ずログファイルを読むこと - 「〜のはずです」「おそらく〜」という推測を事実として扱わないこと CLEO のようなツールの活用 CLEO は Claude Code 向けのタスク管理ツールで、4層の Anti-Hallucination 保護と SQLite による不変の監査証跡を提供します。 ...