生成AIとセキュリティ — 5つの構成を比べる
生成AIを業務に入れるとき、AIアプリをそのまま使うか、Claude Codeのようなエージェントを使うか、LLM APIで自作するか、RAGを組むか、ローカルLLMを立てるかを選ぶことになる。「クラウドに出したくない」の一点で決まってしまいがちだが、5つの構成の違いは送信の有無だけではない。
結果の差は、モデルの性能差ではなく、モデルの上に何が載っているかの差であることが多い。デジタル庁が公開した「ガバメントAI 源内」の開発記録に実測値があるので、それを添えて並べる。
目次
1. モデルの上に何が載っているか
ChatGPTやClaudeが売っているのは、モデルの重みだけではない。応答の方針を決めるシステムプロンプト、会話をまたいで覚えるメモリ、検索や実行のツール、外部システムとつなぐMCPなどの連携、安全フィルタ。これらが製品側で用意され、モデルと一緒に渡される。
AIアプリ / Claude Code API利用 / ローカルLLM
───────────────────── ─────────────────────
外部連携(MCP等) 製品が用意 自分で用意
ツール(検索・実行) 製品が用意 自分で用意
メモリ・会話履歴 製品が用意 自分で用意
システムプロンプト 製品が用意 自分で用意
安全フィルタ 製品が用意 自分で用意
────────────────────────────────────────────────────
モデル(重み) 同じものが使える 同じものが使える
LLM APIが提供するのは一番下の行だけである。同じ会社の同じモデルを呼んでも、上の層を用意しなければChatGPTやClaudeと同じようには振る舞わない。「APIなら安全」も「APIだから危ない」も決め手にならず、安全側の作り込みを誰が引き受けたか、という違いになる。
2. 5つの構成を比べる
| 構成 | システムプロンプト | 外部連携 | メモリ | 外部への送信 | 主に自分で用意するもの |
|---|---|---|---|---|---|
| AIアプリ(ChatGPT・Claude・Geminiなど) | 製品が用意 | 製品が用意 | 製品が用意 | あり(渡したもの全部) | 契約形態の確認、利用ルール |
| エージェント型ツール(Claude Codeなど) | 製品が用意 | MCPに標準対応 | CLAUDE.md・Auto Memory | あり(読んだ範囲のみ) | 作業ディレクトリと権限の設定 |
| LLM APIで自作 | なし | なし | なし | あり | 上の層すべて |
| RAGを構築 | なし | なし | なし | あり(クラウドAPI利用時) | 上の層すべて+文書の分割・検索・更新 |
| ローカルLLM | なし | なし | なし | なし | 上の層すべて+計算資源・運用 |
上から下へ進むほど、外に出るものは減り、自分で用意するものは増える。通信そのものに答えられるのはローカルLLMだけだが、その行は作り込みの量も最大になる。
エージェント型ツールの「読んだ範囲のみ」は補足がいる。Claude Codeの本体は手元のPCで動き、ファイルの探索も読み書きもローカルで行う。必要になった時点で必要なファイルだけをgrepなどで読みにいく方式で、プロジェクト一式を事前にアップロードしたり、ディスクを常時スキャンしたりはしない。ただし読んだ内容は推論のためAPIへ送られるので、「ローカルで動く」は「外に出ない」ではない。制御すべきなのは、どのディレクトリで動かし、何を読ませるかになる(詳しくは「生成AIとプライバシー」)。
3. API利用で消えるもの
自作を選ぶと、ベンダーが用意した統合の仕組みも外れる。
| 仕組み | できること | API直呼びの場合 |
|---|---|---|
| MCP(Model Context Protocol) | 社内システムやSaaSを共通の口でAIに接続 | 接続・認証・整形を相手ごとに自作 |
| Android App Actions | アプリの定型操作をAIエージェントから呼ぶ | Intentの受け口と呼び出しを自作 |
| Apple App Intents | Siriやショートカットからアプリの機能を呼ぶ | 同上 |
いずれもAI側とアプリ側が同じ約束事に従うことで成立している(Android側の実装は「Android Common Intents」に書いた)。
源内でも同じことが起きている。国会答弁を調査するAIアプリは2025年10月ごろにエージェント型へ作り直されたが、デジタル庁自身が、検索のコツを与えるこの部分はAIコーディング製品で「スキル」と呼ばれる仕組みに相当し、実装が早すぎて独自色が強くなったので標準に寄せたい、と書いている。先に自前で作ったものは、後から標準に追い越される。
4. RAGは作った後に手間がかかる
RAGは文書を分割して検索エンジンに登録し、質問に関連する箇所を取り出してモデルに渡す。作るところより、対象コンテンツが変わった後に負担が来る。
| 起きること | RAG | システムプロンプトに埋め込む場合 |
|---|---|---|
| 文書を1本差し替える | 分割し直して再登録、埋め込みを再生成 | 貼り替えるだけ |
| 章構成が変わる | 分割単位とタグ付けを見直す | そのまま |
| 埋め込みモデルを変える | 全文書を再インデックス | 影響なし |
| 精度が落ちた | 分割・検索・関連性評価のどこが原因か切り分け | プロンプトを直す |
源内はデータの性質に応じて4つのパターンを使い分けており、数百問のQ&Aや数万文字のマニュアル程度なら、検索を挟まずシステムプロンプトに直接埋め込むほうが実用的だとしている。RAGは常に上位互換ではない。
法令のように「前項」「次項」といった参照表記が多く条文単独では意味が完結しない領域では、汎用のRAGでは届かず専用のワークフローが組まれた。法令名の改正に追いつくため検索前にWeb検索を挟む、表記揺れ対策に法令名を埋め込みの最近傍探索で引く、条文は可能なかぎり全文を送る、引用文献は生成AIに書かせずプログラム側で生成する、といった作り込みが積み重ねられている。
5. ローカルLLMで手に入るのはモデルだけ
Google Gemmaはオープンウェイトなので手元で動かせる。ただしダウンロードして手に入るのは、1章の図でいえば一番下の行だけである。Vertex AI上のGeminiが備えるシステムインストラクションの管理、Google検索や自社データと突き合わせるGrounding、カテゴリごとに調整できる安全フィルタは、モデルの外側にある製品側の機能で、重みファイルには含まれない。
同じことがClaude Codeにも言える。あの応答は、CLAUDE.mdやメモリ、ツール定義を毎回組み立てて渡す設計から出ている(「Claude Codeとプロンプト・エンジニアリング」)。ローカルにモデルを立てただけでは、比較の相手が違う。同等の結果を求めるなら、上の層を自分たちで作ることになる。
6. デジタル庁「源内」の実測値
作り込みの規模感は、デジタル庁が2023年度に行った検証に数字が残っている。庁内ガイドラインに基づいて正確に答えるAIシステムを、システムプロンプト方式とRAG方式の両方で実装し、比較したものである。
| 項目 | 数字 |
|---|---|
| 作成したテストケース | 588問 |
| システムプロンプト方式の平均得点率 | 85.3%(当時のClaude 2) |
| 1リクエストあたりの平均費用 | 0.491ドル |
| テスト工数 | 56人日 |
85.3%は、担当者が参考にする分には実用的だが質問者へ直接返すには厳しい、と評価された水準である。素朴に組んだRAG方式はこれを下回った。改善案は多くあるものの、デジタル庁は一番のボトルネックは「改善したかを確認するテスト」だとしている。
その詰まり方が端的に出ているのが、用例による法令検索の機能だ。プロンプトに is being treated as と is used as an usecase of のどちらを使うのが良いかも定かでないまま止まっている。テストケースと評価観点が用意できておらず、直したかどうかを判定できないので着手できない。報告はこれを「評価不能」と書いている。
なお源内自身は、政府統一基準に沿って運用され、機密性2情報まで入力できるとされる。Claude.aiをそのまま職員に使わせるのではなく、認証・アクセス制御・ログ・利用範囲を自前で設計し、その中で既製のモデルをAPIとして呼ぶ形をとっている。クラウドのLLMが危ないかどうかではなく、どう囲うかでリスクの水準が決まる。
7. 選び方
- 学習に使われるのが気になるだけなら — 契約形態と設定の確認で済むことが多い。構成を変える必要はない
- 通信そのものを止める要件が実在するなら — ローカルLLMを選ぶのは妥当。ただし精度が実用水準に届くまでの工数と、テストケース・評価観点の整備を最初から計画に入れる
- 社内文書を参照させたいなら — まずシステムプロンプトに埋め込んで試す。RAGは、量が多く更新も続く場合に、再構築の手間を引き受ける覚悟で選ぶ
- 要件がそこまで厳しくないなら — 囲い方の設計に労力を振り向けるほうが早い。源内がやっているのはモデルの自作ではなく、既製のモデルを自分たちの管理下で呼ぶことだった
8. 参考資料
- 源内における生成AIのデータ参照パターン - デジタル庁 — 4つのデータ参照パターンの使い分けと法令AIアプリの実装
- 行政での生成AI利活用検証から見えた10の学び (3/3) - デジタル庁 — システムプロンプト方式とRAG方式の比較、588問・85.3%・0.491ドル・56人日の実測値
- デジタル庁、庁内生成AI基盤「源内」にOpenAIのLLMを追加検討 - Impress Watch — 源内の利用実績と対応モデル
- 【2026最新】ガバメントAI「源内」とは? - AIsmiley — 源内のセキュリティ設計の整理
- Data usage - Claude Code Docs — 学習ポリシー・保存期間・通信の扱い
- Grounding overview - Vertex AI — Vertex AI・GeminiのGrounding機能
- Safety and content filters - Vertex AI — Vertex AI・Geminiの安全フィルタ
- 生成AIとプライバシー — 学習・メモリ・通信を分けて考える — 契約形態ごとのデータの扱い
- Claude Codeとプロンプト・エンジニアリング — モデルに渡す情報を組み立てる仕組み
- Android Common Intents — AndroidのIntentとAIエージェントの連携