Mnemosyne 发布智能体记忆版本控制工具,提供 blame、bisect 与 merge
Git for Robots In The Future
Mnemosyne 为 AI 智能体记忆引入类似 Git 的版本控制,提供 blame、bisect、commit、branch、merge 等命令,由 Rust 核心、mnem CLI 和 Python SDK 组成,本地运行、确定性、不联网也不调用模型。
AI agent 在工作时会积累记忆:它学到的事实、做出的决定。框架把这些存储为状态,并随着工作不断覆盖。Mnemosyne 赋予 agent 记忆以 Git 赋予代码的能力:blame、bisect、commits、branches 和 merge。一个 Rust 核心、一个 mnem CLI 和一个 Python SDK。本地运行、确定性、无网络、无模型调用。
问题所在
你的 agent 运行一小时,进行四十次工具调用,并全程更新其记忆。然后它出了错,而你手里只有它当前状态的记忆。你无法看到错误事实是何时进入的,agent 在偏离轨道之前知道什么,或者它为什么相信自己相信的东西。版本控制正是为代码解决了这个问题。
你能得到什么
| 命令 | 作用 |
|---|---|
blame |
将任何信念解析到引入它的提交(穿过合并)和观察 |
bisect |
对一次运行进行二分查找,找到错误信念首次出现的提交 |
commit · log |
将记忆记录为不可变、内容寻址的快照及其来源,并遍历历史 |
show <commit> |
精确重建任意过去提交时的记忆状态 |
branch · checkout · diff |
以指针的代价分叉记忆,以隔离方式探索假设 |
merge |
合并两条记忆线,将冲突作为对象呈现,供你检查和解决 |
export · import |
将整个历史导出为一个可移植的 JSON 文件,并从中重建存储 |
上述所有正确性属性——精确重建、精确的 bisect、准确的 blame、merge 上无丢失写入——在 80 个种子、720 次运行的扫描中 100% 成立,另外还有针对合并算法的独立 50,000 例模糊测试,在每次变更时于 CI 中把关。完整细节:基准测试。
快速开始
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/Nabzx/mnemosyne/releases/latest/download/mnem-git-installer.sh | sh # no Rust toolchain needed; PowerShell equivalent: mnem-git-installer.ps1 on the same release page pip install mnem-agents # the Python SDK; `import mnem`
已经有 Rust?cargo install mnem-git 则从源码构建 CLI。
三条命令,agent 的记忆就纳入版本控制:
mnem init ./agent-memory && cd ./agent-memory mnem add customer-4821 "on the Enterprise plan" --source ticket-4821 mnem commit -m "open the case" --author agent
现在看它抓住一个真实错误:
# an hour later, the agent misreads a billing note: mnem add customer-4821 "downgraded to Pro last month" --source billing-note-8842 --step step-31 mnem commit -m "reconcile the plan tier" --author agent # a wrong answer surfaces. find where it entered, and why: mnem bisect --node customer-4821 --equals '"downgraded to Pro last month"' mnem blame customer-4821
Python SDK:
import mnem store = mnem.init("./agent-memory") store.add("customer-4821", "on the Enterprise plan", provenance=mnem.Provenance(source="ticket-4821")) store.commit("learn the plan tier", author="support-agent") b = store.blame("customer-4821") # which commit set this, and why print(b.commit[:8], b.provenance.source)
Shell 补全:
mnem completions zsh > ~/.zfunc/_mnem # or bash, fish, powershell, elvish
更多示例,每个界面一个(SDK、Claude、LangGraph、MCP),位于
examples/——上面的 README GIF 是 examples/claude_agent.py。
来自 Git
| Git | mnem |
|---|---|
git init |
mnem init |
git add |
mnem add |
git commit |
mnem commit |
git log |
mnem log |
git branch |
mnem branch |
git checkout |
mnem checkout |
git diff |
mnem diff |
git merge |
mnem merge |
git blame |
mnem blame,同样的思路 |
git bisect |
mnem bisect,同样的思路 |
目前有意缺失的部分:push / pull / clone(存储之间的同步协议属于 Era 2)、暂存的 hunk(add -p,暂存是一个完整节点),以及文本合并冲突标记(冲突是一个对象,你用 --resolve <id>=ours|theirs|base|delete 或 --strategy 解决,而不是内联标记)。
愿景
代码需要版本控制,然后需要一种共享和共同构建的方式。AI agent 需要完全相同的东西,而且不止于记忆:它延伸到整个 agent、agent 之间如何协作,最终延伸到它们运行的物理机器。Mnemosyne 正在端到端地构建这一切:
- 版本控制 (现在):单 agent 的版本化记忆,本地且确定性。
- 协作层:agent 在共享记忆上协同工作,变更落地前有审查步骤,就像代码的 pull request 一样。
- 平台:整个 agent,而不仅仅是其记忆,像今天 GitHub 上的代码一样被保存、共享和分叉。
- 翻译层:一个 agent 定义,写一次,即可在任何框架上运行,而不是为每个框架重建。
- 物理 AI:机器人是未来。同样的版本控制和翻译层,应用于物理技能而非软件记忆,这样一个系统学到的东西可以迁移到另一个系统。
我们从软件 agent 开始。这是证明其可行的最容易的地方。但物理 AI 是新现象,而这最终正是为此而构建的。
先前工作
2026年的一波研究都指向这个想法(Git4Data、GitOfThoughts、StateFuse、MemTX、LatticeMind),每一个都是一篇论文或一个原型。有一个发现值得直说:版本化记忆并不会让智能体给出更好的答案。它给你的是历史记录、审计和安全合并。这就是全部卖点,而这就足够了。基准测试里有具体数字,我为什么构建这个里有更长的版本,而为什么智能体记忆需要版本控制则阐述了普遍情况。
想要同样的故事从头到尾走一遍,一次一条命令,用真实的提交 ID 而不是压缩过的摘要?用 bisect 调试被投毒的智能体逐字讲述了上面 GIF 所做的事。
贡献与许可
非常欢迎提出问题、bug 报告和想法,这是塑造下一步要构建什么的最佳方式。由一位维护者开发,所以目前 docs//examples/ 之外的大多数拉取请求都不会被合并(详情见 CONTRIBUTING.md)。Apache 2.0(LICENSE)。
来源:Hacker News · github.com
