本文是《Hermes Agent 深度解析》系列第 3 篇
系列索引:
- 篇01:入门指南 ← 基础概念与安装
- 篇02:记忆系统 ← MEMORY.md 与跨会话持久化
- 篇03:技能系统(本文)←
- 篇04:跨会话搜索 FTS5 → SQLite 全文检索
- 篇05:工具系统 → 40+工具使用详解
记忆 vs 技能
在深入技能系统之前,先理解记忆和技能的区别:
技能是 Agent 的程序性记忆——把成功经验转化为可复用知识。
本文目标
- 理解 SKILL.md 格式和目录结构
- 掌握技能管理工具的六个操作
- 了解渐进式披露机制
- 理解技能 Hub 和安全扫描
技能采用 YAML Frontmatter 格式(与 agentskills.io 兼容):
1.1 完整示例
— name: deploy-k8s description: 在 Kubernetes 集群上部署应用的标准流程 version: 1.0.0 platforms: [linux] # 可选:限制操作系统 metadata: hermes:
tags: [kubernetes, devops, deployment] category: devops
—
# K8s 部署技能
何时使用 需要将应用部署到 Kubernetes 集群时触发。
操作步骤
- 检查集群连接 bash kubectl cluster-info
- 构建并推送 Docker 镜像
docker build -t myapp:latest . docker push myapp:latest - 应用 Kubernetes 配置
kubectl apply -f k8s/ - 验证部署
kubectl get pods -l app=myapp
- 构建并推送 Docker 镜像
- 镜像必须推送到集群能访问的仓库
- 命名空间要提前创建
- 配置中的镜像标签要正确
所有 Pod 处于 Running 状态即为成功。
1.2 必需字段
| 字段 | 说明 |
|---|---|
| `name` | 技能名称(≤64 字符,小写) |
| `description` | 简短描述(≤1024 字符) |
1.3 可选字段
| 字段 | 说明 |
|---|---|
| `version` | 版本号 |
| `platforms` | 限制操作系统:`[macos]`, `[linux]`, `[windows]` |
| `metadata.hermes.tags` | 技能标签 |
| `metadata.hermes.category` | 分类 |
2. 技能目录结构
3. 技能管理工具
Agent 通过 `skill_manage` 工具管理技能,支持六个操作:
3.1 create——创建技能
python skill_manage(
action="create", name="my-skill", content="""---
name: my-skill
description: 我的自定义技能
技能标题
何时使用
…
操作步骤
- … “”“, category=”devops“ # 可选:分类目录 )
3.2 patch——针对性修复(首选)
skill_manage( action=”patch“, name=”deploy-k8s“, old_string=”镜像标签要正确“, new_string=”镜像标签必须与 k8s 配置中的标签完全一致“ )3.3 edit——全量重写
skill_manage( action=”edit“, name=”deploy-k8s“, content=”完整的新 SKILL.md 内容…“ )仅用于重大结构重写,日常更新用
patch。3.4 delete——删除技能
skill_manage(action=”delete“, name=”old-skill“)3.5 write_file——添加支持文件
提示:skill_manage( action=”write_file“, name=”deploy-k8s“, file_path=”references/常见错误.md“, file_content=”“”# Kubernetes 常见错误patch比edit更节省 token,因为只有更改的文本出现在工具调用中。
ImagePullBackOff
… “”“ )
3.6 remove_file——删除支持文件
skill_manage(
action="remove_file", name="deploy-k8s", file_path="references/过时文档.md"
)
根据 skill_manage 工具描述:
技能使用高效的 token 加载模式,避免每次都加载所有技能:
skills_list()
[{name, description, category}, …] ~3k tokens Level 1
skill_view(name) 完整内容 + 元数据 不定 Level 2
skill_view(name, path) 特定参考文件 不定
Agent 只在实际需要时才加载完整技能内容。
6.1 Slash 命令
每个技能都自动可用作斜杠命令:
# 直接调用 /gif-search funny cats /excalidraw /deploy-k8s production
# 加载技能,让 Agent 询问需求 /excalidraw
6.2 自然对话
hermes chat --toolsets skills -q ”你有哪些技能?“ hermes chat --toolsets skills -q ”给我看看 axolotl 技能“
浏览、搜索、安装和管理在线技能:
# 浏览所有 hub 技能(官方优先) hermes skills browse
# 搜索 hermes skills search kubernetes
# 安装(带安全扫描) hermes skills install openai/skills/k8s
# 安装前预览 hermes skills inspect openai/skills/k8s
# 列出 hub 安装的技能 hermes skills list –source hub
# 重新扫描所有 hub 技能 hermes skills audit
# 移除技能 hermes skills uninstall k8s
7.1 信任级别
builtin Hermes 自带 始终信任
official 仓库
optional-skills/ 内置信任
trusted openai/skills, anthropic/skills 信任来源
community 其他所有来源 发现问题即阻止
7.2 安全扫描
所有 hub 安装的技能都经过扫描,检查:
- 数据泄露
- 提示注入
- 破坏性命令
- 其他威胁
技能可以使用 platforms 字段限制操作系统:
platforms: [macos] # 仅 macOS platforms: [macos, linux] # macOS 和 Linux
macos macOS (Darwin)
linux Linux
windows Windows
设置后,技能从不兼容平台的系统提示、skills_list() 和斜杠命令中自动隐藏。
核心要点
记忆 vs 技能对比
下篇预告
【系列04】Hermes Agent 跨会话搜索:FTS5 全文检索实现
下一篇我们将解析跨会话搜索系统:
- SQLite + FTS5 全文索引
- LLM 摘要机制
- 搜索语法和特殊字符处理
- session_search vs memory 的区别
相关资料:
- 官方文档:https://hermes-agent.nousresearch.com/docs/user-guide/features/skills
- GitHub:https://github.com/NousResearch/hermes-agent
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/281323.html