更新时间:2026-11-02 GMT+08:00
分享

程序记忆策略

原理

从会话记录中提取操作流程、行动步骤和关键提示等信息,形成可复用的任务执行指南。程序性记忆定位为Agent的“流程与经验库”,是Agent单独的记忆,解决 Agent 每次面对相似任务都从零推理、重复探索、浪费token的问题,同时为LLM推理提供边界约束,提供前置条件检查、步骤拆解、检查点机制和回滚预案等结构化执行纲要以及用户的偏好信息。

程序性记忆采用自然语言分条目格式组织,包含以下核心字段:

  • 标题(Title):简洁描述性标题,标识该程序性记忆的主题。
  • 适用场景(Use Cases):触发条件、适用场景和目标类型,描述“什么时候用”。
  • 操作步骤(Action Steps):编号步骤序列,描述“具体做什么”。
  • 关键提示(Key Hints):针对特定任务或某一类任务流程的提示信息以及用户针对这件事的偏好,用户喜欢怎么做、用什么方式、关注什么。
  • 失败模式(Failure Modes):已知失败场景及预防与恢复策略。

根据输入信息的质量,程序性记忆支持三个级别:

  • Level 1 经验摘要:简单经验总结或简要步骤,包含标题、适用场景和关键提示。
  • Level 2 自然语言经验:常见操作流程,增加操作步骤和失败模式。
  • Level 3 结构化文档:完整的结构化执行纲要,包含全部字段。

适用场景

  • Agent需要固化成功操作流程,避免面对相似任务时重复推理。
  • Agent需要理解用户针对某类任务的偏好,处理同类任务时更贴合用户、更拟人。
  • 编码智能体需要固化代码仓认知流程、代码审查流程等。
  • 运维智能体需要结构化执行纲要来规范化操作。
  • 需要约束LLM推理边界,提供检查点和回滚预案的复杂任务场景。

提取内容举例

让Agent探索一个新代码仓并完成功能开发。Agent首次探索后,将认知流程提取为程序性记忆:

标题:代码仓探索流程。

适用场景:当需要在新代码仓中定位和修改代码时,检测到代码探索意图。

操作步骤:

  • 先查看README和目录结构,了解项目全貌。
  • 重点关注src/和tests/目录。
  • 查找入口文件和配置文件,理解架构设计。
  • 使用语义搜索定位相关代码。

关键提示:

  • 用户偏好先理解整体架构再深入细节。
  • 用户偏好用语义搜索而非逐文件浏览定位代码。

失败模式:

  • 由于未理解项目结构直接改代码导致引入问题,需要先理解整体架构再深入细节。
  • 由于目录结构异常导致定位困难,需要检查是否为monorepo、切换到子项目目录。

相关文档