hermes agent能自动将成功经验沉淀为可复用技能文档:需满足三次同类任务成功、失败修复闭环或显式确认任一条件,经静默审查生成结构化skill.md,含yaml元信息、执行步骤、已知陷阱、验证方法,并支持自动打补丁、人工编辑和cli重构,按优先级动态加载。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

你想让Hermes Agent不再重复踩坑、不再每次重写同一套操作流程,而是把成功经验自动沉淀为可复用的技能文档——它真能办到,且全过程无需你写一行代码、不需重启服务、不依赖外部训练。
技能自动生成触发条件
系统不会在你第一次完成任务后就立刻生成技能。它需要确认这个工作流具备抽象价值:要么连续三次以上成功执行同类任务,要么单次任务中经历“失败→修复→最终闭环”的完整纠错过程,又或者你明确说出“以后都这样”“按这个流程固定下来”等显式确认语句。【触发阈值不可绕过,手动调用skill_manage也不会提前生成】
当满足任一条件,Hermes会在后台fork一个静默审查进程,回溯本次会话全部工具调用日志,提取输入边界、参数模式、异常分支点和最终输出格式。
这一步操作起来很简单,直接把文件拖进去就行。但注意:如果任务中途被强制中断(如Ctrl+C),或未通过验证步骤(比如部署后没运行curl -I检查HTTP状态码),系统将判定为“未闭环”,不触发沉淀。
技能文档结构化生成原理
生成的不是自然语言提示词,而是一份工程级Skill文档,存为SKILL.md,位于~/.hermes/skills/目录下。它包含四个刚性区块:
① YAML Frontmatter:定义name、description、triggers(触发关键词)、tools_required(必须预装的工具列表);
② # 执行步骤:每步以###开头编号,嵌入可执行逻辑,例如“### 3. 调用git diff --name-only HEAD~1 | grep '\.py$'”;
③ # 已知陷阱:列出三个最常发生的运行时错误及修复建议,比如“Vercel CLI v3.2+废弃--prod参数,需改用--environment=production”;
④ # 验证方法:声明如何判断本技能是否成功执行,例如“检查output/weekly_report.md文件是否存在且行数>50”。
这份文档会被自动注入类型注解与日志埋点,确保跨环境稳定调用。它不是草稿,是即刻生效的生产级模块。
技能自我修补机制
方法一:自动打补丁
当你第二次使用某技能时,若发现原流程在新环境下失效(如API返回字段变更),Hermes会在执行中实时识别差异,调用skill_manage patch命令,在原SKILL.md末尾追加# 补丁记录区块,写入新增校验逻辑和适配代码,不覆盖原始步骤。
方法二:人工编辑
打开~/.hermes/skills/对应技能文件,直接修改# 执行步骤或# 已知陷阱内容。保存后无需重启,下次触发时自动加载新版。但注意:【不要删除YAML头部的triggers字段,否则该技能将永久无法被自然语言唤起】
方法三:CLI交互式重构
运行hermes skill edit
技能调用与加载优先级
每次用户输入触发后,Hermes先做模糊匹配:扫描所有技能的triggers字段,计算语义相似度得分;再叠加使用频次、成功率、最近调用时间三项权重,生成排序列表。
只加载Top 3技能进入当前会话上下文,其余暂不载入——这是按需加载机制的核心体现,避免内存膨胀。
如果多个技能同时命中,系统优先调用标记为local(本地创建)而非system(预装)的版本,因为前者更贴合你的实际工作流。
执行完毕后,若结果符合# 验证方法定义,则本次调用计入成功率统计;若失败且你随后给出修正指令,系统将启动修补流程。











