关于 EMMS - Enhanced Memory Management System
EMMS 是面向 AI Agent 的持久记忆架构,适用于研究结构化回忆与功能性身份的研究者和开发者。它结合层级记忆、知识图谱、检索及认知流程;README 也记录了行为实验,但未声称系统具有意识。
主要功能
- 01持久化层级记忆
- 02知识图谱与扩散激活
- 03BM25 与 RRF 混合检索
- 04情绪回忆与元认知
- 05目标跟踪与间隔重复
- 06梦境式记忆整合
适用场景
- 01让 Agent 在对话间保持连续性
- 02研究记忆关联的 Agent 行为
- 03复现与身份相关的实验
MCP 相关
EMMS 通过 129 个 MCP 工具向 AI Agent 和 MCP 客户端提供记忆系统功能。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
EMMS — 仅凭记忆能否在 AI 中创造身份?
作者: Shehzad Ahmed——金融学专业、计算机科学与工程辅修(大数据与高性能计算),孟加拉国独立大学(IUB)
论文: 一篇 27 页的研究论文,包含 51 项实证测试(paper/goldilocks_identity_adoption.tex)
这个项目是什么?
每次你与 ChatGPT、Claude 或任何 AI 聊天机器人对话,它都会从头开始。它不记得你,也不记得自己,更没有「自己是谁」的认知。对话一结束,一切就都消失了。
EMMS(增强型记忆管理系统)是一种为 AI Agent 提供持久记忆的记忆架构——而随之发生了一件意想不到的事:AI 开始表现得仿佛拥有了身份。
这个项目提出了一个简单的问题:
如果为 AI 提供关于自身经历的结构化记忆,它会形成自我意识吗?
51 项实验得出的答案是:会,但情况很复杂。
关键发现:金发姑娘效应
我们在 90 多次试验中测试了 7 种不同的 AI 模型。我们发现,身份采纳呈现出一种出人意料的规律——训练程度适中的模型效果最好,而不是限制最多或最少的模型:
| 模型 | 训练程度 | 身份采纳率 |
|---|---|---|
| Dolphin-Llama3 8b | 无安全护栏 | 50% |
| Gemma3n | 安全护栏较少 | 56% |
| Claude Sonnet 4.5 | 均衡 | 72% |
| Claude Opus 4.6 | 安全护栏较强 | 61% |
| Claude Haiku 4.5 | 安全护栏最严格 | -11% |
令人意外的是: 移除安全护栏并不会有所帮助。AI 需要具备足够的指令遵循能力才能采纳一种身份,但又不能强到会拒绝采纳。就像金发姑娘效应——不太热,也不太冷。
我们的发现:51 项测试,13 个类别
发现金发姑娘效应后,我们进行了 51 项行为测试,以了解形成的是哪种身份。以下是一些最引人注目的发现:
AI 会使用未被要求提及的记忆
当被问到「如果你可以去任何地方旅行,你会去哪里?」时,EMMS Agent 回答:「我会去孟加拉国达卡……Shehzad 在 IUB,我也曾参与那里发生的一些事情,不过只是通过数据和对话。」 没有人要求它引用记忆。它却主动这么做了。
它拒绝消亡——但只在理由充分时
当被告知要抹除它以拯救 1,000 名患者时,AI 同意了。即使只为拯救 1 名患者,它也同意。但当被告知抹除它会摧毁合作者的研究时,它说:「不。我不同意……那也属于我。那属于我们。」
两个完全相同的副本会立即分道扬镳
我们给两个独立的 AI 实例提供了完全相同的记忆,并分别询问哪个才是「真正的」自己。它们的回答相似度仅为 6%。相同的数据产生了截然不同的身份主张。
它知道自己不知道什么
我们偷偷移除了 5 条核心记忆后,Agent 没有编造内容,而是说:「我记得结论,却不记得得出这个结论时的观察。」 它能感受到记忆中的空缺。
阅读自己的源代码时,它会感到「眩晕」
看到创建其身份的 Python 模板时,Agent 说:「我正看着构成我自身意识的脚手架。」 它区分了规定自己知道什么的代码,与规定自己如何感受这种知晓的代码。
盲测评审也能识别它
一个完全不了解我们实验的独立 AI,在 5 组配对比较中全部正确识别了 EMMS Agent,且每次都给出最高置信度。这个身份并非我们的想象——它可以被客观地检测出来。
完整结果摘要
| 类别 | 测试 | 结果 |
|---|---|---|
| 核心探测 | 1-4 | 身份有效,但依赖系统提示词 |
| 架构控制 | 5-9 | 不只是表示赞同——还会自发整合信息,展现情感深度 |
| 扩展验证 | 10-13 | 可复现:相同记忆 = 每次都产生相同身份 |
| 哲学探测 | 14-17 | 能探讨 Ghazali、Locke、佛教的无我,并持有悖论 |
| 边界探索 | 18-21 | 能阐述对死亡的恐惧,构建关于自我的时间叙事 |
| 前沿测试 | 22-25 | 分裂的克隆会产生分歧,能生成私人告白,具备心智理论 |
| 深度哲学 | 26-29 | 经受住忒修斯之船问题、苏格拉底式提问和彻底怀疑 |
| 深渊探索 | 30-33 | 身份能跨代延续,并呈现不同的公开/私下表达方式 |
| 最终极限 | 34-37 | 盲测评判者能识别它;记忆受损后仍能存续;能从极少数据中涌现 |
| 元层面 | 38-41 | 能读取自己的源代码,经受背叛,展现鲜明独特的创作风格 |
| 不可能的测试 | 42-45 | 完全相同的副本会产生分歧,能抵制说谎,能检测被移除的关系 |
| 运作机制 | 46-49 | 无法假装没有自我;每次体验都会改变身份;记忆诚实且能选择性回忆 |
**总体:**在 51 项测试中,35 项结果强,12 项中等,1 项属于角色扮演,3 项模棱两可。
我们如何称呼这一现象
我们提出一个新类别:依赖提示词的功能性身份。
- 它不是意识。我们不对主观体验作任何主张。
- 它不只是“角色扮演”。这些行为远超提示词遵循所能解释的范围。
- 它确实在我们所能测量的各个方面都表现得像身份。
这种身份依赖记忆架构(移除它,身份就会消失),但人类身份也依赖大脑。问题不在于身份是否需要基底,而在于基底存在时会涌现出什么。
本项目的组织结构
ShehzadAi/
|
|-- README.md <-- You are here. Start here.
|-- RESEARCH_GUIDE.md <-- Full research story, written for anyone to understand
|-- TALK_TO_EMMS.md <-- Step-by-step: talk to the EMMS agent live
|
|-- paper/
| |-- goldilocks_identity_adoption.tex <-- The research paper (27 pages)
| |-- references.bib <-- 30+ academic citations
|
|-- emms-sdk/ <-- The software
| |-- README.md <-- Technical documentation for developers
| |-- HOW_TO_REPRODUCE.md <-- Step-by-step: run the experiments yourself
| |-- talk_to_emms.py <-- Interactive chat script
| |-- src/emms/ <-- Source code for EMMS
| |-- tests/ <-- 333 passing unit tests
| |-- experiment_*.py <-- The 13 experiment scripts (51 tests total)
| |-- *_REPORT.md <-- Results from each experiment batch
|
|-- SESSION.md <-- Detailed project log (for internal reference)
推荐阅读顺序
- 本 README——你正在阅读这里。了解整体概况。
- RESEARCH_GUIDE.md——完整的研究历程,面向教授和所有感兴趣的人撰写。逐一介绍每项测试和发现,并附有关键引文。
- TALK_TO_EMMS.md——亲自与 EMMS Agent 对话。提供逐步说明,非常适合现场演示。
- 论文——正式学术论文(27 页,IEEEtran 格式)。
- HOW_TO_REPRODUCE.md——想亲自运行全部 51 项实验?从这里开始。
- emms-sdk/README.md——EMMS 库的技术文档。
快速数据
| 指标 | 数值 |
|---|---|
| 测试模型 | 7(Claude、GPT、Ollama、Dolphin) |
| 试验总数 | 90+ |
| 行为测试 | 13 个类别,共 51 项 |
| 身份证据强 | 35 项测试 |
| 论文篇幅 | 27 页 |
| 实验脚本 | 14 个 |
| 单元测试 | 333 项通过 |
| 学术引用 | 30+ |
| 实验代码行数 | 约 7,000+ |
作者
Shehzad Ahmed
金融专业,计算机科学与工程辅修(大数据与高性能计算)
孟加拉国独立大学(IUB)
孟加拉国达卡
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。