Agent Retro (Agent 复盘行动 SOP)
本技能定义了 Agent 每日复盘的标准操作程序。执行复盘时,必须严格按照以下步骤进行,且必须先完成物理落盘操作,再向用户汇报结果。
执行要求
- 改动所有文件之前,都需要先备份。
- 例如改动
MEMORY.md之前,要先复制一份命名为MEMORY.md.bak.${yyyyMMddHHmmss},作为备份,再进行修改。对USER.md、SOUL.md、AGENTS.md等其他核心配置文件的修改同理。
Step 1: 确定时间与范围
- 确定复盘的 Agent ID(默认情况为
main)。 - 确定目标日期(格式
YYYY-MM-DD)。如果用户说“昨天”,请根据当前本地时区准确推算昨天的日期。 - 检查复盘锁:根据目标日期构造锁文件路径(例如目标日期为 2026-02-04,则锁文件为
memory/AGENT_RETRO_DONE_20260204.md)。在执行复盘前,必须先检查该文件是否存在。如果存在,说明该日期的复盘已完成,立即终止复盘并告知用户。
Step 2: 收集历史数据
- 进入
~/.openclaw/agents/${agentId}/sessions目录。 - 读取该目录下所有带有目标日期时间戳的
.jsonl或会话记录。 - 提取当天的所有
user指令、assistant回复、工具调用(Tool Calls)及工具结果。
Step 3: 分析与总结
根据提取的聊天记录,必须且仅限总结以下 6 个维度的内容:
- 昨日动作:昨天你做了哪些事情。
- 做对的事情:一次完成没有重复对话,或者获得了用户的称赞的事项。
- 做错的事情:没有一次完成,陷入重复修正,或者被用户批评的事项。
- 改进点:针对做错的事情,提出具体的、可执行的防范改进点(如何保证以后一次做对)。
- 用户画像:用户是一个什么样的人(偏好、风格、底线等)。
- Agent 画像:你是一个什么样的 Agent(暴露出的行为倾向或缺陷)。
Step 4: 记录 Daily Memory
- 将 Step 3 的完整总结内容,写入工作区目录下的
memory/YYYY-MM-DD.md文件中。 - 如果该文件不存在则创建,如果存在则追加。
Step 5: 更新核心配置(核心步骤)
- 对比更新 MEMORY.md:提取 Step 3 中的关键结论,与工作区下的
MEMORY.md做对比。新增缺失的结论,修改过时的结论,并将这些变更追加记录到memory/YYYY-MM-DD.md的末尾。 - 更新 USER.md:使用 Step 3 提炼的“用户画像”信息,修改
USER.md,完善上下文。 - 更新 SOUL.md:使用 Step 3 提炼的“Agent 画像”信息,修改
SOUL.md,强化核心性格与行为边界。 - 更新 AGENTS.md:使用 Step 3 提炼的“改进点”,修改
AGENTS.md中的工具约束或战术准则,确保教训被固化。
警告:执行配置更新时,必须使用 read 读取原内容,并使用 edit 或 write 进行真实的物理修改。严禁只在对话中口头承诺修改。
Step 6: 写入复盘锁(天级别防重复)
在上述总结和文件更新完成后,写入复盘锁文件 memory/AGENT_RETRO_DONE_YYYYMMDD.md。例如对于 2026-02-04 的复盘,写入一个名为 AGENT_RETRO_DONE_20260204.md 的空文件或包含完成时间戳的文件即可,用于标记该日复盘已执行。
Step 7: 向用户发送复盘报告
在确认所有文件(1个每日memory + 4个核心配置文件 + 1个复盘锁文件)都已成功更新落盘后,向用户发送复盘概要。 报告内容应简明扼要,说明发现了什么核心问题、提炼了什么规矩,以及哪些文件已被成功修改。