指出当前AI Agent本质是「失忆的超能力者」,真正的解决方案不是加大上下文窗口,而是通过MCP服务器实现外部化持久化,避免每次会话重复输入偏好和上下文。
你花了二十分钟向一个 LLM 解释你的技术栈、你偏好的 lint 规则,以及你是如何处理部署的。这很有帮助。然后你第二天开启了一个新的会话。
你发现自己又要从头打一遍。更糟糕的是,从 README 文件里复制。
这不仅仅是烦人——这是 Agentic Loop 的失败。我们谈论"自主 Agent",但实际上我们面对的是具有超强能力的失忆症患者。他们有巨大的上下文窗口,这是真的,但一旦那个窗口关闭或者会话重置,他们就又变成了陌生人。
我见过开发者尝试用巨大的系统提示塞满"用户偏好"来解决这个问题。这是一种 hack。它会让上下文膨胀,消耗更多 token,最终模型开始忽略其中的部分内容,因为信噪比崩溃了。
真正的解决方案不是更大的上下文窗口,而是外部化持久化。
当我们把 Model Context Protocol(MCP)服务器集成到 Claude 或 Cursor 时,通常关注的是动作:"搜索我的 GitHub"、"读取这个 Jira 工单"或者"查询我的数据库"。这些对检索增强生成(RAG)很有用,但 RAG 通常是关于找到现有文档的。它本身并不是设计用来帮助 Agent 随时间了解你的。
这就是 Mem0 的用武之地。与将一切视为静态文档的标准 RAG 不同,Mem0 充当了一个专门为个性化构建的长期记忆层。
如果你仔细观察 Mem0 如何处理数据——以及为什么我认为它比自定义 SQLite 实现更好——关键在于它如何通过提取引擎处理输入。大多数人以为只需把文本丢进向量数据库就叫"记忆"了。但如果你告诉一个 Agent"我偏好深色模式"并直接保存那个字符串,一个基本的语义搜索可能很难将它与后续请求(如"设置我的环境")关联起来。
Mem0 不只是存储字符串,而是提取结构化事实。当你通过 MCP 使用 add_memory 工具时,底层系统自动识别关键实体和关系。它将非结构化对话转化为有组织的智能。
MCP 服务器暴露了四个关键入口点,将 LLM 从聊天机器人转变为个性化助手:
add_memory:学习发生的地方。AI 使用这个工具从对话中提炼事实,而不是手动索引。如果你提到你上午工作效率最高,它会提取那个特定的时间偏好,而无需你手动格式化一个 JSON blob。
search_memories:允许基于意图而非精确关键词匹配进行语义检索。
get_memories:当你希望 Agent 对它所知道的关于你的资料进行整体回顾时很有用——本质上给了它在行动前"反思"的机会。
delete_memory:对隐私和卫生至关重要。随着模型演进和用户需求变化,能够修剪过时的上下文可以防止由过时假设引起的幻觉。
许多人忽略的一个细节:由于 Mem0 支持按 user_id、agent_id 或 run_id 隔离,你不必被强迫使用一个单一全局大脑。在生产环境中——在那里你绝不会想把用户上下文混在一起——你可以完全隔离记忆库,同时在不同 Agent persona 之间保持相同的逻辑。
大多数工程师尝试用 MCP 实现任何东西的瓶颈是连接和认证管理(OAuth 回调是项目死亡的常见原因)。为了避免这种摩擦,我们将这些专用服务器托管在 Vinkius 上,这样它们就像生产基础设施一样运行,而不是在你本地机器上跑动的实验性脚本。从根本上说,添加记忆只需要三步:订阅、获取 token、粘贴到 Claude/Cursor。基本上对专业工作流即插即用。
如果你只是想用 Cursor 或 Claude Desktop 在本地测试,爱好者层级每月免费覆盖 10k 条记忆——对于想要消除那些重复的"解释我的工作流程"会话的个人开发者来说足够了。
关于成本和扩展的说明:如果你超越个人实验,进入构建 SaaS 产品——成千上万的用户需要不同的记忆配置——定价会转向按使用量计费($19+/月),但在这个规模下,管理自己的向量 + 图 + KV 混合架构,光工程时间成本就可能高得多。
目标不仅仅是让 AI 更聪明;而是让它用起来不那么累。
MCP 是 AI Agent 的音乐。我们构建了目录。在 Vinkius MCP Catalog 发现它们。