Skip to content

学习循环与记忆

源码版本v2026.7.20

职责

这是 Hermes 区别于普通 agent 的核心:一个「越用越好用」的闭环。它把每轮对话沉淀成:① 技能演化——从经验创建/改写技能(agent/learning_mutations.py);② 记忆——FTS5 全文检索 + LLM 摘要的过往会话检索(memory_manager),配合 Honcho 辩证式用户建模;③ 学习图——把技能与记忆组织成节点/边(agent/learning_graph.py);④ 后台审视——background_review 在线程里消化历史、产出可执行的改写动作。技能改写最终回灌到技能系统,供后续轮次复用。

关键文件

技能节点与学习图

技能/记忆改写

记忆管理

后台审视

数据流

  1. 每轮对话结束,主循环把消息快照交给后台审视线程(agent/background_review.py:956)。
  2. _digest_history(agent/background_review.py:122)摘要近期历史,产出候选动作(新建/改写技能、写记忆)。
  3. 技能改写经 edit_node:157 / 删除经 delete_node:124 落盘,并 _clear_skill_cache:200 清缓存。
  4. 记忆写入经 MemoryManager:354,脱敏(agent/memory_manager.py:164)后建 FTS5 索引,LLM 摘要压缩。
  5. 下轮对话开始时,build_memory_context_block(agent/memory_manager.py:337)把相关记忆拼进 build_turn_context:268;技能经 agent/skill_bundles.py 注入。
  6. 完整学习图由 build_learning_graph:254 汇总,供 UI/调试展示技能与记忆的关联。

小结

学习闭环把「对话」变成「资产」:后台审视无感地把经验沉淀为技能与记忆,下轮自动注入。关键四件套——learning_graph(图谱)、learning_mutations(改写)、memory_manager(检索+脱敏+摘要)、background_review(异步消化)。这是 Hermes 「与用户共同成长」的机制底座,也是它和「无状态 LLM 调用」的根本区别。

非官方社区学习站,内容以 MIT 许可的 NousResearch/hermes-agent 源码为依据。