跳转到内容

04 — MCP 持久记忆与跨会话上下文

MCP 持久记忆与跨会话上下文

学习目标

本章将分析 Agency-Agents 如何通过 MCP 协议实现 Agent 持久记忆。阅读本章后你将能够:

  • 理解 MCP 记忆工具(remember/recall/rollback/search)的集成模式
  • 设计 Agent 启动时 recall + 决策时 remember 的记忆策略
  • 实现 Agent 间基于标签的上下文传递

前置知识

本章涉及记忆系统的通用原理,建议先阅读:

下文假设你已理解记忆系统的分层架构,直接聚焦 Agency-Agents 的 MCP 集成方案。


项目实践

默认无记忆 vs MCP 持久记忆

Agency-Agents 的 Agent 默认每次会话从零开始。上下文通过复制粘贴在 Agent 之间传递。MCP 记忆服务器改变了这一点:

能力无 MCP 记忆有 MCP 记忆
跨会话记忆❌ 每次会话重置✅ 记住决策和交付物
交接上下文❌ 手动复制粘贴✅ 自动 recall 前序 Agent 交付物
回滚❌ 需要手动恢复✅ 回滚到已知良好状态

四工具记忆协议

MCP 记忆服务器暴露四个核心工具:

工具用途触发时机
remember保存信息到记忆库关键决策、完成交付物、交接时
recall从记忆库检索信息会话启动、切换任务时
rollback回滚到之前的状态质量检查失败、架构决策错误时
search按标签搜索记忆查找历史决策、相关上下文时

Agent 记忆集成模式

要为任意 Agent 添加 MCP 记忆,在 Agent 定义中添加 Memory Integration 部分:

## Memory Integration
当你会话启动时:
- 使用角色和当前项目作为搜索词,recall 之前会话的上下文
- 检查所有标记为你 Agent 名称的记忆,从上次停下的地方继续
当你做出关键决策或完成交付物时:
- 记住决策或交付物,带上描述性标签
- 包含足够上下文,使未来会话——或其他 Agent——能理解做了什么和为什么
当你交接给另一个 Agent 时:
- 记住你的交付物,标记为接收 Agent 的名称
- 包含交接元数据:你完成了什么、什么是待定的、下一个 Agent 需要知道什么

实践案例:NEXUS 流水线中的记忆流

在 NEXUS 七阶段流水线中,记忆系统解决了交接边界的上下文丢失问题:

安装配置

Agency-Agents 在 integrations/mcp-memory/setup.sh 中提供了 MCP 记忆服务器的安装脚本:

{
"mcpServers": {
"memory": {
"command": "your-mcp-memory-server",
"args": []
}
}
}

任何暴露 remember/recall/rollback/search 工具的 MCP 记忆服务器都可以工作。


问题与规避

记忆污染

问题:Agent recall 了不相关会话的记忆,导致错误决策。

规避

  • 使用描述性标签(Agent 名称 + 项目 + 主题)
  • recall 时使用精确搜索词,而非宽泛查询
  • 定期清理过时或不再相关的记忆

跨 Agent 记忆格式不一致

问题:Agent A remember 的记忆格式与 Agent B recall 期望的格式不匹配。

规避

  • 定义标准化的交接记忆格式(如 JSON 结构化的交付物 + 元数据)
  • 在 NEXUS 交接模板中包含记忆标签约定

设计取舍

集中式记忆 vs 分布式记忆

方案优势代价
集中式(单 MCP 服务器)所有 Agent 共享同一记忆、交接简单单点故障、需要清理策略
分布式(每个 Agent 独立记忆)隔离好、无污染交接复杂、需要显式传递

Agency-Agents 选择集中式 MCP 记忆服务器,因为 NEXUS 流水线的核心需求就是跨 Agent 上下文连续性


参考来源