CodexとClaude Codeに同じ「外部記憶」を持たせる:Google Drive×PARA運用
CodexとClaude Codeに同じ「外部記憶」を持たせる:Google Drive×PARA運用
WindowsのCodexで決めたことを、MacのClaude Codeにもう一度説明する。数週間前に決めた命名規則を探すため、別PCのチャット履歴を上からスクロールする。端末とエージェントを切り替えるたび、記憶が分断される。
解決策は、Google Drive上にPARA構成のMarkdownナレッジベースを置き、そこを唯一の正本にすることだ。WindowsとMacは、同期フォルダまたはOAuth認証したコネクタを通じて同じファイルへアクセスする。Codexには AGENTS.md、Claude Codeには CLAUDE.md を通じて、回答前に検索し、作業後に新しい事実を記録するよう指示する。
ローカルへ置く意味がないのではなく、ローカルだけに置く意味がない。各PCの同期フォルダは、クラウド正本の作業コピーにすぎない。この区別を付ければ、WindowsのCodex、WindowsのClaude Code、MacのCodex、MacのClaude Codeが同じ過去を引き出せる。
ただし、これは魔法の長期記憶ではない。各エージェントが毎回ファイルを検索して思い出す仕組みだ。設計の中心はAIではなく、クラウド正本、索引、記録ルール、端末別のアクセス経路にある。
結論:Google Driveを正本にし、ローカル同期とOAuthを入口にする
おすすめは、次のように正本とアクセス経路を分ける構成だ。
Google Drive
Markdownのクラウド正本
│
┌────────────────┼────────────────┐
│ │ │
Windows同期 Mac同期 OAuthコネクタ/MCP
│ │ │
Codex / Claude Codex / Claude 対応するPC・クラウド
│ │ │
└──────── 同じINDEXとノートを参照 ────────┘
スマホ ── DriveアプリまたはMarkdown対応エディタ ── 正本
- Google Drive上のMarkdownが、全端末・全エージェントで共有する正本
- PCの同期フォルダは、
rgやエディタで正本を扱うためのローカルミラー - OAuthは本人確認の仕組みであり、実際の検索・読取・更新にはDriveプラグインやMCPのツールが別途必要
INDEX.mdは、全ファイルを毎回読まずに入口を絞る索引AGENTS.mdとCLAUDE.mdは、同じ記録ポリシーへ案内する端末別・エージェント別の入口
PC上では同期フォルダ方式が単純だ。CodexとClaude Codeが通常のファイルとして検索・追記でき、OS側のGoogle Driveクライアントがクラウドへ同期する。Google DocsやSheetsも横断したい場合や、ローカルディスクを持たない実行環境から触りたい場合は、OAuth対応のプラグインまたはMCPを追加する。
1. PARA構成を作る
最小構成は次の通り。フォルダ名の先頭に数字を付けると、どの環境でも同じ順序で並ぶ。
KnowledgeBase/
├─ 00-inbox/
│ └─ 2026-09-01.md
├─ 10-projects/
│ ├─ website-renewal.md
│ └─ tax-tool.md
├─ 20-areas/
│ ├─ writing.md
│ ├─ health.md
│ └─ personal-finance.md
├─ 30-resources/
│ ├─ codex.md
│ └─ cloudflare.md
├─ 40-archives/
├─ 90-daily/
│ └─ 2026/2026-09-01.md
└─ _system/
├─ INDEX.md
├─ GLOSSARY.md
└─ MEMORY_POLICY.md
PARAの分類は、ファイルを置く場所を決めるために使う。
| 区分 | 入れるもの | 判断基準 |
|---|---|---|
| Projects | 期限と完了条件がある仕事 | 終わったと言えるか |
| Areas | 継続して維持する責任 | 定期的に面倒を見るか |
| Resources | 将来参照する知識 | 特定の仕事に閉じないか |
| Archives | 完了・休止した項目 | 現在は動いていないか |
00-inbox を省かないのが重要だ。Codexに最初から正しい分類や既存ノートとの統合まで任せると、誤った推測が「確定事項」に混ざる。まず受信箱へ落とし、確定情報だけを正本へ昇格させる。
2. 1ノート1テーマと、機械が読めるfrontmatter
各ノートは1テーマに絞り、冒頭に最低限のメタデータを置く。
---
id: project-website-renewal
type: project
status: active
updated: 2026-09-01
sensitivity: internal
aliases: [サイト刷新, website rebuild]
sources:
- task: codex-task-or-thread-id
date: 2026-09-01
---
# Website renewal
## Current state
- Nuxtで再構築中
- 公開前に表示確認が必要
## Decisions
- 2026-09-01: 画像は外部直リンクせず、自サイト配信へ統一
## Open questions
- 公開日は未定
ポイントは、「事実」「決定」「未確定」を同じ段落に混ぜないことだ。Codexが検索結果を拾ったとき、過去の仮説を現在の決定として再利用する事故を減らせる。
3. INDEX.mdを地図にする
全文検索だけでも始められるが、ファイルが増えるほど表記揺れと古い記録に引っ張られる。_system/INDEX.md に、現在有効なノートだけを短く並べる。
# Knowledge index
Last updated: 2026-09-01
| Path | Type | Status | Summary | Updated |
|---|---|---|---|---|
| 10-projects/website-renewal.md | project | active | サイト刷新の決定と進捗 | 2026-09-01 |
| 20-areas/writing.md | area | active | 公開記事の執筆・校正ルール | 2026-08-28 |
| 30-resources/codex.md | resource | active | Codexの設定・運用メモ | 2026-09-01 |
この索引は本文の複製ではない。「どのファイルを開けばよいか」を数十トークンで判断させるルーターだ。詳細は必ずリンク先の正本から読む。
4. CodexとClaude Codeを同じ記録ポリシーへ向ける
Codexは AGENTS.md、Claude Codeは CLAUDE.md を読む。Claude Codeの公式ドキュメントも、「Claude Codeは AGENTS.md ではなく CLAUDE.md を読む」と明記している。さらにClaude Codeのauto memoryは端末内へ保存され、別のPCやクラウド環境とは共有されない。複数端末の共通記憶には、そのどちらも正本として使わない。
検索・記録・安全ルールの本文を、Google Drive上の _system/AGENT_MEMORY_POLICY.md に置く。以下がたたき台だ。
# Personal knowledge base
## Location
- This file is inside the shared Google Drive knowledge base.
- Treat Markdown under the knowledge-base root as the user's persistent external memory.
- `_system/INDEX.md` is the routing index. Open only relevant notes after reading it.
## Recall before answering
- Before answering questions affected by prior decisions, preferences, people,
projects, terminology, or recurring procedures, search the knowledge base first.
- Start with `_system/INDEX.md`, then use `rg -n -i` with 2-5 concrete keywords.
- Prefer sources in this order:
1. the user's current instruction;
2. current repository files and primary artifacts;
3. the newest confirmed knowledge-base note;
4. older notes;
5. general knowledge.
- If sources conflict, do not silently choose. Report the conflict and dates.
## Capture after working
- At the end of a task, capture only durable information that is likely to help
in a future task: decisions, stable preferences, project state, definitions,
recurring procedures, and unresolved questions.
- Append new unverified material to `00-inbox/YYYY-MM-DD.md`.
- Include the date, source task, subject, statement, confidence, and sensitivity.
- Distinguish confirmed facts from inference. Never convert an inference into a fact.
- Update an existing canonical note instead of creating a duplicate when the same
subject already exists.
- Update `_system/INDEX.md` whenever a canonical note is added, moved, or renamed.
## Safety
- Never store passwords, API keys, session cookies, recovery codes, or secret values.
- Do not store highly sensitive personal, medical, legal, or financial information
unless the user explicitly requests that exact information to be persisted.
- Do not record third-party personal information unless it is necessary and authorized.
- Do not delete contradictory history. Mark it superseded with a date and link.
- Automatic capture may write to `00-inbox`; promotion into canonical notes requires
a primary source, an explicit user statement, or confirmation from the user.
各端末の入口ファイルには、この共有ポリシーの場所だけを書く。例えばWindows版Codexの ~/.codex/AGENTS.md は次のようにする。
# Shared external memory
- Shared knowledge-base root on this device: `D:/KnowledgeBase`
- Before tasks affected by past decisions, preferences, or project history, read
`_system/AGENT_MEMORY_POLICY.md` under that root and follow it.
Mac版Codexでは、同じ内容のパスだけをMac側の同期先へ変える。端末ごとに異なるのは入口のパスであり、読みに行くポリシーとMarkdown本文は同じだ。
Claude Codeは CLAUDE.md から別ファイルを @path で読み込める。Windows版の ~/.claude/CLAUDE.md なら、次の1行を入口にできる。
@D:/KnowledgeBase/_system/AGENT_MEMORY_POLICY.md
Macでは同期先に合わせて絶対パスを変える。リポジトリ内でCodex用 AGENTS.md とClaude Code用の指示を共通化するだけなら、プロジェクトの CLAUDE.md から @AGENTS.md と読み込む方法も公式に案内されている。
パスは自分の同期先へ置き換える。Windowsでも、指示内では / 区切りの絶対パスにすると読み違いを減らせる。Driveの同期先が深い場合は、各端末で短い安定パスを用意し、入口ファイルだけを端末ごとに管理すると移行しやすい。
AGENTS.md はファイルへのアクセス権を増やさない。ナレッジベースが作業領域の外にある場合は、そのフォルダをCodexが読み書きできる範囲へ追加するか、権限設定で許可する必要がある。
Codexの公式ドキュメントでは、AGENTS.md の指示チェーンは実行開始時に構築され、合計サイズは既定で32KiBまでとされている。ナレッジ本文を AGENTS.md に詰め込まず、検索手順と入口だけを書く。ファイルを直したのに挙動が変わらない場合は、新しいタスクやセッションで確認する。
5. 「勝手に記録」は二段階に分ける
何でも正本へ自動追記させると、ナレッジベースは数週間で会話ログの墓場になる。自動化するのは収集までに止め、正本への統合に品質ゲートを置く。
ここでいう自動記録は、Codexがタスクを実行している間の動作だ。AGENTS.md 自体はスケジューラではない。週次のinbox整理まで無人で回したい場合は、別途Codexの自動化機能やOSのスケジューラから、整理用のタスクを起動する。
自動でよい 確認を挟む
────────────────────────────────────────────
日付別inboxへの追記 既存の決定を上書き
出典・タスクIDの記録 個人情報の保存
既存候補ノートの提示 推測を事実へ昇格
索引の更新候補 ファイルの削除・大量移動
受信箱には、次のような粒度で残す。
## 14:35 サイト公開フロー
- source: Codex task `...`
- subject: mdx-playground deployment
- statement: 公開前の確認はdev表示、対象テスト、最終ビルドの順に行う
- confidence: confirmed-by-repository-rule
- sensitivity: internal
- promote_to: 20-areas/development-operations.md
この形式なら、後から「なぜそう記録したのか」を辿れる。記憶の量より、訂正可能性を残す方が効く。
6. 検索は索引、全文検索、正本確認の3段階
毎回すべてのMarkdownをコンテキストへ入れる必要はない。むしろ、古い情報まで一括投入すると判断を濁らせる。
# 1. 地図を見る
Get-Content -LiteralPath 'D:/KnowledgeBase/_system/INDEX.md'
# 2. 候補を絞る
rg -n -i 'cloudflare|deploy|公開' 'D:/KnowledgeBase'
# 3. 該当する正本だけ読む
Get-Content -LiteralPath 'D:/KnowledgeBase/20-areas/development-operations.md'
数千ファイル程度なら、まず rg で十分だ。検索漏れが目立ち始めたら、aliasesの整備、SQLite FTS、埋め込み検索の順で足す。最初からベクトルデータベースを立てるより、正本の品質と索引の鮮度へ時間を使った方が回収が早い。
7. Windows、Mac、スマホ、クラウドのアクセス経路を分ける
Google Drive上の1つのフォルダを正本にしたまま、実行環境ごとに入口を選ぶ。
A. WindowsとMacは同期フォルダを使う
Drive上の KnowledgeBase を各PCへ同期し、端末ごとのローカルパスを AGENTS.md または CLAUDE.md に書く。CodexとClaude Codeは通常のファイルとして検索・追記し、OS側のDriveクライアントがクラウド正本へ反映する。
この構成では、GoogleへのOAuth認証を持つのはDrive同期クライアントだ。CodexやClaude CodeへGoogleの認証情報を直接渡す必要はない。rg、Git、エディタ、オフライン参照もそのまま使える。
ローカルにできるのは独立した記憶ではなく、同じクラウド正本のミラーだ。同じファイルを複数端末で同時編集すると競合するため、端末別または日付別inboxへの追記と、正本の統合を分けると衝突を局所化できる。
B. OAuth対応のDriveプラグインまたはMCPから直接読む
CodexのGoogle Driveプラグインは、Drive、Docs、Sheets、Slidesを横断する入口になる。Claude Codeも、HTTP型MCPサーバーへ接続し、ブラウザでOAuth認証する仕組みを備えている。両者から同じDriveへログインできれば、ローカルパスに依存しないアクセス経路を作れる。
ただし、OAuth認証が通ったことと、Markdownを自由に読み書きできることは別だ。コネクタやMCPが次の操作を公開しているか、実際のツール一覧で確認する。
- 指定フォルダ配下のファイル一覧
- ファイル名と本文の検索
- Markdownの読取
- 新規ファイルの作成
- 既存ファイルの追記または更新
- 更新日時、ファイルID、競合の取得
検索と読取しかないコネクタなら「思い出す」用途には使えるが、「逐次記録する」用途には足りない。PCでは同期フォルダを標準経路にし、OAuth経路はGoogle Docs検索やクラウド実行の補助にすると壊れにくい。
C. スマホは閲覧・手修正、クラウドエージェントは別経路
スマホからは、Google DriveアプリやDrive対応のMarkdownエディタで正本を閲覧・修正できる。これだけでも、外出先で過去の決定を確認する用途は満たせる。
一方、スマホから起動したクラウド上のCodexが、PCと同じ同期フォルダを読めるわけではない。クラウド環境にはPCのローカルミラーが存在しないため、Google Driveプラグイン、外部から到達できるDrive用MCP、またはクラウド環境から取得できる非公開Gitリポジトリなど、別の経路が必要になる。
現時点のOpenAI公式資料ではGoogle Driveプラグインの存在は確認できるが、ローカルCodex、Codex Cloud、ChatGPTのスマホ画面で同じ操作がすべて使えるとは読み取れない。スマホ・クラウド対応は「OAuthがあるから使える」と決め打ちせず、その画面で検索・読取・作成・更新の4操作を試してから有効と判断する。
8. 導入初日にやること
- Google Drive上に正本となる
KnowledgeBaseフォルダを作る - PARA、
00-inbox、_systemの各フォルダを作る - 既存資料を全部移さず、現在動いている3プロジェクトだけノート化する
_system/INDEX.mdにその3件を登録する_system/AGENT_MEMORY_POLICY.mdに検索・記録・安全ルールを書く- WindowsとMacの
~/.codex/AGENTS.md、~/.claude/CLAUDE.mdを共有ポリシーへ向ける - 4つの組み合わせで「INDEXを読み、テスト用inboxへ1件追記する」を実行する
- スマホからINDEXとテスト記録を開けることを確認する
- 1週間後にinboxを見直し、残したい情報だけ正本へ昇格する
過去資料の一括移行から始めると、整理だけで休日が消える。今日から発生する判断を漏らさず、必要になった過去資料だけを後から取り込む方が続く。
どこまで「何でも思い出せる」のか
この仕組みが思い出せるのは、記録され、検索語に引っかかり、現在の作業から参照できる情報だけだ。それでも、決定理由、文章の好み、プロジェクトの現在地、頻出する手順をMarkdownへ逃がすと、会話履歴を掘り返す回数は大きく減る。
目指すのは、AIが人間のすべてを覚える状態ではない。人間が所有する記録を、AIが必要な瞬間に探し当て、出典付きで使い、作業後に次の自分へ手渡す状態だ。