5 月 18 日,他寫了一篇長文,推薦 agentmemory 作為 AI coding agent 記憶問題的答案。5 月 23 日,同一個人發了另一篇:我收回。

一句話結論:agentmemory 是目前最紅的 AI coding agent 記憶工具(GitHub 約 25,000 星),但它的 hook 曾長期讀錯 Claude Code 的回傳欄位,導致約 47% 工具呼叫靜默不入庫;用之前務必自己驗一次有沒有真的存到。

中間隔了一個星期的實際使用。Fabio Akita 是巴西 Ruby 社群的老牌開發者,他把 agentmemory 放進自己的日常工作流跑了一週,然後逐條列出五個問題、附上 GitHub issue 編號,最後用 Rust 重寫了一個。

這篇不是要你換工具。是要你檢查一件事:你以為在幫你記東西的那個服務,真的有把東西寫下來嗎?

agentmemory 到底是什麼?

它是給 AI coding agent 用的持久記憶層。你關掉 Claude Code,下次再開,它記得上次做到哪、試過什麼失敗方法、為什麼否決了某個方案。

作者是 Rohit Ghumare。專案 2026 年 2 月 25 日建立,5 月 12 日首次衝上 GitHub Trending 第一名。截至 2026 年 8 月 19 日,GitHub 上顯示約 25,000 顆星、2,100 個 fork。它用 TypeScript 寫,Apache-2.0 授權,一行 npx 就裝得起來,接 Claude Code、Codex、Cursor、Gemini CLI、OpenCode,官方數字是 12 個 hook、51 個 MCP 工具,在 LongMemEval-S 上跑到 95.2% R@5。

數字很漂亮。問題不在 benchmark 上。

那 47% 是怎麼消失的?

這是 Akita 那份清單裡最值得單獨拿出來講的一條。

agentmemory 靠 hook 去接 Claude Code 的事件。每次 agent 用完一個工具,Claude Code 會把結果丟回來,hook 負責接住並寫進資料庫。

但 hook 讀的欄位叫 data.tool_output,而 Claude Code 實際送出來的欄位叫 tool_response

欄位名字對不上,讀出來就是 undefined。不會報錯,不會警告,那筆觀察就當沒發生過。

按 Akita 的說法,這影響了大約 47% 的 Claude Code 工具呼叫,而且持續了六個星期才被發現(agentmemory issue #539)。六個星期裡,使用者以為自己在累積一份完整的專案記憶,實際上接近一半的內容從來沒有進去過。

靜默失敗比崩潰難處理,原因就在這裡。程式當掉你會知道,你會去修。寫不進去但一切看起來正常,你只會在三個月後問「為什麼它不記得我們討論過這個」,然後以為是 AI 太笨。

另外四個問題是什麼?

Akita 在 2026 年 5 月 23 日那篇 post-mortem 裡列了五條,都附了 issue 編號:

問題實際後果Issue
hook 讀錯欄位約 47% Claude Code 工具呼叫沒入庫,持續六星期#539
每次重啟重建 BM25 索引超過 1 萬筆觀察後 state::set 逾時,索引檔停在約 96 個空位元組,每次重啟花約 5 分鐘重建#309(仍開啟)
5 秒資料遺失窗口寫入走 5 秒 debounce,30 秒逾時一炸,Node process 連同記憶體內容一起死掉#204
同一份程式兩套設定讀取路徑process.envgetMergedEnv() 並存,「我改了環境變數但沒反應」#456
引擎從呼叫端的工作目錄啟動Windows 使用者每開一個終端機就換一個資料位置,以為記憶不見了#303(仍開啟)

Akita 自己的結論寫得相當克制,這句值得原文引一次:

「問題的形狀是結構性的,不是維護者不夠努力。」

他指的是架構本身:TypeScript MCP 加上獨立的 iii-engine Rust binary,4 個 port、3 個 process、索引放在記憶體再透過遠端 KV 持久化。這種組合會不斷長出同一類 bug,而修完一個還會再冒一個,除非把系統重寫一半。

三個月過去了,修好了嗎?

這是我自己去查的部分,因為只引用一份三個月前的抱怨文並不夠。

2026 年 8 月 19 日,agentmemory 的 GitHub issue 頁面顯示 183 個開啟中的 issue、191 個待處理 PR。翻開最近幾個月使用者回報的內容,同一類問題還在:

  • #1047(7 月 11 日)— PostToolUse 等 hook 在 payload JSON 為 null 時直接 crash,原因是沒有防護的 data.xxx 存取。跟 #539 是同一個家族的問題。
  • #1029(7 月 7 日)— 重啟之後 LLM drain 卡住,回報者列了 6 個未解決狀況。
  • #1025(7 月 7 日)— 1,867 筆觀察卡在 synthetic 狀態,處理吞吐量掉了 16 倍。
  • #1024(7 月 7 日)— 跑了 11 小時,只有 33% 完成 LLM 壓縮。
  • #1030(7 月 7 日)— 207 筆觀察被標記成已完成,但缺少 compressionKind 欄位。
  • #1021(7 月 6 日)— 中日韓文字和混合語言的去重會漏掉重複記憶。

最後那條要特別點出來。如果你的專案討論是中文,或者中英夾雜(大部分華語圈開發者都是),agentmemory 的去重邏輯目前可能認不出兩筆其實一樣的記憶。結果是同一件事在 wiki 裡存了好幾份互相矛盾的版本,而 agent 不知道該信哪一份。英文使用者不太會踩到這個,你會。

Akita 重寫的那個版本,做了什麼不一樣的選擇?

先講清楚規模,免得你有錯誤期待:ai-memory 在 2026 年 8 月 19 日只有 31 顆星、1 個 fork、94 個 commit,作者自己標明是 beta,還沒有正式 release。它不是 agentmemory 的替代品,現階段更像是一份「如果重來一次會怎麼設計」的實作說明。

但它的取捨值得看,因為每一個都對應到上面某個 bug:

設計決定要解掉的問題
單一 Rust binary(Rust 佔 91.9%),不再有遠端 KV3 process、4 port 的協調失敗
SQLite + FTS5 原生持久化索引每次重啟重建索引
單一寫入執行緒,透過 mpsc 排隊5 秒遺失窗口、database is locked
純 markdown 存在磁碟上當真相來源,SQLite 只是衍生索引資料被鎖在專有格式裡,出事撈不回來
每個專案用 UUID 隔離目錄同名頁面互撞、刪除誤傷隔壁專案
LLM 為選配,不給 key 也能用 FTS5 搜尋沒有 API key 就整套不能動

markdown 當真相來源這條最實際。wiki 是一個 git repo,你可以 grep、可以用 Obsidian 開、可以 rsync 備份、可以 git log 回溯。哪天工具不維護了,你的資料還在,而且是人看得懂的格式。

概念上它跟我們之前寫過的分層式 AI 記憶架構是同一條路:不要把所有東西塞進一個向量資料庫,而是分層、分類、按需取用。

要不要接 LLM?哪一個最划算?

這部分是整個專案裡我覺得最有轉用價值的資料,跟你用哪個記憶工具無關。

把 session 觀察壓縮成 wiki 頁面這件事,需要一個 LLM。Akita 拿 6 個 provider 對 5 組刻意設計的測試案例跑了 A/B,測的是「會不會亂編頁面」「分類準不準」「主題會不會混在一起」:

模型每次成本延遲結論
Claude Haiku 4.5約 $0.027 秒選定的預設值。分類最準,最懂得克制
GPT-5.4-mini約 $0.0054 秒便宜 5 倍快 2 倍,偶爾過度分類
qwen3:32b(本地 Ollama)$092 秒需要約 24GB 記憶體,延遲在背景跑不影響體感
DeepSeek V4 Flash約 $0.00522 秒可用,但沒有勝過 GPT-mini 的地方
Sonnet 4.5約 $0.0611 秒被 Haiku 取代,3 倍成本且較常編造細節
Kimi-K2.6卡死不適用

兩個可以直接帶走的判斷。

第一,這類「文字進、文字出」的整理工作不需要旗艦模型。Sonnet 花三倍錢,結果還比 Haiku 更容易編造細節。貴不等於準。

第二,推理模型在這裡是負分。Kimi-K2.6 直接卡死,原因是推理型模型會把 token 預算先花在內部思考上,配合嚴格 JSON 輸出的提示詞,最後吐不出可解析的內容。同樣的狀況也會發生在開了 extended thinking 的 Claude、GPT-o3、Gemini 的 thinking 變體上。要用的話,把推理關掉。

你現在該做什麼?

如果你已經在跑 agentmemory 或任何 hook-based 的記憶工具,花十分鐘做這四件事:

  1. 驗證真的有寫進去。開一個 session,講一件很特別、不可能出現在別處的事(例如「我們決定把快取 TTL 設成 1,337 秒」)。結束 session,重開,問 agent 這件事。答不出來就是沒存到。
  2. 數一數筆數對不對。看它記錄了多少筆觀察,跟你這個 session 實際用了多少次工具比一比。差距接近一半,就是踩到 #539 那類欄位錯配。
  3. 中文專案要多查一步重複。因為 #1021 還開著,搜一個你討論過很多次的中文主題,看看是不是同一件事存了好幾份不一致的版本。
  4. 確認資料撈得出來。找到實際存放的位置,確認你能在不啟動那個工具的情況下讀到內容。讀不到,代表你的專案記憶被綁在一個你不能檢查的黑盒裡。

如果你還沒開始用,那就先問自己一個更前面的問題:你是不是真的需要。Akita 自己的答案是——如果你只用一個 agent 而且不換,大概不需要。Claude Code 有三層壓縮、Codex 有 auto_compact_token_limit、opencode 有 anchored compaction,各自在 session 內都處理得不錯。真正需要外部記憶的,是像他那樣在同一個專案裡跳來跳去的人:Claude Code 卡住就開 Codex 換個思路,然後再回 Claude Code 實作。

只用一個工具的話,一個 docs/ 資料夾加上「重要的事叫 agent 寫進去」的習慣,已經解掉八成問題。這需要紀律,但不會靜默丟資料。

這件事真正的意義是什麼?

25,000 顆星沒有防止一個影響一半資料的 bug 活六個星期。這不是在說 agentmemory 不好,也不是說星星沒有意義——它確實是這個領域跑得最前面的專案,社群回報活躍,作者也在修。

但星數量的是採用速度,不是正確性。而記憶類工具剛好是最難靠「感覺」驗證的一類:它出錯的方式是安靜的,而你唯一會注意到的症狀,是 AI 好像變笨了。

Karpathy 在他那份 LLM Wiki 筆記裡寫過一句,Akita 說這句是整個專案的起點:index.md 在大約 100 份來源、幾百頁的規模下「好用得出奇,不需要 embedding」。

記憶是文字。文字放在磁碟上。用 SQLite 索引它。值得的時候才用 LLM 整理它。沒人再看的就讓它淡出。

今天 OpenAI 才主動暫停了自己最大的訓練 run,理由是對安全的信心會決定發展速度。往下一層看,AI 工具鏈的其他部分也在補同一課:跑得快之外,還得先確定跑對方向。

常見問題

agentmemory 現在還能用嗎?

能。它仍然是這個領域最成熟、社群最大的選擇,約 25,000 顆星、持續在更新。但建議裝完之後自己驗一次資料有沒有真的寫入,不要預設它一定有在記。

ai-memory 可以拿來取代 agentmemory 嗎?

現階段不建議。截至 2026 年 8 月 19 日它只有 31 顆星、標示為 beta、沒有正式 release,作者自己說需要更多使用者幫忙找 bug。它適合想理解架構取捨的人,不適合放進你的主力工作流。

AI 記憶工具的整理工作,用哪個模型最划算?

依照 6 個 provider 的對比測試,Claude Haiku 4.5 在成本(約 $0.02 一次)、速度(7 秒)和分類準確度之間最平衡。預算緊可以用 GPT-5.4-mini,有本地機器可以用 qwen3:32b。不要用開了推理模式的模型,它們在嚴格 JSON 輸出下會卡死。

中文使用者要特別注意什麼?

agentmemory 的 issue #1021 指出中日韓文字和混合語言的去重會漏掉重複記憶,該問題在 2026 年 8 月 19 日仍未關閉。中文或中英夾雜的專案可能會累積多份互相矛盾的記憶,建議定期檢查。

本文資料截至 2026 年 8 月 19 日,GitHub 星數、issue 狀態與模型定價均可能變動。文中 agentmemory 的五個問題描述來自 Fabio Akita 於 2026 年 5 月 23 日發表的 post-mortem,issue 現況為本站於 2026 年 8 月 19 日自 GitHub issue 頁面查核。本文不構成任何投資建議。

關於Mr. Slash

「Mr. Slash 的系統性人生」,創立於 2024年,由 Mr. Slash 本人及專業編輯團隊經營的財經內容平台。

我們的宗旨是透過投資、財經、自動化與新興科技等領域的深入解說與應用,幫助讀者打造穩定的被動收入系統。內容涵蓋加密貨幣、股息資產、量化工具、平台分潤等實用策略,協助你用更聰明的方法配置資金、累積資產,走在財務自由的路上,少走冤枉路。

若為商業合作邀稿,將會清楚標註「不代表本站立場」。

商業合作

如果您有任何關於我們團隊或網站內容的疑問或建議,歡迎您前往IG 私訊 @slash.Capital聯繫我們,謝謝!

發表迴響

相關文章

Trending

探索更多來自 Mr. Slash|系統流人生 的內容

立即訂閱即可持續閱讀,還能取得所有封存文章。

繼續閱讀

خصم دائم على الرسوم سجّل في OKX مجاناً ←
Join Mr. Slash