Agent 配好一条 CI 流水线,踩了三个坑、换了两次方案。下周另一个任务再次从零开始,说明交付完成了,经验却没有成为资产。
Hermes 的技能创作闭环,不是把整段对话自动存档,而是筛出真正需要试错才得到的方法。
这篇只回答一个问题:怎样让一次任务中的试错经验自动变成下次可复用的技能,而不是生成一堆流水账?
Hermes 给出的答案是:按工具调用次数触发独立审视 Agent,只提取 trial and error 与 changing course 等非平凡经验,再用三层渐进加载让未来任务按需读取。
触发信号应来自“做过事”
闲聊轮次多,不代表产生了可复用方法;连续工具调用通常意味着 Agent 正在执行、试错和调整。Hermes 因此按工具调用计数,在对话结束时判断是否启动技能审视。
阈值过低会让简单翻译也生成技能,阈值过高又会错过经验。计数只是触发机会,真正是否保存仍由审视条件判断。
最有价值的不是步骤,而是改道原因
自动总结很容易把完整操作流水账写进技能。Hermes 的审视提示强调 non-trivial、trial and error 和 changing course,要求关注哪里失败、为什么换方案。
技能如果只写最终步骤,没有适用条件和坑点,下次遇到边界情况仍会重复错误。经验资产的密度来自取舍,不来自篇幅。
复用采用三层渐进加载
下一次会话先把技能名称和描述放入索引;模型判断相关后读取 SKILL.md;若正文引用模板、参考资料或脚本,再继续读取具体文件。
每一层都由当前任务需要驱动。上百个技能不必一次性占用上下文,复杂技能也可以把大体积材料留在第三层。
读取脚本不等于自动执行
references 用来理解,templates 用来复制,scripts 则需要模型先查看内容,再通过 terminal 执行。技能系统没有绕过工具系统的自动执行通道。
因此脚本仍会经过权限检查。若一个技能需要多层嵌套才能说明,原材料建议考虑拆成多个技能,而不是继续增加特殊加载层。
一次试错如何变成下一次的技能
复杂任务连续产生工具调用后,技能计数器达到阈值。对话结束时,后台审视拿到消息快照,重点寻找 non-trivial、trial and error 和 changing course:哪里失败、为什么改道、哪条方法可以迁移。
审视 Agent 可以创建新技能、更新旧技能,也可以判断没有内容值得保存。生成的 SKILL.md 应保留适用场景、稳定步骤和坑点;大体积说明、模板和脚本放入对应子目录。
下一次会话只加载技能名称与描述。模型判断相关后读取 SKILL.md,还需要细节时再读取 reference、template 或 script。脚本内容被读取后仍要通过 terminal 执行,不会因为来自技能就绕过权限系统。
闭环成立需要三次正确判断:什么值得保存、当前任务需要加载什么、加载后哪些动作可以执行。任何一步变成“全自动”,都会用便利换来噪声或安全风险。
三个容易走偏的地方
- 每次工具调用都触发审视,产生成本和大量低价值技能。
- 技能只记录最终步骤,不保存失败条件和改道原因。
- 把所有技能与附件一次性放进系统提示词。
产品经理可以怎样评审
评审这项能力,可以先检查三条:
- 是否值得沉淀,应看经验能否跨任务复用,而不是看本次任务耗时。
- 技能质量的关键字段是适用场景、步骤、坑点和边界。
- 渐进加载既是成本机制,也是让模型逐步确认相关性的检索机制。
原材料说明当前技能直接覆盖、没有版本历史;本文不虚构回滚和跨设备同步能力。
