安装即用,零云成本,让 Haiku 级别的模型跑出 Opus 的效果。
引言:AI 的"金鱼记忆"困境
使用 AI Agent 时,你是否遇到过这样的场景:
周一你纠正了 Agent 的某个编码习惯,周五它又犯同样的错误。在不同项目间切换时,Agent 记不住你在另一个项目里的偏好。对话越长,Agent 越容易"忘记"最初约定的关键规则。
这些问题背后,是 AI Agent 缺乏跨会话持久化记忆的先天缺陷。大多数 Agent 的记忆局限于当前会话窗口,会话一结束,所有"学习成果"归零。
PLUR 正是为解决这一问题而生。
第一部分:PLUR 是什么?
PLUR 是一个持久化记忆系统,专为 AI Agent 设计,让它们能够在会话之间、工具之间、甚至机器之间记住用户的偏好、约定和修正。
核心定位
PLUR 的目标是成为 AI Agent 的"长期记忆层"。它不替代 Agent 原有的记忆机制(如 Hermes 的 MEMORY.md),而是作为补充,提供更智能、更动态的记忆管理能力。
一个令人瞩目的基准数据
在工具路由和本地知识基准测试中,Haiku(轻量级模型)+ PLUR 记忆的组合,性能超越了 Opus(顶级模型),而成本仅为后者的十分之一。这意味着记忆系统可以部分弥补模型能力的差距,实现"以小博大"的效果。
第二部分:安装与快速上手
安装(30 秒完成)
pip install plur-hermes
安装即用,零配置。Hermes Agent 会在启动时自动发现并加载该插件。
前置要求
| 依赖 | 版本要求 |
|---|---|
| Hermes Agent | v0.5.0+ |
| Python | 3.10+ |
| Node.js | 18+(插件会通过 npx 自动解析 PLUR CLI) |
安装后立即生效
一旦安装,PLUR 就在后台完全自动运行:
- 每轮对话前:相关记忆自动注入 Agent 上下文
- 每轮对话后:修正和洞察自动捕捉
- 每轮会话结束后:时间线自动记录
你不需要改变任何使用习惯——Agent 会"不知不觉"地开始记住东西。
第三部分:PLUR 的工作原理
记忆的原子单位:Engram
PLUR 将知识存储为 Engrams——可以理解为"记忆痕迹",是带有元数据的小型断言。
Engram 的特点:
- 用进废退:被引用的次数越多,权重越高;长期不用则自然衰减
- 可反馈训练:你可以给记忆打分,好的记忆更容易浮现
- 可编辑:所有 Engram 以纯 YAML 格式存储在 ~/.plur/ 目录下,你可以随时手动修改
三层存储架构
| 层级 | 内容 | 用途 |
|---|---|---|
| Engrams | 断言、偏好、修正、约定 | 注入到 Agent 上下文的核心记忆 |
| Episodes | 时间戳事件记录 | 回溯"发生了什么" |
| Meta-Engrams | 跨领域提炼的通用原则 | 在不同项目间迁移学习经验 |
智能检索:BM25 + 本地嵌入 + RRF
PLUR 的检索系统完全本地运行,零 API 调用,零成本,支持离线工作。
它采用混合检索策略:
- BM25:基于关键词的快速匹配
- BGE 本地嵌入模型:语义层面的相似度计算
- Reciprocal Rank Fusion (RRF):将两种结果合并排序,取交集精华
这套方案在 LongMemEval 基准上取得了 86.7% 的准确率,与云端的付费向量数据库持平。
ACT-R 激活衰减:自动遗忘机制
PLUR 借鉴了认知科学中的 ACT-R 模型。未被使用的记忆会随时间自然衰减,自动从注入候选列表中淡出,无需手动清理。这让记忆库既"长记性"又"不臃肿"。
第四部分:Agent 可用的 16 个工具
安装 PLUR 后,Agent 会获得 16 个可主动调用的工具。
核心工具速查表
| 工具名 | 用途 |
|---|---|
| plur_learn | 存储一个修正、偏好或模式 |
| plur_recall | 按主题搜索记忆 |
| plur_inject | 为当前任务获取相关上下文 |
| plur_list | 列出所有存储的 Engram |
| plur_forget | 淘汰过时的知识 |
| plur_feedback | 给某条记忆打分(训练检索质量) |
| plur_capture | 记录一个事件到时间线 |
| plur_timeline | 查询历史事件 |
| plur_status | 健康检查 |
| plur_sync | 通过 Git 跨设备同步 |
| plur_packs_list | 列出已安装的知识包 |
| plur_packs_install | 安装社区知识包 |
| plur_extract_meta | 从记忆中提炼跨领域原则 |
| plur_meta_engrams | 列出提炼出的元记忆 |
| plur_meta_submit_analysis | 继续多轮提炼 |
| plur_validate_meta | 用新领域测试某个原则的有效性 |
最常用的三个场景
场景一:纠正 Agent 的错误
你:这不对,应该用 pnpm 而不是 npm 安装。
Agent(调用 plur_learn):存储"此项目使用 pnpm"的 Engram。
下次:Agent 自动记住用 pnpm。
场景二:训练检索质量
你:plur_feedback(engram_id, positive=true)
效果:这条记忆权重增强,下次更容易被检索到。
场景三:主动淘汰过时知识
你:plur_forget(engram_id)
效果:该 Engram 不再注入上下文(历史保留)。
第五部分:跨设备同步
PLUR 支持通过 Git 在多台机器间同步记忆。
配置方法
第一步:初始化远程仓库
在任意 Git 托管平台(GitHub、GitLab、Gitee)创建一个私有仓库。
第二步:在第一台机器上推送
直接让 Agent 执行同步命令:
你:请执行 plur_sync,远程地址为 git@github.com:you/plur-memory.git
Agent:已初始化并推送。
第三步:在第二台机器上拉取
你:请执行 plur_sync
Agent:已同步。拉取了 12 个远程提交。
同步机制的优点
- 数据自主:你的记忆存储在你的 Git 仓库里,完全可控
- 跨平台:GitHub、GitLab、Gitea 等任意 Git 托管服务均可
- 版本历史:记忆的每次变更都有 Git 记录,可回溯、可回滚
第六部分:PLUR vs Hermes 内置记忆
| 特性 | Hermes 内置记忆(MEMORY.md) | PLUR 插件 |
|---|---|---|
| 存储方式 | 单文件,约 2200 字符限制 | YAML 目录,无硬性上限 |
| 注入机制 | 全部内容在会话启动时加载 | 每轮动态检索最相关记忆 |
| 遗忘机制 | 手动删除 | ACT-R 自动衰减 |
| 检索方式 | FTS5 关键词搜索 | BM25 + 本地嵌入 + RRF 混合检索 |
| 可训练性 | 无 | 反馈驱动,质量持续提升 |
| 跨设备同步 | 手动复制文件 | Git 自动同步 |
| 跨 Agent 共享 | 不适用 | 支持(通过知识包) |
| 安装成本 | 内置 | 一条 pip 命令 |
关键结论:PLUR 与 Hermes 内置记忆并行工作,而非替代关系。MEMORY.md 适合存放最核心、最稳定的事实(如项目根路径、数据库连接信息),而 PLUR 负责动态积累各类交互中产生的经验、偏好和修正。
第七部分:可选配置
PLUR 零配置即可使用,但以下环境变量可供微调:
| 变量名 | 默认值 | 说明 |
|---|---|---|
| PLUR_PATH | ~/.plur | 存储目录位置 |
| PLUR_INJECT_MODE | fast | 设为 hybrid 可开启基于嵌入的注入(更准但稍慢) |
配置方式示例:
export PLUR_PATH=/custom/path/to/plur
export PLUR_INJECT_MODE=hybrid
第八部分:最佳实践与建议
- 不要删掉 MEMORY.md
PLUR 擅长动态积累,而 MEMORY.md 适合存放极少变动、每轮对话都必须知道的硬事实。两者并用效果最佳。
- 善用反馈机制
plur_feedback 是让检索质量持续提升的核心手段。建议在以下时机使用:
- Agent 准确想起了你之前教过它的内容 → 点赞强化
- Agent 检索到了不相关或过时的记忆 → 点踩弱化
- 定期审视 Engram 库
虽然 ACT-R 会自动衰减不常用的记忆,但建议每隔一段时间通过 plur_list 查看记忆库,确认是否有需要手动清理的条目。
- 跨设备同步建立例行化
可以在每天工作结束时让 Agent 执行一次 plur_sync,实现记忆的自动云端备份和多端同步。
- 探索知识包(Knowledge Packs)
plur_packs_list 和 plur_packs_install 允许你安装社区共享的知识包,为 Agent 快速注入某一领域的通用最佳实践。
结语
PLUR 解决了 AI Agent 长期以来的核心痛点:跨会话的持续学习能力。它以极低的安装成本(一条 pip 命令)和运行成本(零云 API 调用),为 Agent 提供了一个持久、智能、可训练的记忆系统。
更重要的是,它证明了记忆能力可以弥补模型能力的差距——Haiku + PLUR 击败 Opus 的基准测试结果,给所有追求"高性价比 AI"的开发者提供了一条清晰的路径。
下一步行动建议:
- 今天:
pip install plur-hermes,感受自动记忆的威力 - 本周:尝试用
plur_feedback训练几次检索质量 - 本月:配置跨设备同步,建立多端共享的记忆体系
兼容多个主流 Agent 和 IDE
PLUR 的兼容范围很广,目前已经支持以下平台
- Claude Code:通过 MCP 服务器或
npx @plur-ai/mcp init一键初始化 - Cursor:在
cursor/mcp.json配置文件中添加 PLUR 的 MCP 服务器配置 - OpenClaw:提供专用的
@plur-ai/claw插件支持 - Windsurf:同样通过 MCP 服务器配置集成
统一的记忆存储核心
PLUR 之所以能支持这么多平台,是因为它的核心设计是独立于具体 Agent 的。它通过 MCP (Model Context Protocol) 这个通用协议与各种客户端交互,将记忆(如偏好、修正、约定)以纯文本 YAML 格式存储在本地 ~/.plur/ 目录下,不依赖任何云服务,所有检索操作均在本地完成,没有额外的 API 费用