Hermes Agent: Skills 技能系统
最后更新:2026-08-31
技能系统是 Hermes "自进化"的核心——它不只会用预设功能,还能学会新技能、自动改进已有技能,越用越强。
💡 提示:Skills 是 Hermes 独有的核心能力。与传统 Agent 不同,Hermes 的技能不是静态代码,而是可以自动创建、改进、组合的动态能力单元。
📋 前置知识:第6课 记忆系统
1. 你将学到
| 编号 | 内容 |
|---|---|
| ❶ | 技能的概念与类型 |
| ❷ | /learn 命令教学 |
| ❸ | 自动技能学习机制 |
| ❹ | 技能文件结构与创建 |
| ❺ | 技能组合与链式调用 |
2. 故事
(1) 痛点:重复操作,每次都要教
Bob 每次让 AI 审查代码,都要重复说:"检查类型安全、看有没有 XSS 漏洞、检查性能、看看测试覆盖率……"
(2) 解法:一次教学,永久记住
Alice 用 /learn 一次教会 Hermes:
BASH
/learn 当我让你审查代码时,永远检查以下5项:
1. 类型安全(TypeScript strict mode)
2. 安全漏洞(XSS、SQL注入)
3. 性能问题(N+1查询、内存泄漏)
4. 测试覆盖率
5. 代码风格一致性
→ ✅ Skill "code-review-checklist" 已创建!
→ 下次只需说"审查代码",Agent 自动执行全部5项。
3. 技能类型
(1) 技能分类
| 类型 | 来源 | 示例 | 可修改 |
|---|---|---|---|
| 内置技能 | 系统预装 | web-search, code-review | ❌ |
| 学习技能 | /learn 创建 | my-code-style | ✅ |
| 自动技能 | 观察自动创建 | frequent-pattern | ✅ |
| 插件技能 | 插件市场安装 | jira-integration | ✅ |
| 组合技能 | 多技能组合 | full-review | ✅ |
(2) 技能能力等级
Level 1: 简单指令(固定Prompt)
→ /learn 回答时用中文
Level 2: 条件技能(触发+动作)
→ /learn 当我提到"部署"时,检查CI/CD状态
Level 3: 工具技能(调用工具链)
→ /learn 审查PR时:读代码 → 跑测试 → 生成报告
Level 4: 组合技能(多技能编排)
→ /learn 完整发布流程:代码审查 + 测试 + 部署 + 通知
Level 5: 自进化技能(观察+改进)
→ Agent 自动优化技能参数和流程
4. /learn 命令
(1) 基础教学
BASH
# 简单偏好
/learn 回答代码问题时总是加上单元测试
# 条件触发
/learn 当我提到"日报"时,汇总今天的 Git commits
# 工具链
/learn 当我让你"搜索"时,先用 web-search 搜索,再用 summarize 总结
# 命名技能
/learn --name "react-review" 审查React组件时检查:props类型、hooks规则、性能优化
(2) 交互式教学
BASH
/learn --interactive
Agent: 我准备好学习了!请描述你想让我学会的技能。
me: 帮我做代码审查
Agent: 我理解你想让我做代码审查。为了创建准确的技能,请回答:
1. 审查哪些语言的代码?→ Python, TypeScript
2. 重点检查什么?→ 安全、性能、类型
3. 输出什么格式?→ Markdown 报告
me: [回答问题]
Agent: ✅ Skill "code-review" 已创建!
触发词: "审查代码", "review", "代码审查"
动作: 读取代码 → 安全检查 → 性能检查 → 类型检查 → 生成报告
5. 自动技能学习
(1) 观察模式
Hermes 观察你的重复行为,自动建议创建技能:
BASH
# 你连续3次要求类似操作:
me: 帮我写个 FastAPI 路由,加上类型注解和文档
me: 再写一个路由,同样加类型和文档
me: 还有一个路由,老规矩
# Hermes 自动建议:
Agent: 💡 我注意到你3次要求相同的代码风格。
是否创建技能 "fastapi-route-style"?
内容:FastAPI 路由 + type hints + docstring + 错误处理
/confirm 确认创建
/dismiss 忽略
me: /confirm
Agent: ✅ Skill "fastapi-route-style" 已创建!
(2) 学习阈值配置
YAML
skills:
auto_learn: true
learn_threshold: 3 # 观察3次后建议
auto_create: false # 不自动创建,需要确认
improve_existing: true # 自动改进已有技能
6. 技能文件结构
(1) 技能文件
YAML
# ~/.hermes/skills/custom/react-component-review.yaml
name: "react-component-review"
description: "审查 React 组件的代码质量"
version: "1.0.0"
created: "2026-03-15"
author: "user"
triggers:
- "审查组件"
- "review component"
- "组件检查"
actions:
- type: "check"
category: "type-safety"
prompt: "检查 TypeScript 类型是否完整和正确"
- type: "check"
category: "accessibility"
prompt: "检查 WCAG 2.1 可访问性"
- type: "check"
category: "performance"
prompt: "检查 React 性能问题(重渲染、memo等)"
- type: "tool"
name: "code_execution"
command: "npx eslint ${file_path}"
- type: "generate"
format: "markdown"
template: "review-report"
(2) 手动创建技能
BASH
# 创建技能文件
hermes skill create --name "my-workflow" --interactive
# 或直接编写 YAML
cat > ~/.hermes/skills/custom/my-workflow.yaml << 'EOF'
name: "my-workflow"
description: "我的日常工作流"
triggers:
- "开始工作"
- "每日工作"
actions:
- type: "message"
content: "开始每日工作流"
- type: "tool"
name: "git_status"
- type: "tool"
name: "check_calendar"
- type: "generate"
content: "今日工作摘要"
EOF
# 加载新技能
hermes skill load my-workflow
7. 技能组合与链式调用
(1) 组合技能
YAML
# ~/.hermes/skills/custom/full-release.yaml
name: "full-release"
description: "完整的发布流程"
type: "composite"
skills:
- name: "code-review"
- name: "run-tests"
- name: "check-security"
- name: "deploy-staging"
- name: "notify-team"
execution: "sequential" # sequential / parallel / conditional
(2) 链式调用
BASH
# 手动链式调用
me: 审查这个组件,然后跑测试,如果通过就部署到staging
Agent: [执行链式调用]
1. ⚡ code-review → 发现2个问题
2. 🔧 修复问题 → 修复完成
3. ⚡ code-review → 通过
4. 🧪 run-tests → 全部通过
5. 🚀 deploy-staging → 部署成功
6. 📢 notify-team → 已通知团队
❓ 常见问题
Q 最多能创建多少技能?
A 无硬性限制。实际使用中 50-100 个技能完全没问题,检索基于语义,数量不影响性能。
Q 技能可以分享给别人吗?
A 可以。
hermes skill export <name> 导出 YAML 文件,对方 hermes skill import 导入。Q 自动学习会创建错误的技能吗?
A 需要确认才会创建(默认
auto_create: false)。Agent 只建议,不自动执行。Q 技能和工具有什么区别?
A 工具是原子操作(读文件、搜索),技能是高层能力(代码审查),技能可以组合多个工具。
Q 如何删除技能?
A
hermes skill delete <name> 或 /skill delete <name>(对话中)。内置技能不可删除。Q 技能支持版本管理吗?
A 支持。每次修改技能自动保存版本历史,可以回退。
📖 小节
- 技能是 Hermes 自进化的核心:内置、学习、自动、插件、组合五种类型
/learn命令教学,交互式或直接描述- 自动学习:观察重复模式 → 建议创建 → 确认后生效
- 技能文件使用 YAML 格式,包含触发词、动作链、输出模板
- 组合技能实现复杂工作流的自动化编排
📝 作业
- 基础题(难度⭐):用
/learn创建一个简单技能(如"回答时加代码示例"),验证在新对话中生效。 - 进阶题(难度⭐⭐):创建一个包含3个步骤的工具技能,实现自动化工作流(如:搜索→总结→翻译)。
- 挑战题(难度⭐⭐⭐):设计一个自进化技能实验:连续5天使用相同模式,观察 Agent 是否自动建议创建技能,记录学习过程。