跳到主要內容
Lab Grimoire
TW EN
請喝咖啡
四大 AI 程式助手的記憶暗戰:CLAUDE.md、AGENTS.md 和 GEMINI.md 背後的設計哲學
Agent 架構

四大 AI 程式助手的記憶暗戰:CLAUDE.md、AGENTS.md 和 GEMINI.md 背後的設計哲學

本頁目錄

封面圖

四大 AI 程式助手的記憶暗戰

你以為 CLAUDE.md 只是設定檔?它決定了你的 Agent 認不認得你。四款工具,四套完全不同的記憶設計。選錯了,你每天都在跟失憶的助手從頭開始。


同一個格式,骨子裡完全不同

2026 年,四款主流 AI 程式設計 CLI 工具都走到了同一個結論:用 Markdown 檔案當 Agent 的指令系統。

工具 指令檔 全域位置 專案位置
Claude Code CLAUDE.md ~/.claude/CLAUDE.md 專案根目錄 + .claude/rules/*.md
Codex CLI AGENTS.md ~/.codex/AGENTS.md Git root 到 CWD 逐層掃描
Copilot CLI 多格式並用 ~/.copilot/copilot-instructions.md .github/copilot-instructions.md + AGENTS.md
Gemini CLI GEMINI.md ~/.gemini/GEMINI.md 專案樹遞迴掃描

Claude Code 像一座分樓層的圖書館。@import 語法從主檔案引用外部文件,.claude/rules/ 目錄開機就載入,子目錄的 CLAUDE.md 走進去才觸發。需要什麼拿什麼。

Codex CLI 的做法剛好相反。從全域到當前目錄,所有 AGENTS.md 逐層蒐集,串成一條長鏈,啟動時一股腦灌進去。效率不差,但 32 KiB 硬上限,塞太多直接溢出。

Copilot CLI 比較特別,2025 年 8 月後它同時讀 AGENTS.md、CLAUDE.md、GEMINI.md,不挑格式。團隊裡有人用 Claude、有人用 Codex?共用同一份指令檔就好。

Gemini CLI 最暴力。啟動時遞迴掃描整個專案樹的 GEMINI.md,全吸進 prompt。背後 1M Token 的胃袋撐著,吃再多不怕。

四款我都用過一段時間。日常感受差距最大的不是模型聰不聰明,是它記不記得我。


三個你可能沒注意到的分水嶺

@import:能拆模組,還是只能揉成一團

Claude Code 和 Gemini CLI 支援 @import,主檔案可以拆成好幾塊,各自管理。Codex CLI 和 Copilot CLI 不行,你要嘛全塞進一個檔案,要嘛靠目錄結構硬串。

我的 CLAUDE.md 主檔 80 行,實際規則分散在十幾個 rules 檔案裡,攤開大概 3,000 行。三個月前覺得這沒差,三個月後就知道了。

跨 Session 記憶:誰記得你昨天說過的話

工具 跨 Session 機制 儲存位置
Claude Code autoMemory 快照 本機可配置目錄
Codex CLI memories.jsonl + 摘要 ~/.codex/memories/
Copilot CLI 靠你手動更新指令檔
Gemini CLI save_memory 工具 寫回 ~/.gemini/GEMINI.md

Copilot CLI 是唯一沒有跨 Session 記憶的。每次對話都像第一次見面。你跟它講過的偏好、踩過的坑、建立的默契?下次啟動,全忘了。聽起來是小事,但用了兩週你就會開始覺得自己像在對著金魚說話。

Token 天花板:指令能寫多長

Claude Code 的 200K context 搭配社群建議的 < 200 行 CLAUDE.md。精簡路線,每個 token 要有意義。

Gemini CLI?1M Token。你可以把整本《紅樓夢》塞進去,它也不會皺眉頭。

Codex CLI 最嚴格:32 KiB 硬上限。超過就截斷,沒商量。

但窗口大不代表效果好。我試過把 CLAUDE.md 從 80 行膨脹到 400 行,Claude 開始漏規則。Anthropic 的文件裡也寫了:臃腫的指令檔會讓模型忽略指令。說白了,指令越短,它越聽話。


記憶是 Harness 的一部分,不是外掛

Letta CTO Sarah Wooders 說過一句話:

要求把記憶插入 Agent Harness,就像要求把駕駛功能插入一台車。

系統提示怎麼載入?對話歷史什麼時候壓縮?哪些資訊能活過下一次 Session?這些「你看不到的決定」,全是 Harness 在做的。你以為你在比較四款工具的設定檔格式,其實你在比較四種記憶設計。

LangChain 創辦人 Harrison Chase 講得更直接:不擁有 Harness,就不擁有記憶。封閉平台裡的記憶格式不透明、搬不走。你花了三個月教 Agent 認識你的寫 code 習慣和專案脈絡,換個工具?歸零。從頭來。

他自己就踩過這個坑。一個用了好幾個月的 Email Agent 被同事誤刪。重建以後,語氣不對、偏好全沒、收件人分類邏輯要重新教。他說那個瞬間他才意識到記憶有多值錢。

我有類似的經驗。換過一次工具鏈,三個月的記憶設定全部重來。那種感覺像搬了新家,所有東西都在箱子裡,但你找不到任何一樣。


所以到底怎麼選

最重要的一件事:確認記憶格式你看得懂、搬得走。Claude Code 的 autoMemory 寫在本機磁碟,Codex CLI 的 memories.jsonl 是明文 JSON,Gemini CLI 直接寫回 Markdown。這些都是你可以打開來讀的東西。如果記憶鎖在某個你看不到的 API 後面,那就不是你的記憶。

另外一個容易踩的坑:指令檔寫太長。窗口再大,塞太多指令等於稀釋。主檔案控制在 100 行以內,細節拆到 @import 或 rules 目錄。

模型可以換。Harness 換了會痛。但記憶一旦斷了,你跟 Agent 之間累積的所有默契,沒有任何工具救得回來。這件事我是換過一次才真的懂的。


References

  1. AI 程式設計 CLI 工具配置/記憶載入機制比較研究 (2026-05-10).
  2. Your harness, your memory — Harrison Chase (LangChain, 2026-04-04).
  3. Why memory isn't a plugin (it's the harness) — Sarah Wooders (Letta, 2026-03-31).
  4. Claude Code Settings Docs — code.claude.com/docs/en/settings.
  5. OpenAI Codex AGENTS.md Docs — developers.openai.com/codex/guides/agents-md.
  6. Gemini CLI GEMINI.md Docs — google-gemini.github.io/gemini-cli/docs/cli/gemini-md.html.
  7. GitHub Copilot CLI Custom Instructions — docs.github.com/en/copilot.

常見問題

CLAUDE.md 和 AGENTS.md 差在哪裡?

CLAUDE.md 是 Anthropic Claude Code 的指令檔,支援 @import 模組化和 .claude/rules/ 規則目錄。AGENTS.md 是 OpenAI Codex CLI 的指令檔,從 Git root 到當前目錄逐層串接,有 32 KiB 硬性大小上限。

為什麼 Copilot CLI 同時支援 CLAUDE.md 和 AGENTS.md?

GitHub Copilot CLI 在 2025 年 8 月後選擇了相容策略,同時讀取多種格式,讓混合團隊可以共用同一份指令檔。

跨 Session 記憶真的重要嗎?

非常重要。沒有跨 Session 記憶的 Agent 每次對話都像初次見面,無法學習你的偏好和工作風格。

Gemini CLI 的 1M Token context 是不是代表不用擔心指令太長?

理論上是,但更大的 context 不代表更好的遵循性。指令越精簡模型遵循度越高。大窗口的優勢在於能同時載入更多程式碼和文件。

覺得這篇有幫助?

追蹤以收到新的 AI × 生醫研究筆記:

或請我喝杯咖啡,讓新內容持續產出。

☕ 請我喝杯咖啡