Skill Retriever:用万级能力分类树为 AI Agent 精准找技能
社区开发者发布 Hermes Agent 插件,通过 10000 类能力分类树,从 1200+ 技能中筛出 top-5…
Skill Retriever 是社区开发者为 Hermes Agent 编写的一款预调用(pre_llm_call)插件,核心目标是把"在系统提示里塞下全部技能"这种粗放的技能发现方式,改造成"按需检索最相关技能"的轻量机制。它把 998 个社区技能和约 211 个 Hermes 技能聚合起来,按一个 10000 类的能力分类树(capability taxonomy)组织,用户每次查询时,插件会先用 LLM 在分类树中导航,定位到最相关的节点,再在子节点中并行检索,最后通过剪枝去重,把 top-5 技能以自然语言 hint 的形式注入到用户消息中。整个流程不改动 Hermes 核心代码,复用现有 LLM,因此没有额外的 API 费用。
为什么需要能力分类树
纯语义检索依赖文本相似度,容易漏掉那些在 embedding 空间里距离远、但功能上很相关的技能。例如"设置 CI/CD"和"部署 Docker 服务"在向量上未必接近,但在能力维度上属于同一分支。Skill Retriever 让 LLM 先理解任务,再沿分类树层层下钻,从而把功能相关但表面不似的技能也找出来。项目中以左右对比图说明:纯语义检索结果窄而片面,基于树的导航则能发现被 embedding 隐藏的相关技能。
与 Hermes 默认行为对比
Hermes 自带的技能发现是把所有已安装技能以扁平列表形式放进系统提示的 <available_skills> 块,模型每轮都要扫一遍。Skill Retriever 的差异主要体现在四点:技能来源从本地约 100-200 个扩展到 1198 个社区+本地的混合语料;发现机制从"读目录"变成"语义搜索";token 成本从每轮都消耗变为只在命中时注入用户消息;扩展上限从约 200 个技能提升到万级。代价是每轮多 1-3 次廉价的 LLM 调用用于树遍历,但避免了提示词膨胀。
安全与配置
每个技能都带有来源标签和安全扫描结果徽章:🔒hermes 表示通过 Hermes 安装的可信技能,🌐community 表示来自 AgentSkillOS 语料的未审核技能,⚠️ 后缀表示安全扫描标记过。作者称 1200 个技能全部扫描了 rm -rf /、curl | sh、base64 负载、挖矿脚本等危险模式,零命中。配置通过环境变量完成,无配置文件,可设置开关、LLM 模型、API Key、树分支因子、并行度、温度等。
安装与依赖
环境要求 Hermes Agent v0.18+、Python 3.10+,分类树索引约 500 MB,完整技能语料约 4 GB。安装流程为 git clone、bash scripts/install.sh、hermes gateway restart。CLI 提供 search、build、list、info 四个子命令。项目以 MIT 协议开源,依赖同样是 MIT 协议的 AgentSkillOS。
