自驱动改进闭环(Self-Improvement Loop)
一句话:遇到工作方式问题,先判触发级别,L3 才走完整六步闭环;每步带尺子(验收)、带闸门(防膨胀)、带节奏(跟用户对齐);落地后验证「真的变好了」并一句话汇报。
版本:v2.0(第二版:应用闭环自身,吸收 Reflexion/Voyager/skill-creator 规范/失效模式研究——详见 references/self-improvement-research.md)
设计原则(从实战指导中提炼,每一条都是踩出来的)
| 原则 | 含义 |
|---|---|
| 数据先行,不臆测 | 先取证(日志/记录/统计)再下结论,结论标置信度 |
| 结论前先调研 | 方案落地前先做业界调研,等结果回来一起沉淀 |
| 问题分责任层 | 可改层 / 行为层(靠约束)/ 系统层(需决策),方案可落地 |
| 吸收现成,不从零造 | 先搜业界现成技能/最佳实践,标注吸收/不吸收 + 理由 |
| 落地必须验证 | 没验收标准(evals)的改进不落地 |
| 元学习 | 把「怎么学的」本身固化——方法论也要自我迭代 |
触发分级(L0-L3)—— 先分级,别什么都走完整闭环
| 级别 | 触发条件 | 动作 |
|---|---|---|
| L0 不触发 | 一次性、无复用价值的问题 | 不启动闭环,最多一句话带过 |
| L1 顺手记 | 踩了个新坑、有明确教训 | 记入会话内教训(或长期记忆),不启动调研/落地 |
| L2 轻量反思 | 同一类坑第二次出现 | 数据诊断 + 系统反思,产出「责任分层 + 方案」,展示等确认 |
| L3 完整闭环 | 反复出现 / 用户明示「调研/沉淀/吸收」/ 有复用价值的方法论 | 走完六步:诊断→调研→反思→吸收→落地→沉淀 |
改进对象一次只改一样;同主题改进设冷却期(刚改过的技能短期内不重复触发 L3)。
六步闭环
Step 1 数据诊断 —— 不臆测,先取证
- 先收集数据再归因:日志、记录、统计、时间线;区分「真实执行 vs 模型思考 vs 批量等待」再归因(防把『等外部命令』误判成『模型慢』)
- 失败类触发时:先看失败现场(NO SKILL WITHOUT A FAIL——没有真实失败证据不写技能)
- 结论标置信度;成绩和问题都列(别只报问题)
- 交互节点:诊断结果先展示等确认
Step 2 业界调研 —— 不拍脑袋,深挖一手资料
- 方案落地前先调研(可派子代理/并行搜索),等结果回来一起沉淀
- 调研纪律:目标写死(只出文档不落地)、边界写死(输出绝对路径 + 不碰其他文件)、网络短超时/失败跳过、单轮上限(防无限扩)、语言+行数限定、预期时长
- 调研结果必须验证:文件真实存在 + 内容可读 + 结构符合预期(自报不可信)
- 实测:方法论调研 14 分钟产出 599 行文档(11 篇论文逐一核对 + 官方文档)
Step 3 系统反思 —— 问题分责任层,方案可落地
- 问题分三层:A 可改层(任务描述/纪律)/ B 行为层(执行者行为,靠指令约束)/ C 系统层(配置/工具限制,需决策)
- 每个问题:现象 → 证据 → 代价;解决方案编号(S1-Sn)+ 可落地动作
- 交互节点:反思清单先展示等确认
- 防分析瘫痪:方案必须分优先级,不带「待研究」尾巴
Step 4 现成方案吸收 —— 不从零造,先找业界现成
- 搜索清单:
obra/superpowers、anthropics/skills(skill-creator 规范)、agentskills.io、arXiv 论文(Reflexion/Voyager/Self-Refine)等 - 吸收闸门:每项标「吸收/不吸收 + 理由」;过「没有这条会错吗」闸门;不为一次性方案建全局技能
- 交互节点:吸收决策先展示等确认
Step 5 落地技能 —— 正文速查 + 原文存档 + 工具脚本
- 三件套:SKILL.md(速查正文)+ references/(原文/调研存档)+ scripts/(可复用脚本)
- description 纪律:只写「何时用」,绝不总结流程(SDO 陷阱)
- 验收标准(改进的尺子,eval 先行):
- 每个落地的技能先写 2-3 个真实测试用例(用户会说的原话)
- with-skill vs without-skill(或旧版)双跑,量化收益 + 成本
- 改了 description 的:20 条查询 × 3 次跑 trigger rate,含 near-miss 负面例
- 没有可验证验收标准的改进,不落地(宁可不改,也不「感觉更好了」就改)
- 更新前查运行日志的后台审查记录防撞车(见坑)
Step 6 沉淀方法论 —— 把「怎么学的」本身固化
- 复盘「这次怎么学的」:流程改进 → 更新本技能;用户每步指导 → 提炼为「设计原则」
- 案例复盘写进 references/(含数据/决策/教训),供下次参照
- 结束给用户一句话总结:「改了什么、为什么、验证结果、下次何时自动触发」
失效模式与防法(第二版新增,来源:调研 6.3 节)
| 闭环步骤 | 最可能踩的失效 | 防法 |
|---|---|---|
| Step 1 诊断 | 错误归因(把等外部命令当模型慢) | 先区分执行/思考/等待,再归因 |
| Step 2 调研 | 只调研不落地;调研无边界 | 目标写死只出文档;单轮上限;多源短超时 |
| Step 3 反思 | 分析瘫痪(方案一堆不分优先级) | 分三层 + 编号 + 可落地动作 |
| Step 4 吸收 | 吸收过度(见什么都想吸收) | 每项标吸收/不吸收 + 理由;过闸门 |
| Step 5 落地 | 无验收(改了但没验证变好) | 2-3 测试用例 + with/without 基线 |
| Step 6 沉淀 | 技能膨胀(方法论越写越长) | 正文速查 + references 分层;token 预算 |
通用 DO/DON'T:DO 先建 eval 再动手 / 先看失败再写技能 / 一次只改一样 / 正文 <500 行 / description 只写何时用。DON'T 让反思无限精炼 / 凭空写技能 / 在 description 总结流程 / 为一次性方案建全局技能 / 让改进打断主任务(改进异步、低优先级,主任务中只记「待改进点」)。
防膨胀机制(第二版新增)
- 新技能过「该不该沉淀」四问(一次性?无复用?可查证?已有类似?)+「没有这条 agent 会错吗」闸门
- token 预算:速查正文 <150 词(高频)/ <500 词(其余),重参考拆 references/
- description 只写「何时用」,绝不总结流程
- 定期清理:过时/矛盾/从未触发的技能删或合并(记录 absorbed_into)
坑(实战踩过)
- ⚠️ 后台会话审查机制会撞车:部分 agent 运行时会在会话结束后自动审查并更新技能——手动更新技能时可能同一秒撞车 → 重复章节。对策:更新前查运行日志的 review/curator 记录;发现重复用脚本合并去重
- 子代理会顺手改技能:委派任务时如果不允许,任务描述里显式写「不要修改任何既有文件(包括技能)」
- 多会话并行时任务归属会混:查运行日志的派发记录(session_key)确认归属
- description 写流程 = 反模式(SDO):agent 会照 description 做、跳过正文——本技能第一版就犯了,第二版已改
支持文件
references/self-improvement-research.md— 深化调研:AI agent 自我改进与技能学习机制(Reflexion/Voyager/Self-Refine/skill-creator 规范/失效模式/改进闭环 checklist,599 行,11 篇论文 + 官方文档来源)CASE_STUDY.md— 实战案例:子代理耗时优化(完整六步闭环的脱敏通用版)