Hermes Edu Skills 从 170 到 188:一次中文教育 Agent Skill Pack 的工程化升级
为什么我没有继续做 Prompt 合集?
很多 AI 教育 Demo 的起点都是一句提示词:
你是一名优秀老师,请给孩子讲解这道题。
这句话当然有用,但它不够工程化。
真实的教育 Agent 需要面对的是多维度任务:
- 年级不同;
- 教材版本不同;
- 学习阶段不同;
- 目标可能是预习、同步巩固、错题复盘、考试冲刺;
- 用户可能是学生、家长、老师、教研人员;
- 同一个“讲题”,还可能涉及概念讲解、步骤引导、错因分析、变式训练和复习计划。
如果每次都让用户在 Prompt 里临时描述这些信息,Agent 的输出就会很不稳定。
所以 Hermes Edu Skills 的思路不是“写更多万能提示词”,而是把教育任务拆成一个个结构化 Skill,让 Agent 根据场景加载对应能力。
从 170 到 188,新增的不只是数量
旧版本的 170 个 Skill 已经覆盖了很多中小学学习场景,但我在使用和整理过程中发现一个明显缺口:学前启蒙和幼小衔接。
教育 AI 如果只从小学、初中、高中开始做,会天然漏掉很多家庭刚需场景:
- 识字启蒙;
- 拼音启蒙;
- 数感建立;
- 绘本共读;
- 控笔与书写准备;
- 专注力训练;
- 情绪表达;
- 入学准备;
- 亲子每日启蒙。
这些任务不是传统意义上的“讲题”,但非常适合被 Skill 化。因为它们有明确的触发场景、年龄段、互动方式、输出边界和家长执行动作。
所以在 188 个 Skill 的版本里,我把 preschool 做成了一级分类,而不是把它零散塞进家庭教育或每日练习里。
新的分类模型更接近产品视角:
| 分类 | 说明 |
|---|---|
preschool |
学前启蒙、幼小衔接、亲子共学 |
textbook-sync |
教材同步、单元学习、课堂巩固 |
daily-practice |
每日练习、短时巩固、主动回忆 |
reading-writing |
阅读理解、写作表达、语言输出 |
exam-prep |
期末、中考、高考、考研、考证等备考 |
learning-assistant |
学习计划、错题复盘、苏格拉底式辅导 |
family-education |
家庭陪学、家校沟通、作业习惯 |
teacher-tools |
老师备课、作业生成、班级学情分析 |
这个分类变化很重要。
因为一个教育 Agent 项目不是只靠“有哪些 Skill”来运转,还要靠“能不能被正确发现、正确安装、正确路由、正确维护”。
Skill 的核心价值:把教育流程沉淀下来
以错题复盘为例。
普通 Prompt 往往会直接回答:
这道题的正确答案是……
但真正的错题复盘至少应该有几个步骤:
- 识别题目对应的知识点;
- 对比学生原答案和正确答案;
- 判断错因是概念错误、审题错误、计算错误,还是方法迁移失败;
- 给出可理解的订正说明;
- 生成同类巩固建议;
- 决定是否加入后续复习计划。
这就是 Skill 和 Prompt 的差别。
Prompt 更像一次性指令,Skill 更像可复用的任务协议。它可以告诉 Agent:什么时候该用、该收集哪些信息、缺少信息时如何默认、输出应该包含哪些部分、哪些行为不应该做。
在教育场景里,这种稳定性比“模型说得很漂亮”更重要。
这次更新里,我更关注 CLI 和可运维性
188 个 Skill 只是可见结果,背后更关键的是 CLI 工程能力。
现在我希望一个用户不是 clone 仓库后手动找目录,而是可以直接:
npx --yes hermes-edu-skills install
安装后,再通过诊断命令检查本地 Hermes 是否能看到这套 Skill Pack:
npx --yes hermes-edu-skills doctor
如果本地配置、目录、Hermes 可见性或 Windows 命令入口有问题,可以尝试:
npx --yes hermes-edu-skills fix
npx --yes hermes-edu-skills repair
更新、验证和卸载也做成了独立命令:
npx --yes hermes-edu-skills update
npx --yes hermes-edu-skills verify
npx --yes hermes-edu-skills uninstall
这类命令看起来不如“新增 Skill”显眼,但对开源项目非常重要。
因为只要用户安装失败、Hermes 看不到 Skill、CLI 启动不了,再好的 Skill 内容都无法进入真实使用链路。
我这次在 0.18.x 系列里做了不少安装生命周期相关的增强,本质上都是为了减少用户从“看到项目”到“真正跑起来”之间的摩擦。
自然语言路由:让用户不用记 slug
188 个 Skill 带来的另一个问题是:用户不可能记住每个 Skill 的英文 slug。
所以项目里加入了面向自然语言问题的匹配能力。
比如用户可以先搜索:
npx hermes-edu-skills search 学习计划
也可以直接让系统匹配:
npx hermes-edu-skills match "孩子数学错题总是同一类,怎么复盘?"
我的目标不是让用户背命令,而是让 Agent 能够先理解教育意图,再从 Skill Pack 中选择合适的能力。
这也是教育 Agent 和普通聊天机器人的差别:
普通聊天机器人是“你问什么,我答什么”;教育 Agent 应该是“我知道这属于什么学习任务,并调用对应工作流”。
多工具导出:不要把教育 Skill 锁死在一个 Agent 里
Hermes Edu Skills 最初是围绕 Hermes Agent 做的,但我不希望它只能服务一个运行时。
所以项目支持导出到多个 Agent 或 AI 工具环境:
npx hermes-edu-skills install openclaw
npx hermes-edu-skills install codex
npx hermes-edu-skills install claude
npx hermes-edu-skills install cursor --workspace /path/to/project
npx hermes-edu-skills export generic --target ./dist/agent-skills
这里的设计原则是:
skills/保持 Hermes 原生格式;- 每个 Skill 都有独立的
SKILL.md; agent-pack负责按不同目标工具复制、扁平化或生成规则文件;- 通用导出产物保留
AGENT_SKILL_PACK.json,方便其它 Agent 接入。
我认为这是开源教育 Skill Pack 很重要的一点。
教育场景能力不应该被绑定在某一个工具里。只要 Skill 的结构足够清晰,它就应该能被迁移、被改造、被集成进不同产品。
当前项目结构
从工程角度看,现在的 Hermes Edu Skills 更像一个“教育能力包”,而不是单纯的文档仓库。
可以把它理解成几层:
hermes-edu-skills/
├── skills/ # 188 个公开 Skill 的主体
│ ├── preschool/
│ ├── textbook-sync/
│ ├── daily-practice/
│ ├── reading-writing/
│ ├── exam-prep/
│ ├── learning-assistant/
│ ├── family-education/
│ └── teacher-tools/
├── catalog.json # Skill 元数据目录
├── .well-known/skills/index.json # Skill 索引
├── scripts/agent-pack.mjs # 安装、导出、诊断、修复逻辑
├── README.md
├── README.en.md
├── CHANGELOG.md
└── package.json更多推荐


所有评论(0)