Memstate AI
官方具備類似 Git 版本控制的代理記憶功能。自訂 LLM 將對話轉化為結構化事實,並自動偵測衝突——你的代理能看見決策如何演變,而非四段矛盾的文字區塊。相較於 RAG/圖形系統,可減少 80% 的 Token 使用量。支援 MCP + REST。
你可以用 Memstate AI MCP 做什麼?
-
儲存任務摘要與決策 — 使用
memstate_remember儲存 Markdown 筆記、決策或任務結果,讓伺服器自動提取關鍵路徑並偵測衝突。 -
設定個別配置值 — 使用
memstate_set將簡短值寫入特定關鍵路徑(例如config.port = 8080)。 -
開始工作前瀏覽專案記憶 — 使用
memstate_get擷取專案或子樹的所有記憶,以了解當前上下文。 -
依意義尋找記憶 — 當你不知道確切的關鍵路徑時,使用
memstate_search進行語意搜尋。 -
審核知識隨時間的變化 — 使用
memstate_history檢視任何關鍵路徑的完整版本鏈,以了解變更內容與時間。 -
安全移除過時的記憶 — 使用
memstate_delete或memstate_delete_project軟刪除關鍵路徑或整個專案,同時保留完整歷史記錄。
文件
Memstate AI - MCP
為 AI 代理設計的版本化記憶體。 儲存事實、偵測衝突,並追蹤決策如何隨時間變化——以託管 MCP 伺服器形式提供。
為什麼選擇 Memstate?
| RAG(多數其他記憶體系統) | Memstate AI | |
|---|---|---|
| 每次對話的 Token 用量 | ~7,500 | ~1,500 |
| 代理可見性 | 黑箱 | 完全透明 |
| 記憶體版本控制 | 無 | 完整歷史記錄 |
| 記憶體擴展時的 Token 增長 | O(n) | O(1) |
| 所需基礎設施 | 是 | 無——託管 SaaS |
其他記憶體系統將所有內容傾倒到您的上下文視窗中,並期望獲得最佳結果。Memstate 為您的代理提供一個結構化、版本化的知識庫,讓其精確導航——只載入所需內容,知道哪些內容已變更,知道何時事實發生衝突。
基準測試
我們建立了一個開源基準測試套件,測試對代理記憶體真正重要的項目:您的系統能否儲存事實、跨工作階段準確回憶、在事物變更時偵測衝突,並在專案演進時維持上下文?
正面對決:Memstate AI vs Mem0
兩個系統在相同條件下進行測試,使用相同的代理(Claude Sonnet 4.6,溫度 0)、相同的場景和相同的評分標準。
| 指標 | Memstate AI | Mem0 | 勝出者 |
|---|---|---|---|
| 總體分數 | 69.1 | 15.4 | Memstate |
| 準確性(事實回憶) | 74.1 | 12.6 | Memstate |
| 衝突偵測 | 85.5 | 19.0 | Memstate |
| 上下文連續性 | 63.7 | 10.1 | Memstate |
| Token 效率 | 22.3 | 30.6 | Mem0 |
評分權重:準確性 40%、衝突偵測 25%、上下文連續性 25%、Token 效率 10%。
各場景細目
基準測試執行五個真實世界場景,模擬多工作階段的代理工作流程:
| 場景 | Memstate AI | Mem0 |
|---|---|---|
| Web 應用程式架構演進 | 43.2 | 55.6 |
| 驗證系統遷移 | 66.2 | 10.2 |
| 資料庫結構描述演進 | 72.7 | 7.0 |
| API 版本控制衝突 | 86.5 | 0.9 |
| 團隊決策逆轉 | 77.2 | 3.3 |
Mem0 贏得了第一個場景(簡單的架構追蹤),但在需要矛盾處理、跨工作階段上下文和決策逆轉追蹤的場景中表現嚴重不佳——在五個場景中有三個得分接近零。
Memstate 勝出的原因
基準測試揭示了一個根本的架構差異:
Mem0 使用基於嵌入的語義搜尋。 事實被分塊、嵌入,並透過相似性進行檢索。這對於簡單查詢有效,但在以下情況會失效:
- 事實與較早的事實矛盾(系統無法區分當前與過時)
- 需要精確回憶(嵌入返回「相似」結果,而非精確結果)
- 寫入到讀取的延遲很重要(新記憶體需要數秒才能變得可搜尋)
Memstate 使用結構化、版本化的鍵值儲存。 每個事實都存在一個明確的鍵路徑上,並具有完整的版本歷史。這意味著:
- 衝突偵測是內建的——當一個新事實與舊事實矛盾時,系統會知道並保留兩個版本
- 回憶是確定性的——您取回的是精確儲存的內容,而非近似匹配
- 跨工作階段連續性是可靠的——代理導航結構化樹狀結構,而非寄望語義搜尋浮現正確的上下文
- Token 成本維持 O(1)——代理先載入摘要,僅在需要時深入細節,而非將所有可能相關的嵌入傾倒到上下文視窗中
公平性說明
- 兩個系統使用相同的代理模型、溫度和評估標準
- Mem0 在寫入和讀取之間給予 10 秒的擷取延遲,以考量其非同步嵌入管線
- Mem0 在 Token 效率上得分較高,但此指標應在上下文中解讀——較低的 Token 用量可能僅反映回傳的資訊較少。一個檢索不完整或不正確事實的系統,每次回應使用較少的 Token,但可能需要更多的後續呼叫,最終耗費更多 Token 才能達到相同答案
- 基準測試原始碼包含在此儲存庫中,以實現完全的可重現性
- Mem0 在自訂配置或不同的嵌入模型下可能表現不同
快速入門
在 memstate.ai/dashboard 取得您的 API 金鑰,然後新增到您的 MCP 客戶端配置:
{
"mcpServers": {
"memstate": {
"command": "npx",
"args": ["-y", "@memstate/mcp"],
"env": {
"MEMSTATE_API_KEY": "YOUR_API_KEY_HERE"
}
}
}
}
無需 Docker。無需資料庫。無需基礎設施。60 秒內即可運行。
客戶端設定
Claude Desktop
配置位置:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"memstate": {
"command": "npx",
"args": ["-y", "@memstate/mcp"],
"env": { "MEMSTATE_API_KEY": "YOUR_API_KEY_HERE" }
}
}
}
Claude Code
claude mcp add memstate npx @memstate/mcp -e MEMSTATE_API_KEY=YOUR_API_KEY_HERE
Cursor
在 Cursor 設定 → MCP → 新增伺服器 — 與上方 Claude Desktop 相同的 JSON 格式。
Cline / Windsurf / Kilo Code / Roo Code
全部支援相同的 stdio MCP 配置格式。新增到您客戶端的 MCP 設定檔中。
核心工具
| 工具 | 使用時機 |
|---|---|
memstate_remember | 儲存 Markdown、任務摘要、決策。伺服器會自動提取鍵路徑並偵測衝突。用於大多數寫入操作。 |
memstate_set | 將單一鍵路徑設定為簡短值(例如 config.port = 8080)。不適用於散文。 |
memstate_get | 瀏覽專案或子樹的所有記憶體。在每個任務開始時使用。 |
memstate_search | 當您不知道確切鍵路徑時,依含義進行語義搜尋。 |
memstate_history | 查看一段知識如何隨時間變化——完整的版本鏈。 |
memstate_delete | 軟刪除一個鍵路徑。建立一個墓碑;完整歷史記錄會被保留。 |
memstate_delete_project | 軟刪除整個專案及其所有記憶體。 |
鍵路徑如何運作
記憶體以階層式點記號組織:
project.my_app.database.schema
project.my_app.auth.provider
project.my_app.deploy.environment
鍵路徑會自動加上前綴:keypath="database" 搭配 project_id="my_app" → project.my_app.database。您的代理可以深入擷取確切所需的內容——無需完整上下文傾倒。
運作方式
Agent: memstate_remember(project_id="my_app", content="## Auth\nUsing SuperTokens...")
↓
Server extracts keypaths: [project.my_app.auth.provider, ...]
↓
Conflict detection: compare against existing memories at those keypaths
↓
New version stored — old version preserved in history chain
↓
Next session: memstate_get(project_id="my_app") → structured summaries only
↓
Agent drills into project.my_app.auth only when it needs auth details
Token 成本保持恆定,無論總共存在多少記憶體。
新增到您的代理指令
複製到您的 AGENTS.md 或系統提示中:
## Memory (Memstate MCP)
### Before each task
- memstate_get(project_id="my_project") — browse existing knowledge
- memstate_search(query="topic", project_id="my_project") — find by meaning
### After each task
- memstate_remember(project_id="my_project", content="## Summary\n- ...", source="agent")
### Tool guide
- memstate_remember — markdown summaries, decisions, task results (preferred)
- memstate_set — single short values only (config flags, status)
- memstate_get — browse/retrieve before tasks
- memstate_search — semantic lookup when keypath unknown
- memstate_history — audit how knowledge evolved
- memstate_delete — remove outdated memories (history preserved)
環境變數
| 變數 | 預設值 | 描述 |
|---|---|---|
MEMSTATE_API_KEY | (必填) | 來自 memstate.ai/dashboard 的 API 金鑰 |
MEMSTATE_MCP_URL | https://mcp.memstate.ai | 用於自行託管部署的覆寫設定 |
驗證您的連線
MEMSTATE_API_KEY=your_key npx @memstate/mcp --test
列印所有可用工具並確認您的 API 金鑰有效。
專為值得知道自己知道什麼的 AI 代理而建。