技能是 Hermes 的能力单元,把一组可复用的操作、知识和流程打包成 agent 可以直接调用的模块。
Skills
Hermes Agent 的技能开发指南
技能是把 Hermes 从"开箱能用"推向"越用越强"的关键机制。这一页专门讲怎么写技能、 有哪些类型的技能、开发流程怎么走,以及最容易踩的坑。
技能认知
先搞清技能是什么,不是什么
没有技能的 Hermes 每次面对类似任务都需要重新"临场发挥";有了技能之后,成功模式可以被固定和复用。
工具是单点动作(读文件、发请求),技能是封装了逻辑的完整能力单元(执行研究工作流、生成周报)。
技能在 Hermes 的沙箱中运行,可以访问已授权的文件、网络和工具资源,输出结果返回给主 agent。
技能分类
不同任务适合不同类型的技能
对输入信息进行分析、转换和结构化输出。
- 文档摘要技能
- 数据格式转换技能
- 多语言翻译技能
按固定步骤完成资料收集、整理和结论生成。
- 竞品调研技能
- 技术方案评估技能
- 行业趋势跟踪技能
在授权范围内执行具体动作并返回操作结果。
- 定时巡检技能
- 数据备份技能
- 部署验证技能
协调多个子任务或子 agent 完成复杂工作。
- 多源数据聚合技能
- 跨步骤项目推进技能
- 多 agent 协作调度技能
开发流程
从想法到可调用技能,通常走这五步
先写清楚技能负责什么、不负责什么、输入输出格式。边界清晰的技能更容易测试和维护。
按 Hermes 技能规范编写实现代码,声明需要的权限和资源。遵循单一职责原则,一个技能只做一件事。
在沙箱中单独测试技能的行为,确认输入输出符合预期,再在完整 Hermes 系统中集成。
将技能注册到 Hermes 配置中,分配最小必要的权限。注册后通过任务验证技能是否能被正确调用。
技能不是一次写完就结束。在实际使用中观察它的调用频率、成功率和结果质量,持续优化。
最佳实践
值得长期坚持的几条技能编写原则
技能应该封装一个可独立完成的任务单元,而不是把多个不相关的操作塞进同一个技能。
明确声明技能需要的文件、网络和执行权限。权限声明既是为了安全,也是让调用者理解技能的边界。
Hermes 的模型通过技能描述来判断何时调用它。描述应该说明技能的功能、适用条件和输出格式。
给定相同输入,技能应产生一致输出。避免在技能中引入随机性或依赖不可控的外部状态。
每个技能调用都应该记录输入、输出、耗时和状态。这些日志是后续排查问题和优化技能的依据。
常见误区
这些写法最容易让技能的价值打折扣
一个技能试图做太多事,会导致边界模糊、难以测试、调用场景受限。保持技能聚焦。
如果 Hermes 看不懂技能什么时候该用,技能写了也等于没用。描述应该具体到触发条件。
为图方便声明多余权限,一旦技能被滥用或误用,危害范围会被放大。
未经测试的技能在真实工作流中失败时,排查成本往往高于写技能本身。