• Hermes Edu Skills 从 170 到 188:一次中文教育 Agent Skill Pack 的工程化升级


    这次更新不是“多写了 18 个提示词”,而是把中文教育 Agent 的能力层,从内容清单推进到更完整的 Skill Pack:可安装、可路由、可诊断、可迁移,也更适合真实产品集成。

    前段时间我发布 Hermes Edu Skills 时,公开 Skill 数量还是 170 个。

    那一版主要解决的是“有没有”的问题:把教材同步、备考复习、错题复盘、每日练习、阅读写作、亲子陪学、老师工具等中文教育场景,整理成可以被 Agent 读取和调用的 SKILL.md

    到了新版本,公开 Skill 数量更新到了 188 个

    表面上看,这是从 170 到 188,多了 18 个 Skill;但从工程视角看,这次更新的重点不是堆数量,而是一次能力层升级:

    1. 补齐学前启蒙场景;
    2. 重构产品级分类模型;
    3. 增强 CLI 安装、诊断、修复和导出能力;
    4. 提升 Hermes Agent 对本地 Skill 的可见性和可用性;
    5. 让这套 Skill Pack 更适合被 OpenClaw、Codex、Cursor、Claude Code 等不同 Agent 工具复用。

    为什么我没有继续做 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 往往会直接回答:

    这道题的正确答案是……
    

    但真正的错题复盘至少应该有几个步骤:

    1. 识别题目对应的知识点;
    2. 对比学生原答案和正确答案;
    3. 判断错因是概念错误、审题错误、计算错误,还是方法迁移失败;
    4. 给出可理解的订正说明;
    5. 生成同类巩固建议;
    6. 决定是否加入后续复习计划。

    这就是 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
    

    其中最关键的是 SKILL.mdcatalog.json

    SKILL.md 负责让 Agent 知道“怎么执行这个任务”;
    catalog.json 负责让工具知道“有哪些 Skill、属于什么分类、如何安装和匹配”。

    这两个东西结合起来,才让 Skill Pack 具备可发现、可安装、可路由和可迁移的能力。

    这次升级给我的一个启发

    做教育 AI,不能只追求“模型回答得像老师”。

    真正难的是把教育任务拆清楚:

    • 哪些任务适合学生直接用;
    • 哪些任务适合家长陪学;
    • 哪些任务适合老师备课;
    • 哪些任务需要先问清年级和教材;
    • 哪些任务缺少信息时可以安全默认;
    • 哪些场景不应该让 AI 越界替孩子完成作业。

    从 170 到 188,我越来越明确一个判断:

    教育 Agent 的核心不是一个万能大 Prompt,而是一套可维护的任务能力层。

    这个能力层既要懂教育场景,也要符合软件工程的基本要求:目录清晰、命令稳定、版本可追踪、故障可诊断、迁移可执行。

    后续计划

    接下来我会继续沿着三个方向迭代 Hermes Edu Skills:

    第一,继续提升 Skill 的质量,而不是盲目堆数量。
    尤其是错题复盘、学习计划、阅读写作、考试复习、老师工具这些高频场景,需要持续打磨触发条件、默认策略和输出结构。

    第二,增强路由能力。
    让自然语言问题能更准确地命中对应 Skill,同时让用户看得见“为什么匹配这个 Skill”。

    第三,推动更多开发者、老师和教研人员共建。
    中文教育场景太复杂,一个人不可能覆盖所有教材、地区、考试体系和家庭情况。开源的意义,就是把这些经验变成可以讨论、可以改进、可以复用的公共能力。

    项目地址

    项目名:zhongweiv/hermes-edu-skills

    如果你正在做 AI 家教、学习助手、错题本、教研工具、教师效率工具,或者只是想让自己的 Agent 更懂中文教育场景,欢迎去 GitHub 看看。

    如果觉得这个项目有价值,也欢迎点一个 Star。

    这次从 170 到 188,只是一个阶段版本。

    我更希望它最终变成一个中文教育 Agent 的公共 Skill 基础设施。

  • 相关阅读:
    Python教程:随机函数,开始猜英文单词的游戏
    Hadoop+Hive数据分析综合案例
    7判断环的入口结点8输出倒数第k个
    本地化ddddocr库,完成验证码图片识别,完整流程
    C++ STL详解
    03 野火imxull开发板添加 正点原子lcd 支持
    【Java项目介绍和界面搭建】拼图小游戏——打乱图片顺序
    E - Stoned Game
    SSRF服务器端请求伪造
    视频服务器配置参数有哪些要求和标准
  • 原文地址:https://www.cnblogs.com/zhongweiv/p/20140962/Hermes-Edu-Skills-0-18