Appearance
AI学得越多越好吗?现实是:AI Agent每解决一个新问题,往往会存成一个"技能文件"。时间久了,这些技能就像抽屉里塞满的便利贴——太多、太乱、互相重复,反而让AI每次开口前都要翻来翻去。Nous Research为此设计了Curator模块,专门负责替AI整理技能仓库。
什么是"技能",为什么会堆积
在Hermes Agent的设计里,"技能"(Skill)是一段可以复用的处理逻辑,以Markdown文件的形式存在磁盘上。
问题来了: AI每次遇到"新问题"就存一个新技能。一个月下来,可能攒出几十个技能文件,其中大量是"换汤不换药"的近似重复版本。
这些冗余文件会:
- 污染技能目录,AI难以快速找到真正有用的那个
- 占用宝贵的上下文窗口,让每次对话的"起步成本"更高
- 可能让AI调用到过时或错误的旧版本,产生错误结果
Curator:AI的"整理收纳师"
Curator的核心思路很简单:在AI空闲的时候,偷偷跑一个后台任务,把技能仓库从头到尾检查一遍。
启动条件
不是定时闹钟触发,而是靠两个条件同时满足:
- 距离上次整理已超过7天
- AI已连续空闲超过2小时
就像等你睡着了再悄悄收拾桌子,不打扰正在进行的工作。
两阶段整理流程
第一阶段:自动状态迁移(无需LLM参与)
纯粹按时间规则判定每个技能的"健康状态":
活跃 Active →(30天未用)→ 过期 Stale →(再过60天)→ 归档 Archived被归档的技能会被移动到.archive/目录,不会被直接删除,随时可以恢复。
这个"只归档、不删除"的设计,是为了防止误操作造成不可逆损失。
第二阶段:LLM审查(用小模型跑一遍)
Curator会单独开一个轻量级AI进程,让它逐一阅读技能内容,判断:
- 这个技能是否值得保留?
- 有没有和其他技能高度重叠?
- 能不能合并精简?
这一步会生成一份审查报告,记录每个技能的处理结论,用户可以随时查阅日志,了解Curator做了什么。
几个值得注意的细节设计
只动AI自创的技能,不动官方的
Curator有一条铁律:只整理AI自己生成的技能。
系统预装的技能、用户从技能商店安装的技能,一律不碰。这样不会因为"清理"破坏用户有意安装的功能。
可以"钉住"某个技能
如果你手动写了一个很重要的技能,不想被AI的自动整理动到,可以用命令把它"钉住"(pin):
bash
hermes curator pin <技能名> # 保护某个技能不被动
hermes curator restore <技能名> # 从归档中恢复被钉住的技能,无论是自动规则还是LLM审查,都不会碰它。甚至AI本身在对话中也无法修改它——必须由用户主动解锁才行。
每个技能都有使用遥测
Curator会记录每个技能的使用次数、查看次数、最后一次被调用的时间等数据。这不是为了监控,而是为了让自动状态迁移有数据依据,而不是瞎猜。
常用命令速查
| 命令 | 说明 |
|---|---|
hermes curator status | 查看当前状态和最近最少使用的技能 |
hermes curator run | 立即触发一次后台整理 |
hermes curator pin <技能名> | 保护某个技能不被动 |
hermes curator restore <技能名> | 从归档中恢复 |
这件事为什么值得关注
表面上,Curator只是一个工程上的"卫生工具"。但它背后的问题——AI Agent的自我维护——其实是当前AI工程领域一个相当前沿的话题。
现在大多数AI系统是"只进不出"的:学到什么就攒着什么,没有主动遗忘或整理的机制。这在短期内没问题,但当AI开始真正长期运行、自主积累知识和技能时,"技能膨胀"会变成一个不可忽视的系统性问题。
Curator的做法,是把"整理"这件事本身自动化、透明化、可审计:
- 既不让AI随意乱删
- 也不让垃圾无限堆积
- 还给人留了介入和恢复的后路
某种程度上,这更像是一个好的文件系统设计,而不只是AI功能。
而这正说明:随着AI Agent越来越复杂,支撑它们长期运行的"基础设施思维",会越来越重要。
