跳到主要内容

睡眠学习与离线整合

“睡眠学习”指什么?​

  • 定义: 对离线整合的认知类比;
  • 澄清: 并不要求任务真的在夜间运行;
  • 在线职责: 在线 Agent 的首要职责是完成当前任务并追加不可变证据;
  • 后台职责: 后台学习进程在空闲期或满足门控条件时读取一批新经历,比较新旧结论、合并重复项、解决冲突、提出更新提案并运行回归;

为什么采集与整理必须分开?​

  • 好处一: 防止一次偶发成功、网络故障或恶意输入立刻改写长期能力;
  • 好处二: 允许系统使用更大的批量和更便宜的模型完成整理;
  • 与知识提炼的关系: 这与“先保存证据、再离线生成知识”的两阶段设计同源(见将经验沉淀为知识);

一个睡眠学习周期包含哪五步?​

步名称内容
1触发达到时间间隔、新增轨迹数量、存储容量或错误频率门槛,并确认当前没有高优先级在线任务
2定向读取正式知识、Prompt、Skill 目录及其版本,了解已有能力和不可修改边界
3采集与整合从近期已评价轨迹中寻找新信号,合并重复内容,标记冲突与适用条件,优先生成局部补丁
4验证与审批在迁移集、保留集和安全集上评估待验证版本,高风险写入等待人工批准
5修剪与索引更新检索索引,把长期不用或被新证据推翻的能力标记为过期,或归档、删除,同时保留来源和回滚版本

睡眠学习会处理哪些载体?​

  • 用户记忆: 最直观的例子,但要与行动经验区分——记忆沉淀“用户与世界是什么样的”,经验学习沉淀“在什么条件下应该怎样行动”;
  • 知识、Prompt 与 Skill: 都可以成为整合对象;
  • 程序与参数: 更新同样先进入待验证区,再经审批发布;

Claude Code 的自动记忆说明了什么?​

  • 结构: 为每个项目维护 MEMORY.md 索引和按主题拆分的详细文件;
  • 加载: 会话启动只加载索引的有界前缀,其余内容按需读取;
  • 容量约束: 当索引接近上限时,系统要求 Agent 合并或移走细节;
  • 结论: 纯文本记忆也需要容量约束、分层加载和主动整理;
  • 边界: 当前公开机制主要是在会话中持续写入,并不能简单等同于一个固定的夜间后台任务;

Hermes 的后台记忆进化有哪些组成部分?​

组成说明
有界长期信息MEMORY.md 与 USER.md
历史会话检索基于 SQLite / FTS5
Skill按需加载
外部记忆Honcho 等可选提供者
  • 关键设计: 历史检索返回原始消息而非先由 LLM 摘要,避免把检索和生成混成一个不可审计步骤;

后台复盘在什么条件下创建或修订 Skill?​

  • 触发条件: 一次任务包含较多工具调用、从错误或死路中恢复、收到用户纠正,或发现非显而易见的工作流;
  • 产物: 后台复盘可以创建或局部修订 Skill;
  • 门控: 记忆和 Skill 写入还可以经过审批门控;
  • 清理: 独立的 Curator 跟踪 Skill 的使用、陈旧和归档状态,在空闲期执行确定性修剪,并可选择运行 LLM 合并;
  • 可回滚: 变更前保存快照,错误整理可以回滚;

持续进化为什么会遇到上下文腐化?​

  • 机制: 上下文腐化会在更长时间尺度上重现;
  • 表现一: 经验文档相互冲突;
  • 表现二: Prompt 被边界规则淹没;
  • 表现三: Skill 库出现重复能力;
  • 表现四: 多次微调造成灾难性遗忘;

周期性离线整理包含哪些动作?​

  • 合并重复经验,保留来源和版本;
  • 把局部规则从全局 Prompt 移动到领域 Skill,保持全局 Prompt 整洁;
  • Prompt 和 Skill 保持结构清晰;
  • 重新验证长期未使用的工具;
  • 删除被新证据推翻的知识;
  • 从原始基座模型重新训练 LoRA;
  • 目标: 持续进化不是让知识、Prompt 和工具无限增长;