§06教它一项本事:/learn、技能与Curator
Teach It a Skill: /learn, Skills and the Curator
记忆管的是「你是谁、你喜欢什么」,技能管的是「某件事怎么做」。这一节用一个写周报的小例子,从教它、看它存成什么样、到它在新会话里自己翻出来用,完整走一遍。
一条命令教会它
以前想让Hermes学会一件事,要么指望它干完复杂活之后自己总结(§09讲的后台复盘),要么自己手写SKILL.md。v0.18之后多了一条直路:/learn 。后面跟一段话,描述你想让它学会的事就行。
我是这么教的:
/learn 我每周五要写一份周报:从~/demo 下的 todo.md 里挑出本周完成的事,按「做了什么 / 卡在哪 / 下周做什么」三段写,每段不超过三行,口语化。/learn的结尾部分。它调用 skill_manage 存下技能,又被自带的检查器提醒缺license字段和作者名,于是补了license。最后回复「Skill saved: weekly-report-from-todo (category: productivity)」,并说下次说「写周报」就会用到它。
技能刚存下去,Hermes自带的检查器就报了两条警告,一条是缺license,一条是作者名。license那条它照改了;作者名那条它判断是检查器和系统规定冲突,没改,Reasoning框里能看到它的判断过程。
技能存成了什么
技能就是一个文件夹,放在~/.hermes/skills/分类/技能名/下面,核心是一份SKILL.md:
/learn 生成的SKILL.md开头。上面是frontmatter(名字、一句话描述、版本、作者、license、标签),下面是正文:什么时候用、前置条件、怎么执行,后面还有步骤、坑和验证方法(图里没截全)。
格式和Claude Code、Codex的skill是同一套开放标准(agentskills.io),所以这份文件你可以直接拷到别的agent里用,反过来也一样。
我自己看完这份文件,觉得它比我那段话写得还周全。比如它补了一条我没说的规矩:如果todo.md里一件完成的事都没有,就照实说,不要编。
用hermes skills list能看到所有技能:
hermes skills list的一段(我过滤了一下)。Source一列,内置的是builtin,我刚教的weekly-report-from-todo是local。最后一行汇总:0个从技能市场装的,57个内置,1个本地,共58个启用。
注意它旁边还有一个内置的weekly-review-planning ,名字很像。/learn的时候它其实先翻到了这个内置技能,看完觉得那是一套完整的周复盘方法论,和我要的「从一个文件生成三段式周报」不是一回事,所以另建了一个。
换个会话,看它会不会自己用
教完之后,我退出,新开会话,故意换了个说法:
帮我写这周的周报新会话。它先调用📚 skill 加载了 weekly-report-from-todo,再读todo.md。Reasoning里引用了技能里的那条坑:「If todo.md is empty or has no completed items, say so plainly rather than inventing content」。最后回复说今天的任务都还没完成,没法生成周报,问我是要写「本周计划」版,还是先把完成的事补进去。
我测试用的todo.md里确实三件事都没完成,它照着技能里那条规矩停下来问我,没有凑一份周报出来。
用/journey查看学到的内容
用久了你会想知道它到底攒了多少记忆和技能。在对话里输入/journey :
/journey的输出:一条时间线,标着学到的技能(●)和记忆(◆)。我这台测试机上是1个技能、2条记忆,都在同一天。日期显示的是19 Oct,可能是按UTC记的,北京时间凌晨还是UTC的前一天。
刚装完只有几个点,看不出什么。按官方说明,桌面版里还有一张可视化的记忆图,能点进去改和删(我没装桌面版)。
查看Curator状态
技能会越攒越多,有些用一次就再没用过,有些互相重复。Hermes有个后台任务叫Curator,专门干这件事,原理§10细讲,这里先看它的状态:
hermes curator status的输出。首次运行被推迟到一个周期之后,现在想预览可以跑hermes curator run --dry-run。
这一屏有两个数字要记一下,因为和很多老教程(包括这本书上一版)说的不一样:闲置14天算过期、30天归档,以前是30天和90天;合并相似技能默认是关的,它只做不花token的剪枝。想让它也帮你合并,要自己打开curator.consolidate 。
核心建议
两个保命开关。不想让某个技能被归档,用hermes curator pin 技能名钉住;归档错了,hermes
curator restore 技能名恢复,每次改动也都记在hermes curator ledger里,可以按条目编号单独回滚
(整库快照只在打开合并之后才有)。它默认只归档不删除,真要删得自己跑hermes curator purge。