给 AI 编程 Agent 装「长期记忆」:用 MCP 记忆系统告别重复解释
「你的项目用的是什么 ORM?」——这是你这周第三次回答同一个 AI 编程助手了。第一次是周二,你花五分钟解释了为什么选 Prisma 而不是 TypeORM;周四它切了个新窗口,又问一遍;今天早上,你又得重来。这不是模型笨,是它没有记忆。本教程教你用 MCP 协议给 Agent 装上「长期记忆」,让它自己记住你的项目偏好,再也不当金鱼脑。
先搞懂:MCP 记忆到底是什么?
MCP(Model Context Protocol,模型上下文协议)是 Anthropic 提出的开放标准,原本用来让 Agent 标准化地调用外部工具(读文件、查数据库、调 API)。但开发者很快发现,它的真正威力在于提供了一层「记忆接口」:Agent 每次完成任务后,自动把关键信息存起来;下次新对话开始时,再自动把相关上下文加载回来。
| 传统做法 | MCP 记忆系统 |
|---|---|
| 每次新对话都从头解释项目背景 | 首次对话后自动沉淀,后续自动加载 |
| 聊天记录全文搜索,只匹配关键词 | 语义检索,理解「数据库选型」=「ORM 决策」 |
| Agent 一换窗口就失忆 | 跨会话持久记忆,越用越懂你 |
两类开源项目最值得关注:① Adaptive Recall——从对话中提取项目偏好、技术选型、常用命令、代码规范,用向量库存储,支持语义检索;② Kote——更进一步,从你的 Git 提交历史、代码注释、AI 聊天记录里挖掘「工程决策上下文」。两者都在 2026-07-13 同时登上 Hacker News 首页,社区热度爆了。
Step 1:确认你的编程 Agent 支持 MCP
主流 AI 编程 Agent 现在都支持 MCP。确认你用的是以下之一(版本越新越好):
Claude Code → 支持 mcp 配置(claude mcp add)
Cursor → 设置 → MCP → + Add new global MCP server
Kilo Code → 设置 → Cline/MCP
VS Code (Copilot)→ 通过 MCP 扩展接入
不确定?在终端跑:
claude mcp list # 查看已配置的 MCP 服务
cursor --help | grep -i mcp
Step 2:安装记忆系统(以 Adaptive Recall 为例)
Adaptive Recall 以 MCP Server 形式运行。最省事的方式是用 npx 直接拉起(无需手动 clone):
# 方式 A:用 npx 临时运行(推荐新手)
npx -y adaptive-recall-mcp --storage ./agent-memory
# 方式 B:先全局安装再运行
npm install -g adaptive-recall-mcp
adaptive-recall-mcp --storage ./agent-memory
运行后它会监听本地端口,并输出一个
类似 http://127.0.0.1:8731/mcp 的接入地址。
装不上?八成是 Node 版本过低(需 ≥18)或没装 Git。先用 node -v 确认版本,再 npm install -g 重试。Kote 的安装命令类似,仓库 README 会写明具体包名。
Step 3:把记忆服务接进你的 Agent
拿到接入地址后,把它登记到 Agent 的 MCP 配置里:
# Claude Code:在终端执行
claude mcp add agent-memory \
--transport http \
--url http://127.0.0.1:8731/mcp
# Cursor:在设置 → MCP 里粘贴 JSON
{
"mcpServers": {
"agent-memory": {
"url": "http://127.0.0.1:8731/mcp"
}
}
}
保存后,Agent 状态栏应显示 agent-memory 已连接(绿点)。
Step 4:喂一次,让它记住你的项目
在新对话里,用自然语言告诉它该记住什么。记忆系统会自动提取并向量化存储:
你:「这是我们项目的关键背景,请记住:
- 后端用 Prisma + PostgreSQL,不用 TypeORM
- 代码规范:函数名用 camelCase,组件用 PascalCase
- 部署走 Cloudflare Pages,分支策略是 main 直接发布
- 常用命令:npm run build / npm run dev」
Agent:「已写入记忆库 ✅ 下次新会话我会自动加载这些上下文。」
Step 5:开新会话,验证它真的记住了
彻底关闭当前对话(甚至重启 Agent),开一个全新会话,直接问它:
你:「我们数据库用的什么 ORM?」
Agent:「Prisma + PostgreSQL。根据项目记忆,
当时选 Prisma 是因为它的迁移系统和类型安全更好,
没用 TypeORM。」
你:「部署走哪个平台?」
Agent:「Cloudflare Pages,main 分支直接发布。」
它还是答不上来?检查三点:① Step 3 的 MCP 是否真的连上(绿点);② 记忆服务进程有没有被关掉;③ 存储目录 ./agent-memory 是否还在。只要这三样正常,语义检索就能命中。
Step 6:日常维护与隐私边界
记忆系统不是一劳永逸,几个习惯能让它越来越好用:
✅ 定期「清理记忆」:让它删掉已过时的决策
✅ 敏感信息别记:密钥、客户数据、未公开业务逻辑
✅ 多项目隔离:每个项目用独立 storage 目录
npx adaptive-recall-mcp --storage ./proj-a-memory
npx adaptive-recall-mcp --storage ./proj-b-memory
✅ 备份记忆库:storage 目录整个复制走即可迁移
常见问题速查
| 你遇到的现象 | 大概率原因 & 解决 |
|---|---|
| Agent 状态栏没出现记忆服务 | Step 3 的 URL/端口填错,或记忆进程没启动 |
| 记得住但检索不到 | 用的是关键词搜索而非语义检索,换支持向量的方案 |
| 换项目后记忆串台 | 多个项目共用了同一 storage 目录,按项目隔离 |
| 记了不该记的敏感信息 | 手动触发「清理记忆」并修订记忆写入规则 |