安装即用,零云成本,让 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 Agentv0.5.0+
Python3.10+
Node.js18+(插件会通过 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_MODEfast设为 hybrid 可开启基于嵌入的注入(更准但稍慢)

配置方式示例

export PLUR_PATH=/custom/path/to/plur
export PLUR_INJECT_MODE=hybrid

第八部分:最佳实践与建议

  1. 不要删掉 MEMORY.md

PLUR 擅长动态积累,而 MEMORY.md 适合存放极少变动、每轮对话都必须知道的硬事实。两者并用效果最佳。

  1. 善用反馈机制

plur_feedback 是让检索质量持续提升的核心手段。建议在以下时机使用:

  • Agent 准确想起了你之前教过它的内容 → 点赞强化
  • Agent 检索到了不相关或过时的记忆 → 点踩弱化
  1. 定期审视 Engram 库

虽然 ACT-R 会自动衰减不常用的记忆,但建议每隔一段时间通过 plur_list 查看记忆库,确认是否有需要手动清理的条目。

  1. 跨设备同步建立例行化

可以在每天工作结束时让 Agent 执行一次 plur_sync,实现记忆的自动云端备份和多端同步。

  1. 探索知识包(Knowledge Packs)

plur_packs_listplur_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 费用