我把 memcite 裝進自己的專案,記錄下真實的數字

我把 memcite 裝進自己的專案,記錄下真實的數字

我把 memcite 裝進自己的專案,記錄下真實的數字

上一篇我介紹了 memcite 的設計理念:AI agent 的記憶需要出處,出處需要被驗證。

理念很好。但真的有用嗎?

這篇是導入心得。我把 memcite 裝進一個 6,000 行的 Python 專案(mk-brain,我的個人知識管線),從安裝到測試,完整記錄每一個數字。

導入:零侵入,52KB

pip install memcite
cd ~/GitHub/mk-brain
am add "6 層 pipeline:Parse → Review → Enrich → Embed → Report → Search" \
  --file README.md --lines 9-26

裝完後專案裡多了一個檔案:.agentic-memory.db(52KB)。沒有改動任何既有 code,沒有新增 dependency 到專案本身,沒有動 CI。

我用 CLI 模式操作,不在專案的 venv 裡裝 memcite — 完全旁掛。想移除的話,刪掉那個 52KB 的檔案就結束了。

我花了大約 5 分鐘,建立了 6 條核心記憶:

記憶 引用來源
Pipeline 架構(6 層) README.md L9-26
9 維 LLM 評分引擎 scoring.py L1-60
Model Gateway 路由規則 model_gateway.py L1-32
共用 DB 模組 db_utils.py L1-30
Embedding + Hybrid Search AGENTS.md L37-55
系統需求 README.md L55-67

測試一:能不能找到答案?

不裝 memcite 的話,新 session 的 AI agent 要回答「這個專案的評分用什麼 LLM?」,需要先 grep、再 read 檔案、再解析 — 通常 2-3 次 tool call,花幾秒鐘。

裝了之後:

$ am query "評分用什麼模型"
1. scoring.py 使用 9 維 LLM 評分(v4.0)...由 DGX Spark 上的 qwen3.5:9b 執行。
   ✓ scoring.py L1-60 [valid]
   confidence: 1.0

0.077 秒,一次呼叫,直接拿到答案 + 來源 + 驗證狀態。

5 個中文查詢全部命中:

查詢 結果 耗時
評分用什麼模型 scoring.py — qwen3.5:9b 0.077s
search 的權重比例 hybrid search — dense 70% + sparse 30% 0.077s
embedding 維度 bge-m3, 1024d 0.077s
gateway 路由規則 vLLM vs Ollama 路由表 0.077s
pipeline 有幾層 6 層 pipeline 架構圖 0.077s

但這只是 memcite 的基本功。真正的殺手功能是下一個測試。

測試二:改了 code,記憶知道嗎?

這是 memcite 和其他記憶工具的本質差異。

我故意改了 scoring.py,把 LLM model 從 qwen3.5:9b 改成 qwen3:32b(模擬真實的版本升級)。

$ am validate
✓ 5 valid
⚠ 1 stale

Problematic memories:
  ⚠ scoring.py 使用 9 維 LLM 評分...qwen3.5:9b
    Content changed at scoring.py L1-60

抓到了。 memcite 偵測到被引用的檔案內容改變,把那條記憶標記為 STALE

更關鍵的是 query 行為的變化:

$ am query "scoring"
1. db_utils.py... ✓ [valid] confidence: 1.0    # 沒改的排前面
2. scoring.py...  ⚠ [stale] confidence: 0.2    # 改過的降權

confidence 從 1.0 降到 0.2,排序也自動降級。Agent 不會被過期的記憶誤導。

還原檔案後再跑一次 validate:全部恢復 valid。整個過程是自動的,不需要人工介入。

如果你用 mem0 或其他記憶工具,這條記憶會安靜地待在那裡,繼續告訴你的 agent「model 是 qwen3.5:9b」—— 即使它已經不是了。

測試三:會不會被錯誤記憶誤導?

我故意加了一條錯誤記憶:「mk-brain 只支援 dense search,不支援 hybrid search」(實際上支援)。

$ am query "search hybrid"
1. mk-brain 只支援 dense search...  ✓ [valid] confidence: 1.0  # 錯的排第一
2. Embedding... hybrid search...     ✓ [valid] confidence: 1.0  # 對的排第二

這是 memcite 目前的限制: 它驗證的是「引用來源是否還在」,不是「記憶描述是否正確」。如果你指向一個存在的檔案,但寫了錯誤的描述,memcite 抓不到。

換句話說:垃圾進,垃圾出。 記憶的品質取決於寫入的人(或 agent)。

這也是為什麼 memcite 提供了 Admission Control — 你可以在寫入前做品質檢查,用規則或 LLM 過濾掉模糊、空洞的記憶。

測試四:開銷

指標 數值
DB 大小(6 條記憶) 52 KB
單次 query 0.077s
全量 validate(6 條) 0.073s
新增 dependency 0(CLI 旁掛模式)
改動的既有檔案 0

唯一改動的是 .gitignore 加了一行 .agentic-memory.db

我的結論

維度 評價
Staleness Detection 獨一無二的價值。改了 code 記憶就知道。
查詢速度 0.077s,比 grep+read 快一個數量級
侵入性 零。刪掉一個檔案就完全移除
中文支援 v0.4.1 起完全可用
內容正確性保證 不驗內容,只驗引用。需搭配 admission control

如果你在做任何跟 AI agent 相關的開發,花 5 分鐘試一下:

pip install memcite
cd your-project
am add "你的專案用什麼測試框架" --file package.json --lines 10-15
am query "test framework"

然後去改 package.json 的那幾行,再跑 am validate

你會看到它亮起黃燈。

那個黃燈,就是你的 agent 在其他記憶工具裡不會收到的警告。



我是江中喬,目前專注於 AI 認知增強系統的設計與實踐。這篇文章的測試數據全部來自真實專案,沒有捏造。