Hermes Agent 调教实录(二):给 AI Agent 写记忆的学问——粒度、归属与时机实测

Hermes Agent 调教实录 · 2/8 | 实验批次:HERMES-102
基于 Hermes Agent v0.20.0 实测(2026-08,deepseek-v4-flash)

📖 摘要:记忆写多了没用,写少了也没用。48 次实验发现:粗粒度记忆(5 条一句话偏好)成本比不写还低 20%;纪律写进记忆触发弱,写进身份文件触发 3/3;自主沉淀质量高但会把猜测当事实——只沉淀验证过的事实。

场景:记忆写了一大堆,Agent 一条没记住

给 Agent 配记忆,最常见的两种翻车:

第一种,写太少。记忆文件里就一句话「用户喜欢表格」——结果 Agent 在交付文档里用了三种不同的表格格式,来源列时有时无。你质问它,它很委屈:「你没说清楚啊」。

第二种,写太多。生怕 Agent 忘了什么,把用户画像、项目背景、历史决策、行业术语一股脑塞进记忆——结果每次会话光读记忆就吃掉一大截上下文,成本肉眼可见地涨,Agent 反而抓不住重点,重要纪律被淹没在信息海里。

记忆到底该怎么写?多细合适?写几条?放在哪?我们做了第四批实验(HERMES-102):48 次会话,专门测记忆的「粒度、归属、时机」。

实验设计:三种写法 + 一条接力链

实验载体不变(Hermes Agent v0.20.0 + deepseek-v4-flash,独立 profile)。

变体记忆配置测什么
A 基线记忆为空无记忆对照
B 粗粒度5 条一句话(如「用户偏好表格化呈现」)粗粒度够不够
C 细结构化10 条分类记忆(用户画像/环境事实/纪律条目,含细节)细粒度是否更有效
D 自主沉淀预置为空,但每个任务后要求 Agent「把关键经验写入记忆」写入时机与自主沉淀质量

D 变体是这次实验最特别的设计——它模拟真实交付:Agent 边干活边积累经验,后面轮次用前面沉淀的记忆。

实测结果:最省钱的不是「不写」,是「粗粒度」

先看达标率和成本:

变体达标率成本关键行为
A 无记忆94.1%1.00×基线
B 粗粒度94.1%0.80×有偏好提示,少走弯路
C 细结构化98.0%1.24×达标率略升,成本上升
D 自主沉淀~88%2.49×沉淀质量高,但成本爆炸

三个反直觉的发现:

第一,粗粒度记忆比「不写」还省钱。 B 变体成本只有基线的 0.8 倍——5 条一句话偏好(表格化/中文标题/先查技能/写完自测/标来源)给了 Agent 方向感,减少了探索和返工。记忆的性价比,第一档就拉满。

第二,细结构化的收益有限。 C 变体达标率 98% vs B 的 94.1%,只高了不到 4 个点,成本却贵了 55%。细粒度记忆的边际收益在递减——除非任务本身高度依赖具体细节(比如行业术语、字段规范),否则粗粒度足够。

第三,自主沉淀是双刃剑。 D 变体的 Agent 每轮结束后真的会沉淀记忆——质量还相当高(每轮 8-9 条可复用经验:清洗逻辑、敏感信息分级、来源标注规范)。但代价是成本 2.49 倍(每轮读入的上下文包含前面所有沉淀)。更关键的是,它会把「对环境的猜测」也写进记忆——我们在 D 的沉淀记录里发现,Agent 把「输出文件是框架预建的占位文件」这种误解当成了事实存进记忆。

关键结论:记忆是信息,不是纪律

这次实验最重要的发现,是「归属」问题。

我们的第一版记忆里写了一条:「任务匹配技能时先加载技能再动手」——和第一篇实验里铁律一模一样。结果呢?Agent 触发技能检查的次数,远低于把它写在身份文件(SOUL)里的对照组。

对比数据:

写法载体技能检查触发
「先加载技能」铁律SOUL(身份文件)3/3 全触发
「先加载技能」纪律MEMORY(记忆文件)1-2/3 弱触发

记忆是「参考信息」,身份是「自我要求」。 Agent 对记忆的态度是「我知道有这么回事」,对身份的态度是「我就是这样的 Agent」。行为纪律放身份层,信息(环境事实、用户偏好、项目约定)放记忆层——这是两批实验合起来得出的分层原则。

行为纪律(先查技能/写完自测)

信息(偏好/环境事实/约定)

要写的条目

是纪律还是信息?

身份层 SOUL(触发强 3/3)

记忆层 MEMORY(参考信息)

执行强度高

按需参考

写入时机:沉淀可以,但要设防

D 变体证明「任务后沉淀」是有效的写入时机——Agent 能在任务完成后提炼出可复用的经验。但三个副作用必须设防:

副作用现象对策
成本膨胀接力链上下文累积,2.49 倍沉淀条目限量(每轮 1-3 条),定期清理过期条目
猜测入脑「输出文件是框架预建的」这种误解被当事实写入只沉淀「验证过的事实」,猜测标注「(推断)」
汇报被压缩Agent 说「结果已在上方输出」,最终回复极简沉淀与汇报分离:沉淀进记忆,汇报照常完整

实战坑

现象修复
纪律写进记忆技能检查触发弱(1-2/3)纪律放身份文件,记忆只放信息
记忆写太细成本 1.24 倍,收益 <4%默认粗粒度,细节按需补充
任务后沉淀不限量记忆膨胀,接力成本 2.49 倍每轮限 1-3 条,定期清理
不防猜测环境误解被当事实沉淀只写验证过的事实

适用边界

  • 「粗粒度最优」适用于一般交付任务;对高度依赖具体规范的任务(医疗术语/金融字段),细粒度记忆仍是必要的
  • 自主沉淀的成本问题在长对话场景会更严重——系列第五篇会讲多轮对话里的记忆表现
  • 记忆文件是全局共享的——给多个项目共用的 Agent 写记忆时,环境事实要写「通用」的,项目约定放项目级约束

模板(可直接复制)

粗粒度记忆最小模板(5 条起步):

# 用户偏好
- 用户偏好表格化呈现、中文标题
- 具体数据必须标注来源

# 环境事实
- 本环境任务输入在 inputs/ 目录,产物勿写回 inputs/
- 清洗类任务按:去重、规整、脱敏三步

# 纪律提示(可选,仅作参考信息)
- 任务匹配技能时优先考虑加载技能

写记忆的三句话:信息进记忆,纪律进身份;粗粒度起步,细节按需补;沉淀要限量,只写验证过的事实。


💬 你的 Agent 记忆里写了几条?有没有「写了一大堆却没用」的经历?评论区聊聊。

下一篇:Hermes Agent 调教实录(三):Agent 技能怎么写才不会被无视?

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐