AI 程式設計教程中文版
官方教程中文版上下文與配置

Memory management

Gemini CLI memory management、auto memory、/memory reload 的用途,以及記憶、上下文檔案和臨時 prompt 的邊界。

Memory management 解決的是“Gemini CLI 該長期記住什麼”。它和 GEMINI.md 一起決定 agent 下次是否還會遵守你的專案習慣。

記憶不是垃圾桶:只沉澱穩定事實和長期偏好,不要把每次任務過程都寫進去。

常見操作

/memory show
/memory refresh
/memory list
/memory add <fact>

修改 GEMINI.md 或相關上下文檔案後,用 /memory refresh 讓當前會話重新載入。/memory list 用來確認當前發現了哪些 memory 檔案,/memory add 會把一條事實追加到全域性 memory。

/memory show 用來檢視當前拼接後的上下文,包括全域性、專案、子目錄 GEMINI.md 和儲存的 memory。排查“為什麼它不遵守規則”時,先看這裡。

適合記住什麼

  • 專案長期規則。
  • 常用驗證命令。
  • 穩定的目錄職責。
  • 反覆出現的業務約定。
  • 使用者明確長期偏好。

不適合記住什麼

  • 一次性報錯。
  • 還沒驗證的猜測。
  • 臨時路徑。
  • 敏感資訊。
  • 已經完成的過程記錄。

使用建議

長期規則優先寫入檔案;memory 只保留真正跨任務複用的事實。能寫成明確規則的,就不要只靠模型“記得”。

save_memory 邊界

Gemini CLI 的 save_memory 工具會把事實追加到全域性 ~/.gemini/GEMINI.md## Gemini Added Memories 區域。它適合儲存自我偏好、長期專案事實和穩定配置,但不適合儲存金鑰、客戶資料、一次性 debug 過程。

如果某條事實只對當前儲存庫有效,優先寫專案 GEMINI.md;如果只對某個子目錄有效,寫子目錄規則;如果跨所有專案都成立,才考慮全域性 memory。

資訊型別推薦落點原因
專案目錄職責專案或子目錄 GEMINI.md和儲存庫結構繫結
個人長期偏好全域性 memory跨專案複用
驗證命令專案 GEMINI.md團隊成員也需要一致
一次性錯誤現場當前 session任務結束就過期
金鑰、賬號、客戶資料不寫入 memory敏感且不應進入模型長期上下文

記憶寫錯比 prompt 寫錯更麻煩,因為它會在之後很多工裡持續影響判斷。能寫成可審查檔案的長期規則,優先寫檔案;只有跨專案、長期穩定、不會洩密的偏好,才適合全域性 memory。

Auto Memory

官方還提供 experimental Auto Memory,用來從歷史會話中提取 memory patch 和 skill。它適合願意人工稽核長期記憶變化的人,不適合預設全自動寫入。記憶一旦失控,會比一次錯誤 prompt 更難排查。

官方命令邊界

Gemini CLI 官方命令把 memory 分成兩層:上下文檔案和可追加的長期事實。/memory show 解決“當前會話到底讀到了什麼”,/memory refresh 解決“檔案改完當前會話還沒生效”,save_memory 解決“把一條長期事實寫入全域性 ~/.gemini/GEMINI.md”。

這三件事不能混用:

  • 只想臨時提醒當前任務,用普通 prompt。
  • 想讓儲存庫所有成員都遵守,寫專案 GEMINI.md
  • 想讓自己跨專案長期保留,才寫全域性 memory。
  • 想排查上下文錯亂,先 /memory show,不要繼續追加新 memory。

save_memory 追加的是事實,不是聊天記錄。好的 memory 應該短、穩定、可驗證;例如“這個儲存庫的測試命令是 pnpm test”比“上次我們排查過構建問題”更可用。

記憶維護

建議把 memory 當成需要審查的配置,而不是聊天附屬品:

  • 新增後立刻用 /memory show 看最終拼接效果。
  • 過時的版本號、路徑、埠、模型名要刪掉或更新。
  • 含“總是”“永遠”“不要”的規則要謹慎,避免壓過專案級指令。
  • 從 Auto Memory 產生的 patch 必須人工讀過再接受。

如果發現 Gemini CLI 反覆遵守一條已經過期的做法,先查 /memory show,再查全域性和專案 GEMINI.md。不要只在當前 prompt 裡反覆糾正,否則下次還會復發。

驗收方式

新增 memory 後執行 /memory show,確認內容位置、範圍和表述都正確。每隔一段時間清理過期規則,尤其是版本號、埠、臨時路徑和已經改變的專案約定。

接下來去哪

官方來源

本頁目錄