CodexとClaude Codeに同じ「外部記憶」を持たせる:Google Drive×PARA運用

開発claude-code-tools

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.mdCLAUDE.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. 導入初日にやること

  1. Google Drive上に正本となる KnowledgeBase フォルダを作る
  2. PARA、00-inbox_system の各フォルダを作る
  3. 既存資料を全部移さず、現在動いている3プロジェクトだけノート化する
  4. _system/INDEX.md にその3件を登録する
  5. _system/AGENT_MEMORY_POLICY.md に検索・記録・安全ルールを書く
  6. WindowsとMacの ~/.codex/AGENTS.md~/.claude/CLAUDE.md を共有ポリシーへ向ける
  7. 4つの組み合わせで「INDEXを読み、テスト用inboxへ1件追記する」を実行する
  8. スマホからINDEXとテスト記録を開けることを確認する
  9. 1週間後にinboxを見直し、残したい情報だけ正本へ昇格する

過去資料の一括移行から始めると、整理だけで休日が消える。今日から発生する判断を漏らさず、必要になった過去資料だけを後から取り込む方が続く。

どこまで「何でも思い出せる」のか

この仕組みが思い出せるのは、記録され、検索語に引っかかり、現在の作業から参照できる情報だけだ。それでも、決定理由、文章の好み、プロジェクトの現在地、頻出する手順をMarkdownへ逃がすと、会話履歴を掘り返す回数は大きく減る。

目指すのは、AIが人間のすべてを覚える状態ではない。人間が所有する記録を、AIが必要な瞬間に探し当て、出典付きで使い、作業後に次の自分へ手渡す状態だ。

参考資料