Community生產力與協作github.com

tinchak0207/Hippocampus

讓 AI 代理人從經驗中學習:將踩過的坑寫入硬碟,避免再犯。在開始非平凡任務前調用,用 `mem` 查詢類似任務的歷史決策與教訓;在犯錯被糾正、查明問題原因或做出決定後調用,使用 `mem add` + `mem build` 將教訓沉澱下來。

Hippocampus 是什麼?

Hippocampus 是一個專為 AI 代理人(如 Claude Code、Cursor、Codex 等)設計的技能,目的是讓代理人能夠記錄並從過往經驗中學習,避免重複犯錯。它透過將教訓寫入純文字檔案 `notes/`,並使用 `mem build` 指令編譯成索引,讓代理人能在下次執行類似任務時,先查詢歷史記錄。此技能支援四層記憶模型:Tier-0 路由表、Tier-1 領域摘要、Tier-2 目錄、Tier-3 原文,並提供 `mem` CLI 工具進行讀寫操作。讀取時按順序從 MEMORY.md 開始,逐步深入至特定條目;寫入時則使用 `mem add` 建立筆記,再執行 `mem build` 更新索引。Hippocampus 強調不手動修改自動生成的檔案,不批量讀取 notes/,不寫入敏感資訊,並在記憶與現場證據衝突時以現場為準。

相容平台✓Claude Code~Codex CLI~Cursor
npx skills add tinchak0207/Hippocampus

Installed? Explore more 生產力與協作 skills: steipete/gemini, steipete/gh-issues, steipete/skill-creator · View all 6 →

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

Hippocampus:讓 AI 代理人從經驗中學習

踩過的坑寫進 notes/,mem build 編譯進索引,下次同類任務開始前先查到上次怎麼栽的。CLI 叫 mem。

記憶根目錄 $MEM_HOME(預設 ~/.claude/memory)。全部是純文字,mem build 從 notes/ 生成其餘三層。

何時使用

  • 開始一個非平凡任務前:查這件事以前有沒有做過、有沒有決策或坑。
  • 使用者提到「上次」「之前說過」「按老規矩」時。
  • 派 subagent 前:把相關記憶寫進 spec。
  • 完成一個可複用的結果、解決一個反覆出現的問題、被使用者糾正一次之後:寫一篇 note。

四層模型

層檔案內容誰寫
Tier-0MEMORY.md路由表:讀寫協定、pack 列表、最近 12 篇;有位元組預算(預設 12000)mem build
Tier-1packs/<id>.md每個領域一頁,每篇 note 一行 description + 路徑mem build
Tier-2catalog.tsv每篇 note 一行:pack date type name title bytes gistmem build
Tier-3notes/*.md原文,帶 YAML front-mattermem add 建檔案,你填內容

分類規則在 $MEM_HOME/.memorypack/packs.json:front-matter 裡 metadata.pack 寫了合法 id 就用它,否則按關鍵字打分(strong +3,keywords +1),零分進 misc。

讀路徑(按順序,夠用就停)

  1. 讀 MEMORY.md 全文(它很小,就是為了被整篇讀)。
  2. 按「什麼時候讀」列找到領域 → mem pack <id> 掃讀該領域。
  3. 需要定位具體條目 → mem find <關鍵字> [--pack <id>] [--limit N],只回傳 catalog 行。
  4. 只對命中的 1-3 篇 → mem show <name> 讀原文。

記憶與現場證據(程式碼、日誌、命令輸出)衝突時,以現場為準,並告訴使用者哪篇記憶過期了。

寫路徑(只有這一條)

mem add <slug> --type project|feedback|reference [--pack <id>] [--title "標題"]
# 打開打印出的路徑,填 description 一行 + FACT / 決策 / 坑 / 相關
mem build
  • description 是唯一會出現在上三層的內容,寫成「這是什麼 + 什麼時候要用」的一句話。
  • 改已有 note:直接編輯 notes/ 裡那一篇,然後 mem build。
  • 寫完可以跑 mem doctor 檢查預算、斷鏈、缺 description。

禁令

  • 不手改 MEMORY.md、packs/*、catalog.tsv:它們是生成物,下次 build 會被覆蓋。
  • 不批量讀 notes/(cat notes/*、ls 後逐篇讀、對整個目錄 grep 原文):用 mem find。
  • 不刪除 note,除非使用者明確要求;過期就在原文標註並更新 description。
  • 不把 secret、token、密碼、私鑰、個人身份資訊寫進 note。
  • 不另開第二個記憶庫;其他工具的舊路徑用 symlink 指向 $MEM_HOME。

參考

  • 日常維護:prompts/maintain.md
  • 對話末復盤與主動建設:prompts/proactive-build.md
  • 可貼進 AGENTS.md / CLAUDE.md 的規則段:prompts/agents-snippet.md
  • hooks 範例:prompts/hooks/

相關技能