self-improving-agent
作者 zhaono1self-improving-agent 是一个面向 Agent Orchestration 的元技能,用于记录任务结果、提炼可复用模式,并通过 memory、templates、hooks 以及可选的 PR review 来路由更新。
该技能评分为 68/100,说明它可以收录,但安装前应保持合理预期。仓库展示了较完整的工作流设计、具体的 memory/templates/hooks 文件,以及明确的自动触发元数据,因此相比通用提示词,它具备更强的实际操作价值。不过,系统中的关键部分仍更多停留在概念描述层面;现有证据也不足以充分证明,该 agent 已能在记录日志、存储模式和提供集成建议之外,稳定完成端到端的自我改进。
- 触发机制明确:`SKILL.md` 定义了基于 hook 的 before_start、after_complete 和 on_error 行为,并给出了清晰的触发模式与条件。
- 包含真实工作流资产:hooks 脚本、memory schema/example data,以及 correction/pattern/validation templates,能减少 agent 的判断成本。
- 有助于安装决策:`README` 说明了 memory 布局、安装 symlink、可选 hooks,以及预期的反馈闭环。
- 运行闭环更多是隐含设计而非完整实现;附带的 hook 脚本主要用于记录事件,因此代码尚未充分证明其自动学习/自动更新能力。
- 该技能的目标宏大、适用范围也很广,但从仓库摘录来看,关于何时提取模式、更新技能,或避免不良自我修改的具体决策规则仍较有限。
self-improving-agent skill 概览
self-improving-agent 实际做什么
self-improving-agent skill 是一个面向 Agent Orchestration 的元技能:它不是直接帮你完成某一项任务,而是帮助 agent 从已完成任务、错误和重复出现的模式中学习,再把这些学习结果回流到 skills 和 memory 中。在这个仓库里,它把基于 hook 的触发机制、多层 memory 设计,以及用于纠错和验证的模板组合到了一起。
谁适合安装这个 skill
如果你在多个 session、skills 或仓库之间运行一套可复用的 agent 工作流,那么这个 self-improving-agent skill 会很适合你。尤其当你希望 agent stack 能持续沉淀模式、减少重复犯错,并把一次性的修复转化为可复用的指导时,它的价值会更明显。
它真正要解决的问题
大多数用户并不需要另一个泛泛而谈的“反思并改进”提示词。他们真正需要的是一套可重复执行的系统,能够:
- 发现某次任务是否产出了有价值的模式,
- 把这个模式记录到可持续保留的位置,
- 验证这个模式是否真的值得保留,
- 并在需要时更新相关 skills 或发起一个 PR 供审查。
这正是 self-improving-agent 的实际价值:它把任务后的学习过程,从一种模糊习惯,变成了可落地的操作流程。
它和普通 prompt 的区别在哪里
它的主要差异是结构层面的,而不是文案风格上的:
- 通过 hook metadata 在 session 开始、完成和错误记录等节点自动触发,
- memory 模型拆分为 semantic、episodic 和 working memory,
- 内置 correction、pattern extraction 和 validation 模板,
- 仓库结构也明确暗示:改进应该是可审查的,而不是埋在聊天记录里。
什么情况下它非常适合
当你已经同时在用多个 skills,并且希望实现跨 skill 学习时,就适合评估 self-improving-agent for Agent Orchestration。它更适合持续运行的系统,而不是单轮任务。如果你最大的痛点是“agent 总在重复学同一个教训”,那这个 skill 很值得认真看看。
什么情况下不值得安装
如果你只想要一个轻量级的个人 prompt、不打算持久化 memory,或者不愿意审查生成出来的改进,那么就可以跳过 self-improving-agent install。这个 skill 的价值来自流程纪律;缺少这一点,它就更像额外负担,而不是收益。
如何使用 self-improving-agent skill
安装 self-improving-agent skill
仓库的 README 展示的是基于 symlink 的安装方式:
ln -s ~/path/to/agent-playbook/skills/self-improving-agent ~/.claude/skills/self-improving-agent
如果你用的是别的 skills manager,需要把这套路径改成适合你环境的形式。关键点在于 skill 文件夹要保持完整,因为 hooks、templates、memory 示例和 references 本身就是使用模型的一部分。
第一次使用前,先理解它的激活模型
SKILL.md 的 metadata 显示了三个重要的 hook 时机:
before_start:记录 session 上下文,after_complete:记录完成结果;如果 skills 有变更,还可以用ask_first触发create-pr,on_error:只记录错误,故意避免递归式自修复循环。
最后这一点非常关键。这种 self-improving-agent usage 并不是“每次失败都自动修复”。它的设计目标是安全地捕获并路由学习,而不是无休止地自我重试。
建议先看这几个文件
如果你想快速判断值不值得装,建议按这个顺序读:
skills/self-improving-agent/SKILL.mdskills/self-improving-agent/README.mdskills/self-improving-agent/references/appendix.mdskills/self-improving-agent/memory/semantic-patterns.jsonskills/self-improving-agent/templates/correction-template.mdskills/self-improving-agent/templates/validation-template.mdskills/self-improving-agent/hooks/pre-tool.shskills/self-improving-agent/hooks/post-bash.shskills/self-improving-agent/hooks/session-end.sh
按这条路径阅读,比起泛泛地扫一遍 repo,更快判断这个 skill 到底是一个真实工作流组件,还是只是概念说明。
让这个 skill 发挥效果,需要哪些输入
self-improving-agent skill 需要的远不止一句“improve yourself”。更好的输入应该包括:
- 刚刚运行的是哪个 task 或 skill,
- 哪些地方成功了、哪些地方失败了,
- 可供检查的 artifacts,比如 outputs、diffs 或 logs,
- 你希望它做 memory update、skill update、validation,还是 PR preparation,
- 以及它被允许编辑哪些文件的安全边界。
如果没有来自真实运行过程的具体证据,这个 skill 往往只能生成比较空泛的抽象总结。
如何把模糊目标改成高质量调用
弱提示词:
- “Use self-improving-agent to learn from this.”
更强的提示词:
- “Run
self-improving-agenton the lastdebuggersession. Inspect the final diff, failed command output, and user correction. Extract one reusable semantic pattern, record one episodic summary, and propose updates only if the guidance would help futuredebuggerruns. Do not edit production code; limit changes to skill docs, templates, or memory artifacts.”
之所以更有效,是因为它明确了证据来源、输出类型、更新范围,以及决策边界。
一套实用的 self-improving-agent 使用工作流
一条靠谱的工作流可以是:
- 先运行一个正常的 task skill。
- 收集结果 artifacts:logs、errors、edits、user feedback。
- 调用
self-improving-agent。 - 要求它明确区分:
- 哪些只是一次性发生的事,
- 哪些应该沉淀成可复用模式,
- 哪些在可信之前还需要验证。
- 审查它提出的任何 skill 改动。
- 如有需要,再触发
create-pr生成可审查的更新。
这种区分本身就是最核心的质量过滤器。不是每一次成功修复,都值得升级成共享指导。
memory 模型会怎样影响实际使用
这个 repo 的 memory 设计,是它最强的实用概念之一:
- semantic memory 用来存可复用模式和最佳实践,
- episodic memory 用来存具体事件和 session,
- working memory 用来存当前 session 状态,比如最近的错误。
对 self-improving-agent usage 来说,这意味着你需要判断某条观察结果究竟属于:
- 可长期保留的规则,
- 一个案例记录,
- 还是临时上下文。
把这些类型混在一起,是 self-improving 系统变得嘈杂失控的常见原因。
示例 pattern 文件能告诉你什么
memory/semantic-patterns.json 很有参考价值,因为它展示了一个“学到的模式”应该具备怎样的粒度:problem、solution structure、quality rules、target skills,以及 confidence。相比“PRD 应该写得更清楚”这种松散备注,这种结构要可操作得多。
所以在使用 self-improving-agent 时,最好也要求它按相同形状输出,这样 pattern 才更便于迁移和审查。
hook 文件体现了当前自动化深度
这个 skill 里的 hook scripts 比较轻量,主要是输出一些上下文信息,比如 tool input、tool output、exit code 和 session end。也就是说,当前实现更适合被理解为一个集成脚手架,而不是一个完全自治的改进引擎。
这点对安装决策很重要:self-improving-agent 提供的是一套工作流架构,但你很可能仍需要把它接入自己更大的 orchestration stack。
哪些 prompt 模式更容易拿到高质量结果
一次只让这个 skill 做一到两件事,通常效果更好,比如:
- 提取一个带 confidence 的可复用 pattern,
- 写一份 correction report,
- 起草一份 validation report,
- 识别哪些相关 skills 应该更新,
- 准备一份给人工审查的 PR summary。
如果你在没有足够证据的情况下,一次性要求它全做完,质量通常会明显下降。更聚焦的请求,通常能产出更好的 memory 条目。
允许它编辑前,先设好边界
在开启写权限前,先明确:
- 允许修改哪些 file paths,
- memory files 是否只能 append-only,
- 是否允许合并已有 patterns,
- 以及在 confidence 不高时,更新是否必须保持 proposal-only。
如果是团队环境,共享 skill docs 的编辑最好要求 review。一个会“自我改进”的系统,如果过于自由地改写指导内容,传播错误的速度可能比修复错误还快。
self-improving-agent skill 常见问题
self-improving-agent 对新手有用吗
有用,但更多是作为复盘和学习层,而不是你的第一个 skill。新手可以用它来总结哪里出了问题、哪些内容值得记住;但它的完整价值,通常要在你已经反复运行多个 skills 之后才会真正体现出来。
它比普通的反思 prompt 好在哪里
普通 prompt 可以产出一份 retrospective。self-improving-agent 更强的地方在于:它提供结构化 memory、跨 skill 复用、validation,以及可选的 workflow hooks。差别不只是提示词怎么写,而是是否具备持久化和集成能力。
self-improving-agent 会自动修复错误吗
不会,至少不是那种完全自治意义上的自动修复。metadata 已明确避免在 on_error 上进入无限递归,而是依赖日志记录,再与 debugging、code review 等其他 skills 协同。更准确的理解是:它是学习与改进的协调器,不是魔法式修复循环。
self-improving-agent 只适用于 Claude 风格的本地 skill 环境吗
示例里使用了 ~/.claude/skills/ 和 ~/.claude/memory/,所以这个仓库显然是按这种环境来组织的。不过,只要你能在别的 agent framework 里复现同样的关键概念——hooks、memory tiers、templates 和 gated updates——这些设计思路同样可以迁移。
采用它的主要风险是什么
最大的风险包括:
- 存入了质量不高的 patterns,
- 把一次性事件误当成通用规则,
- 在没有 review 的情况下让 skill 直接改 guidance,
- 以及对自动化能力的期待高于现有 hook scripts 实际提供的水平。
什么情况下不该把 self-improving-agent 用于 Agent Orchestration
如果你的工作流大多是临时性的、任务差异太大而难以形成稳定模式,或者团队还没准备好维护 memory hygiene,就不适合用 self-improving-agent for Agent Orchestration。在这些情况下,一个简单的 retrospective prompt 可能就已经够用了。
如何改进 self-improving-agent skill
先补强证据,不要先加大野心
想提升 self-improving-agent 输出质量,最快的方法不是让它做更多,而是给它更好的源材料:
- 精确的 user corrections,
- before/after diffs,
- failed commands,
- 最终被接受的 solution,
- 以及是哪一个 skill 产出了这个结果。
比起抽象地说“这里我们学到了点东西”,更丰富的证据更容易产出强模式。
强制区分 episode 和 pattern
一个常见失败模式,是把单次事件直接提升成全局指导。要改进 self-improving-agent,可以明确追问:
- “What belongs in episodic memory only?”
- “What is strong enough for semantic memory?”
- “What still needs validation?”
光是这一个区分,就能显著减少 memory 污染。
强制要求 confidence 和 target-skill 字段
示例 semantic memory 里已经包含 confidence 和 target skill 信息,这一点要保留。一个真正有用的 self-improving-agent guide,不应该只写出一个 pattern,还应该说明它的可靠性,以及适用于哪些场景。这样后续做 pruning 和 review 都会轻松很多。
优先使用模板,而不是自由发挥式编辑
templates/ 目录里的模板,是这个 skill 最实用的资产之一。如果输出质量不理想,直接要求 agent 去填写:
templates/correction-template.mdtemplates/pattern-template.mdtemplates/validation-template.md
结构化输出会更容易审查、比较,也更方便否决掉质量差的更新。
在正式提升前加入 validation
参考附录里已经有 validation report template,里面包含这些检查项:
- examples 能编译或运行,
- checklists 仍然符合 repo conventions,
- external references 有效,
- 没有重复或相互冲突的 guidance。
如果你想得到更高质量的 self-improving-agent 结果,那么在改动共享 skill instructions 之前,最好把 validation 设为必经步骤。
逐步增强仓库集成,不要一步到位
如果你准备采用这个 skill,不要一上来就让它重写所有东西。更稳妥的 rollout 方式是:
- 只做 logging,
- 生成 proposal drafts,
- 更新 memory,
- 在 review 后修改 skill docs,
- 视情况启用 PR creation。
这种分阶段采用方式更容易建立信任,也更方便定位失败原因。
留意 semantic memory 是否变得嘈杂或过时
当 semantic memory 变成“杂物抽屉”时,self-improving-agent 的效果会明显变差。应该定期清理这些 patterns:
- 从未被复用过的,
- confidence 很低的,
- 与较新的 pattern 重复的,
- 或者固化了已经变化的 repo conventions 的。
只有 memory 保持克制和筛选,这个 skill 才会越来越好用。
把更新范围说具体
不要只说“improve the skill”,而是改成这类更具体的要求:
- “update one checklist item in
SKILL.md,” - “draft a correction note using the template,”
- “append a new semantic pattern with confidence justification,”
- 或者 “prepare a validation report only.”
范围越窄,越容易 review,也越能降低意外越界的风险。
让 self-improving-agent 和人工审查习惯配套出现
仓库已经通过 ask_first 模式下的 create-pr,以及附录中的 human-in-the-loop 说明,暗示了这一点。最好保留这套纪律。最好的 self-improving-agent skill 形态,并不是无人约束的自治,而是在明确 review gate 下实现快速学习。
如果结果总是很泛,就改 prompt 结构
输出过于泛化,通常不是 wording 的问题,而是 prompt 缺了这些关键信息:
- 一个明确的 source session,
- 一组具体的 artifacts,
- 一个目标更新位置,
- 或者一条判断“什么算持久学习”的 decision rule。
一个更好的 self-improving-agent usage prompt,会把这四项都明确写出来。通常这比任何措辞微调都更能提升结果质量。
