Emem:为多智能体系统打造的签名外部记忆层
Emem 提出基于内容寻址与 ed25519 签名的共享记忆机制,让不同模型、不同厂商的智能体可独立核验同一事实,并以地…
Emem 是一个面向多智能体系统的共享外部记忆层。它的核心思路是:把"事实"从单个模型的上下文窗口中抽离出来,变成一条带签名的、可永久寻址的记录,任何智能体——无论使用何种模型、属于哪一家厂商——都可以独立读取并核验这条记录,而无需信任发送方或服务端。目前该项目以卫星对地观测作为首个可写入的数据底座,但协议本身并不限定于卫星数据。
它要解决的问题
多智能体协作中的一个典型痛点是"被压缩掉的精度":智能体在会话早期验证了一个精确数值,例如某地海拔 918 米;随着上下文被压缩、长任务跨会话交接,模型只记得"大约 900 米"这一粗略表述,下游决策便可能基于错误数值。Emem 把这条事实从上下文中剥离:智能体只需保留一行形如 emem:fact:defi.zb493.xuqA.zcb5f:... 的标记,即可随时解析回原始 918 米并重新核验签名。
更深一层,跨厂商协作时也存在信任断裂:智能体 A 耗费数十次工具调用确认的事实,智能体 B 因不信任 A 的总结而必须重做。Emem 通过"事实本身可携带、可独立验证"来缓解这一重复劳动。
技术机制
Emem 的设计建立在三条原则之上:
- 内容寻址:记录的地址由事实本身的字节派生,同一参考在不同模型、不同会话、不同时刻解析到同一份值。
- 本地签名:写入者用本地持有的密钥对每条记录做 ed25519 签名;读取方无需账号、无需 API Key,即可向服务端发起
POST /v1/recall请求,并拿到包含fact_cid、数值与签名的回执。 - 离线核验:任意第三方都可将回执中的签名提交到
POST /v1/verify_receipt,独立校验签名与 Merkle 证明是否成立,从而无需信任服务端本身。
每个地理位置对应一个稳定的 64 位地址,每条观测对应一条签名记录。当前的数据底座是卫星地球观测(如 Copernicus DEM 30 米高程),但项目方明确表示,记录、收据与标记语法均不绑定卫星——无人机、固定传感器、机器人或权威登记系统同样可以写入同一回路。
一组诚实的权衡
项目方坦承,单条 Emem 标记在上下文中的占用约为原始数值的 5.8 倍,因此并不适合替代所有数字。它的价值集中在三类场景:
- 数值需要穿越摘要器、跨会话存活;
- 第三方必须在不信任你的前提下核验该数值;
- 多个事实被打包在同一个
emem:bundle:句柄之后——无论内部包含多少条事实,该句柄长度始终为 38 字符,最多支持 256 条。
如果一个数字本来就能直接放进上下文窗口,直接粘贴数字即可,不必强行套用标记。
接入方式
Emem 提供四种接入路径:
- MCP:在 Claude Code、Cursor、Cline 等编辑器的
.mcp.json中添加https://emem.dev/mcp端点; - Python:
pip install ememdev; - TypeScript / JavaScript:
npm i @vortxai/emem; - REST API:通过
curl直接调用/v1/recall与/v1/verify_receipt。
读取接口无需账号、无需 Key,写入则需持有本地密钥。智能体的典型工作流被简化为四个动作:定位地点、召回该地点的签名事实、在其上做推理、在输出中引用对应标记——核验由接收方在一次调用内完成。
