生成AIとプライバシー — 学習・メモリ・通信を分けて考える
生成AIにファイルをアップロードしたり、会話の内容を覚えられていたりすると、「この情報はどこかに送られて、AIの学習に使われるのではないか」と気になることがある。この不安からRAG(検索拡張生成)やローカルLLMに取り組む人もいる。この記事では、不安の中身を3つに分けて整理し、Claude Codeのようなコーディング用AIエージェントとの関係をまとめる。
目次
- 生成AIへの不安は3種類ある
- 従来の対策:RAGとローカルLLM
- Claudeのデータ利用ポリシー
- Claudeのメモリ機能
- Claude CodeはRAGやローカルLLMの代わりになるか
- まとめ:不安の種類ごとの対策
- 参考資料
1. 生成AIへの不安は3種類ある
「自分の情報が使われるのではないか」という不安には、次の3つが混ざっていることが多い。
- 情報が漏れるのではないか — ファイルや会話の内容を、AI企業や第三者に見られるのではないかという不安
- AIが自分のことを覚えている — 会話をまたいで好みや過去のやり取りを覚えている、という挙動そのものへの不安
- 入力した内容が学習データに使われるのではないか — 自分の書いた文章やコードが、他のユーザーへの回答の材料になるのではないかという不安
この3つは原因も対策も異なる。RAGやローカルLLMは主に3番目を避けたいという動機で選ばれることが多いが、3番目だけが目的であれば、後述のとおりもっと簡単な方法がある。
2. 従来の対策:RAGとローカルLLM
RAG(検索拡張生成)
RAG(Retrieval-Augmented Generation)とは、AIモデル自体には手元の情報を学習させず、質問のたびに関連する文書を検索して、その内容をプロンプトに添えて渡す仕組みである。あらかじめ文書をベクトルデータベースに変換しておき、質問に近い文書を検索して取り出す、という構成が一般的である。
RAGが選ばれる理由は、AIモデルの重み(学習済みパラメータ)に自分のデータを覚え込ませない点にある。モデルを再学習させるのではなく、必要なときだけ外部から情報を渡す方式なので、学習した情報が別の誰かへの回答に混ざる、という心配がそもそも生じない。
ローカルLLM
ローカルLLMとは、AIモデルそのものを自分のPCやサーバー上で動かす方式である。クラウドのAPIにデータを送らずに済むため、情報が外部に送信されるという不安はなくなる。ただし、クラウド上の大規模モデルに比べて性能が劣る場合が多く、GPUなどの計算資源も必要になる。
なお、ローカルLLMを選ぶ理由は不安への対策だけではない。特定の分野に特化したデータで追加学習(ファインチューニング)を行い、その分野専用のモデルを自前で作って独自のサービスに組み込む、という目的であれば、ローカルLLMは有力な選択肢になる。この場合の狙いは情報を外部に出さないことではなく、モデルの中身を自分たちで管理し、特定の用途に最適化することにある。汎用のクラウドAPIでは得られない独自モデルを資産として持てる点が動機であり、プライバシー対策として選ぶ場合とは目的が異なる。
3. Claudeのデータ利用ポリシー
RAGやローカルLLMに取り組む前に、使っているAIサービスが入力内容を学習に使うかどうかを確認するとよい。Claudeの場合、契約形態によって扱いが分かれている。
商用(Team・Enterprise・API・Claude Code)
Anthropicは、商用ライン(Team・Enterprise・API・サードパーティ経由の利用)について、顧客が明示的に許可しない限り入力・出力をモデルの学習に使わない、とドキュメントに記載している(Data usage)。この方針はClaude Codeにも適用される。
個人向け(Free・Pro・Max)
個人向けプランでは、データを将来のモデル改善に使うかどうかをユーザー自身が選べる。Free・Pro・Maxで扱いは同じで、料金や利用量とは関係なく、設定をオンにしている場合のみ学習に使われる。プランによる違いはないため、Pro・Maxの利用者もこの設定をオフにしておけば学習には使われない。設定はclaude.ai/settings/data-privacy-controlsからいつでも変更できる(Data usage、Anthropic Privacy Center)。
Team・Enterpriseのような法人向けプランは扱いが異なり、前述のとおりデフォルトで学習に使われない。学習に使われないようにしたい場合は、個人向けプランで設定をオフにするか、法人向けプランを選ぶ、という2通りの手段がある。
データの保存期間
学習利用を許可していないユーザーのデータは、個人向けプランで30日、商用プランでも標準30日で削除される。企業向けには、サーバー側にデータを残さない「Zero Data Retention(ゼロ・データ保持)」というオプションも用意されている(Data usage)。
学習に使われることが気になる場合は、RAGやローカルLLMを構築しなくても、契約形態と設定を確認すれば済むことが多い。
4. Claudeのメモリ機能
「AIが自分のことを覚えている」と感じるのは、多くの場合「メモリ」という機能によるものである。これは学習(モデルの重みを書き換えること)とは別の仕組みで、会話の外にある保存領域に、要点をメモとして書き残しておくものである。
Claude(chat / デスクトップアプリ)のメモリ
ユーザーの仕事内容や好み、進行中のプロジェクトなどを個別の項目として保存し、会話のたびに参照する。チーム利用にも対応しており、書き足しや更新が随時行われる(Bringing memory to teams)。
Claude Codeのメモリ
Claude Codeには2種類のメモリがあり、いずれも会話の開始時に読み込まれる。
- CLAUDE.md:プロジェクトのルールやビルド手順など、ユーザーが明示的に書いた指示
- Auto Memory:Claude自身が、作業中に気づいたビルドコマンドやコードスタイルの好みなどを、次回以降のために自動で記録する仕組み
いずれもテキストファイルとして保存されており、中身を確認したり削除したりできる(How Claude remembers your project)。
このメモリは、モデルの学習とは関係がない。メモリに書かれた内容は、次回以降の会話でプロンプトの一部として読み込まれるだけで、他のユーザーへの回答に混ざることはない。覚えられていると感じる対象は、実際にはファイルに保存された自分専用のメモであり、中身を見ることも消すこともできる。
他社AIからのメモリの持ち込み・書き出し
Claude(chat)には、他社のAIサービスで蓄積したメモリを取り込んだり、Claudeのメモリを書き出してバックアップや移行に使ったりする機能がある(実験的機能)。他のAIツールから乗り換える場合に、ゼロから使い方を覚えさせ直さずに済む。ただし、書き出したデータを別の個人アカウントへ取り込むことはできない、といった制限もある(Bringing memory to teams)。
メモリの一時停止・完全消去
メモリは「Settings > Memory」から管理でき、次の2通りの消し方が用意されている。
- 一時停止(Pause):既存のメモリは保持したまま、新しくメモリを作らない・使わない状態にする
- リセット(Reset):保存されているメモリをすべて削除する。取り消しはできず、再度メモリ機能をオンにしても以前の内容には戻らない
個別の項目だけを消す場合は、メモリ一覧から該当する項目を選んで「Delete」する。Claude Codeでは、/memoryコマンドでAuto Memoryの保存フォルダを開き、中のMarkdownファイルを直接編集・削除できる(Use Claude's chat search and memory、How Claude remembers your project)。
5. Claude CodeはRAGやローカルLLMの代わりになるか
ここまでを踏まえると、「Claude Codeは学習をオフにすればローカルLLMの一種ではないか」「RAGが不要になるのではないか」という見方は、一部は当てはまり、一部は当てはまらない。
RAGの代わりになる部分
Claude Codeは、あらかじめベクトルデータベースを作って検索する(RAG的な)方式を取らない。その代わりに、grepやglobのようなツールを使って、必要なファイルをそのつど直接読みにいく。プロジェクト全体を検索用に変換しておく必要がなく、最新のファイルの中身をそのまま参照できるという点で、RAGが解決していた課題の多くを、より単純な方法で満たしている(詳しくは「Claude Codeとプロンプト・エンジニアリング」を参照)。
ローカルLLMとは異なる点
一方で、Claude Codeはローカルで動くLLMとは異なる。モデルによる推論(実際に文章を生成する計算処理)はクラウド上で行われるためである。ローカルのファイルを読み込む際も、その内容はネットワーク経由でAPIに送信され、TLS 1.2以上で暗号化された通信としてクラウドのサーバーへ渡る(Data usage)。データが自分のPCの外に出るかどうかでいえば、Claude Codeは外に出る方式である。
学習に使われないことと、外部に送信されないことは別の性質である。Claude Codeが満たすのは前者(設定と契約によって学習を避けられる)であり、後者(通信自体が発生しない)ではない。
整理すると
| 不安 | RAG | ローカルLLM | Claude Code(学習オフ設定) |
|---|---|---|---|
| 学習に使われる不安 | 軽減される | 解消される | 契約・設定次第で解消できる |
| 通信で外部に送信される不安 | 解消されない(クラウドAPIを使う場合) | 解消される | 解消されない(クラウドAPIを使う) |
| 最新のファイル内容を直接扱えるか | ベクトル化の手間が必要 | 実装次第 | ツールで直接読み書きするため容易 |
6. まとめ:不安の種類ごとの対策
- 学習に使われるのが気になる場合 — RAGやローカルLLMを自前で構築しなくてよい。Claude Codeを含む商用ライン(Team・Enterprise・API)はデフォルトで学習に使われず、個人向けプランでも設定画面でオフにできる
- 覚えられているのが気になる場合 — その対象は学習ではなく、ファイルとして保存された自分専用のメモである。中身を確認・削除でき、一時停止(Pause)や完全消去(Reset)もいつでもできる。Claude CodeではCLAUDE.mdやAuto Memoryのファイルを直接見ることもできる
- 外部に情報が送られるのが気になる場合 — これはRAGでは解決せず、ローカルで動くLLMを使う以外に方法がない。Claude CodeはRAGの手間を省くが、この不安そのものは解消しない
- 不安の種類を先に切り分ける — 「学習」「メモリ」「通信」は別の仕組みである。混同したままRAGやローカルLLMに取り組むと、解決したかったこととは別の問題に手をかけることになる
7. 参考資料
- Data usage - Claude Code Docs — Claude Codeのデータ学習ポリシー・保存期間・Zero Data Retentionの詳細
- Is my data used for model training? - Anthropic Privacy Center — 学習利用のオプトイン/オプトアウトの仕組み
- How Claude remembers your project - Claude Code Docs — CLAUDE.mdとAuto Memoryの仕組み
- Bringing memory to teams - Anthropic — Claudeのメモリ機能(chat / デスクトップアプリ)の解説、他社AIとのメモリの持ち込み・書き出し
- Use Claude's chat search and memory — メモリの一時停止・リセット・個別削除の操作方法
- Claude Codeとプロンプト・エンジニアリング — Claude Codeがローカルのファイルを直接読み込む仕組みについて
元記事(Bitz Notebook): 生成AIとプライバシー — 学習・メモリ・通信を分けて考える