惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

GbyAI
GbyAI
博客园 - 三生石上(FineUI控件)
S
Securelist
U
Unit 42
The Cloudflare Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Simon Willison's Weblog
Simon Willison's Weblog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
B
Blog
T
Tenable Blog
The Hacker News
The Hacker News
The Register - Security
The Register - Security
IT之家
IT之家
博客园 - 【当耐特】
Spread Privacy
Spread Privacy
P
Privacy & Cybersecurity Law Blog
博客园_首页
T
Tailwind CSS Blog
人人都是产品经理
人人都是产品经理
C
Cybersecurity and Infrastructure Security Agency CISA
Know Your Adversary
Know Your Adversary
NISL@THU
NISL@THU
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
阮一峰的网络日志
阮一峰的网络日志
T
Tor Project blog
C
CERT Recently Published Vulnerability Notes
Apple Machine Learning Research
Apple Machine Learning Research
Stack Overflow Blog
Stack Overflow Blog
T
Threat Research - Cisco Blogs
T
The Exploit Database - CXSecurity.com
V
Vulnerabilities – Threatpost
A
Arctic Wolf
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
V
V2EX
aimingoo的专栏
aimingoo的专栏
大猫的无限游戏
大猫的无限游戏
Scott Helme
Scott Helme
L
LINUX DO - 热门话题
Cyberwarzone
Cyberwarzone
V
Visual Studio Blog
月光博客
月光博客
爱范儿
爱范儿
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
美团技术团队
G
GRAHAM CLULEY
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
H
Heimdal Security Blog
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO

博客园_首页

Plist 二进制格式 Milvus 和 PGVector,哪个更好? OpenClaw 已过时?在 VS Code 中运行 Hermes Agent! 第30篇文章:一个大三计科生的自白 Manim如何在数学公式中完美显示中文? Docker 部署 RocketMQ 5 并发编程核心概念辨析 C#事务处理最佳实践:别再让“主表存了、明细丢了”的破事发生 CLI 是什么?为什么大厂突然集体卷命令行? 【从0到1构建一个ClaudeAgent】协作-自主Agent UIImageView 设置图片不生效的原因排查 最小二乘问题详解20:无先验约束下的增量式SFM自由网平差 痞子衡嵌入式:大话双核i.MXRT1180之XIP应用里借助MU实现可靠Flash IAP的方法 AI Chat 封装, SemanticKerne.AiProvider.Unified 已发布 Windows下右键编辑js文件无法打开记事本——在注册表中使用环境变量 在后台服务中使用 Scoped 服务,为什么总是报错? H200 安装驱动并使用sglang启动模型 wireshark 抓包Trap上报告警内容 我用 AI 辅助开发了一系列小工具(2):图片压缩工具 [A Primer On MC and CC] 2.1 Memory Consistency 1 - 指令重排序和 SC 模型 Oracle数据库SCN推进技术详解与实践指南 玩转控件:封装个带图片的Label控件 Claude Code 4.7 真正该升级的不是模型,而是你的工作流 前端小白一句话,AI 帮我做了个颜值拉满的桌面媒体播放器。当代码不再是门槛,一句话编程就是现实。 5. WorkBuddy: 小龙虾的灵魂三件套,让你的小龙虾不只是工具 SQLite 分片方案实战:三种分片策略的深度对比 告别简陋 UI!一款基于 Fluent Design 和基于 WinUI 的开源免费、现代化的 Avalonia UI 控件库 关于二进制排列组合枚举的总结 AI开发-python-LangGraph框架(3-27-LangGraph从零实现大模型智能决策工作流) ElasticSearch主分片和副本分片概念详解 【002】HTTPS 粗解:证书、TLS 握手与对后端配置的影响 Hermes Agent 一周暴涨五万 Star,但我劝你别急着追 明明连接的是Redis的DB0,为什么能查到DB3的数据? 【从0到1构建一个ClaudeAgent】协作-Agent团队 熟悉电子元器件之后,电子小白下一步该怎么走? MAF快速入门(23)通过C#类定义Skills .NET 高级开发 | 手写一个对象映射框架 FastAPI数据库ORM怎么选?我肝了三个Demo后,终于不再纠结了 mysqldump 参数拾遗:在遗忘与铭记之间 C# .NET 周刊|2026年3月5期 Claude code入门 - 陈彦斌 一文学习入门 ThingsBoard 开源物联网平台 GitHub 热门项目 | 2026年04月16日 如何为GIT设置全局勾子,为每次提交追加信息 Number.isFinite和isFinite与isNaN()和Number.isNaN的区别 PortSwigger SQL注入LAB2 推荐一个测试人必备的Skills,从功能到性能全搞定(附详细实操和安装下载方式) 筑基期:掌握Odoo基础核心知识点02(Odoo XML 开发方式详解) GLM模型这么火,咱们用vllm也咧一个呗! 深入理解 AbortController:从底层原理到跨语言设计哲学 字符串学习笔记 多租户系统框架的基础模块设计和分析设计 Apache SeaTunnel Zeta 为什么能做到“又快又稳”? AI开发-python-LangGraph框架(3-26-LangGraph基本概念及第一个简单样例) Vue 3 组件通信,别只会用 Props 和 Emits 了,这几个狠活儿你得看看 ElasticSearch7.X版本配置密码 用Manim实现动态交点计算--从一个动点问题说起 团结引擎+Addressable+Instant Game打包抖音小游戏 function call 实战:让 LLM 自动判断 pod 异常、调用日志工具并完成故障分析 bubseek —— 让 Agent 的足迹,变成团队的洞察 通过 C# 读取并导出 PDF 书签 如何用 GitHub Actions 实现 Steam 自动化发布 【从0到1构建一个ClaudeAgent】并发-后台任务 .NET 高级开发 | 定制 ASP.NET Core 框架 电子小白:什么是运算放大器(运放) zero2Agent:面向大厂面试的 Agent 工程教程,从概念到生产的完整学习路线 堆上的ORW HC32F460 USB CDC通信异常:非对齐访问异常排查 20260413-Hyperbridge 攻击事件:发生在默克尔山上的验证绕过 那些喊着AI 要淘汰你的人,正在靠你的焦虑赚大钱! 深度学习进阶(八)Swin Transformer 最小二乘问题详解19:带先验约束的增量式SFM优化与实现 SnapTranslate 3.0 正式发布:全局划词翻译 + 完整英语学习闭环,一站式搞定查词、记词、复习 工作的意义、工作的困难认知再思考 .NET + AI 进阶实战:基于类的技能开发 - 打造可治理的 Agent 能力模块 【从0到1构建一个ClaudeAgent】规划与协调-技能 上周热点回顾(4.6-4.12) 电子小白的工具三件套:面包板、杜邦线、万能板 单表五亿数据的查询优化 | Mysql、StarRocks 2. WorkBuddy:从“我是谁”到“帮我干活” C# 如何减少代码运行时间:7 个实战技巧 基于HelixToolkit.SharpDX 渲染3D模型 - 笺上知微 从零开始的双臂具身VLA起源及现阶段发展综述 - SkyXZ 记对 xonsh shell 的使用, 脚本编写, 迁移及调优 - pluvium27 受够了Vibe Coding的失控?换个起点,让AI事半功倍 从开始配置漏洞环境到漏洞复现流程 - 難しい 关于10年工作经验的程序员对OpenClaw的实战经验分享以及看法 - 虚无境 Any metadata 的内存布局 C# .NET 周刊|2026年3月2期 - InCerry 我帮你测过了,测试圈排名第二的 Skill 依然很牛逼 Skill Discovery | 无监督技能发现的经典工作总结 - MoonOut 上下文工程是什么?过时了么?一文讲明白! - 一枫说码 开了 TUN 模式还是直连?90% 的人都踩过这个坑 AScript扩展多种脚本语言 - rockey627 AI 学习笔记:Agent 的记忆机制 你能被装进一个文件里吗?——7 万人把同事"蒸馏"成了 AI - 我没有三颗心脏 Claude Code 通关手册(七):给 AI 装上技能包——Skills 完全指南 - 暮色之狐 在浏览器中快速编辑代码:VSCode Web 集成实践 - Newbe36524 蒸馏自己 skill?基于 Deepseek 的蒸馏器,丐版蒸馏方式,简单便捷 - To_Carpe_Diem Spring AI Aliababa和AgentScope,哪个更好? - 苏三说技术
这 3 年做教育相关项目,我把一些经验整理成了一个开源 Agent Skills 项目
porschev · 2026-05-21 · via 博客园_首页

过去 3 年,我一直在做教育相关的事情。

这几年接触过很多和教育有关的场景:学生学习、家长陪学、老师备课、作业练习、错题复盘、考试复习、知识点讲解、学习计划等等。

刚开始做 AI 教育时,我也和很多人一样,会很自然地想:

是不是只要写几个 Prompt,套上大模型,就能做一个 AI 老师?

但做了一段时间之后,我越来越觉得,教育场景远比想象中复杂。

教育不是一个简单的“问答场景”。
它更像是一套长期陪伴、持续反馈、不断调整的流程系统。

比如一个学生问:

“这道题我不会。”

这句话背后其实有很多隐含信息:

  • 他是几年级?
  • 当前学到什么阶段?
  • 这道题属于哪个知识点?
  • 他是真的完全不会,还是某一步卡住了?
  • 应该直接讲答案,还是先引导?
  • 要不要补一个类似题?
  • 要不要记录到错题本?
  • 要不要生成复习建议?

如果是家长问同样的问题,输出方式又不一样。
如果是老师问同样的问题,可能需要的是讲解思路、变式题、课堂设计和作业安排。

所以这几年下来,我最大的感受是:

AI 教育真正难的地方,不是让模型“回答”,而是让它在正确的教育场景里做正确的事情。

基于这个思考,我最近把自己这几年做教育相关项目时积累的一些经验,整理成了一个开源项目:

Hermes Edu Skills

GitHub 地址:

https://github.com/zhongweiv/hermes-edu-skills

它不是一个简单的 Prompt 合集,而是一套面向中文教育场景的 Agent Skill Pack

目前项目里已经整理了 170 个可安装 Skill,覆盖:

  • 教材同步
  • 学习能力
  • 每日练习
  • 阅读写作
  • 考试备考
  • 老师工具
  • 家庭教育
  • 语言学习
  • 成人学习

如果你也在做 AI 教育、Agent、学习助手、老师工具、错题系统或者题库产品,希望这篇文章能给你一些参考。


一、这几年做教育项目后,我对 AI 教育有几个变化很大的认知

刚开始看 AI 教育,很容易被“AI 老师”“AI 家教”“拍照答疑”“自动批改”这些概念吸引。

这些当然都很有价值。

但真正做项目之后,我发现教育场景里有几个问题非常关键。


1. 教育不是通用聊天,必须有场景边界

大模型本身很强,但它默认是一个通用助手。

通用助手的问题是:它什么都能说,但不一定知道当前教育任务的边界在哪里。

比如学生问一道数学题,如果模型直接给出完整答案,可能短期看起来很爽,但长期看不一定有利于学习。

更好的方式可能是:

  1. 先判断知识点;
  2. 再判断学生卡在哪一步;
  3. 先给提示;
  4. 再给过程;
  5. 最后给一个类似题巩固。

也就是说,教育 AI 不应该只是“回答正确”,还要考虑“怎么帮助学习真正发生”。

这也是我后来更倾向于用 Skill 来组织能力的原因。

Skill 可以把一个教育任务的目标、边界、输入参数、输出结构提前定义好,而不是每次都让模型临场发挥。


2. 教育产品不能只按“学科”拆能力

很多教育项目一开始会按学科拆:

  • 语文
  • 数学
  • 英语
  • 物理
  • 化学
  • 生物
  • 历史
  • 地理
  • 政治

这个思路没错,但不够。

因为真实使用时,用户不是只说“我要数学”,而是会说:

帮我出 20 道三年级口算题。
帮我复盘这道错题。
帮我做一份期末复习计划。
帮我讲一下八年级下册物理浮力。
帮我写一份家校沟通话术。
帮我生成一份课堂练习。
帮我陪孩子背古诗。

这些任务同时涉及:

  • 学段
  • 学科
  • 教材
  • 角色
  • 任务类型
  • 输出形式
  • 使用频率

所以 Hermes Edu Skills 在设计时,没有只按学科拆,而是结合了“产品场景”和“教育任务”。

比如:

  • 教材同步是一类;
  • 错题复盘是一类;
  • 每日练习是一类;
  • 老师工具是一类;
  • 家庭教育又是一类。

这种拆法更接近真实产品,也更方便后续接入 Agent。


3. 教育 Agent 需要长期记忆,但不能什么都记

这几年做教育相关项目时,我经常会思考一个问题:

AI 学习助手到底应该记住什么?

它当然应该记住一些长期有用的信息,比如:

  • 学生年级
  • 教材版本
  • 薄弱知识点
  • 常错题型
  • 学习目标
  • 每天练习情况
  • 近期考试安排

但它不应该什么都记。

教育场景里的记忆应该服务于学习,而不是变成一个杂乱的聊天记录仓库。

所以如果以后要基于 Hermes Edu Skills 做完整教育 Agent,我觉得比较合理的结构是:

短期上下文:当前对话、当前题目、当前任务
阶段记忆:最近一周 / 一个单元的学习情况
长期画像:年级、教材、能力水平、薄弱点
学习事件:错题、练习、测试、复习记录
反馈机制:根据学习结果调整后续任务

Skill 在这里扮演的角色,就是让每一次学习行为变得更结构化,方便后续记录、分析和调整。


4. 家长、学生、老师其实需要的是不同的 AI

同样是教育,但不同角色的需求完全不同。

学生需要的是:

  • 讲得懂
  • 不打击人
  • 能一步一步引导
  • 能及时练习
  • 能帮他从不会到会

家长需要的是:

  • 知道孩子哪里不会
  • 知道怎么陪学
  • 知道怎么沟通
  • 知道什么时候该帮,什么时候该放手

老师需要的是:

  • 备课更快
  • 出题更方便
  • 作业更有层次
  • 班级学情更清楚
  • 家校沟通更省力

所以一个教育 Agent 如果只用一个统一 Prompt 服务所有人,很容易失控。

我的做法是把不同角色的任务拆到不同 Skill 里。

这不一定是唯一答案,但至少在工程上更容易维护,也更容易逐步迭代。


二、为什么我最后选择用 Skill Pack 的方式整理这些能力

这几年我尝试过很多方式来组织 AI 教育能力。

最早可能就是简单 Prompt。

比如:

你是一个小学数学老师,请帮我……

这种方式上手很快,也适合验证想法。

但问题也很明显:

  • Prompt 越写越长;
  • 很多内容重复;
  • 不同能力之间边界不清楚;
  • 很难做版本管理;
  • 很难复用;
  • 很难接入工具链;
  • 也很难让 Agent 自动选择。

后来我越来越觉得,教育 AI 需要的不是一堆散乱 Prompt,而是一套可以被发现、安装、调用、组合和维护的能力系统。

这就是 Hermes Edu Skills 的基本思路。

每个 Skill 都是一个相对独立的教育能力单元。

它可以描述:

  • 这个 Skill 解决什么问题;
  • 适合什么角色;
  • 需要哪些输入参数;
  • 输出应该是什么结构;
  • 应该遵守哪些教育原则;
  • 什么时候不应该使用;
  • 是否需要工具调用;
  • 是否适合和其他 Skill 组合。

这种方式更像是在搭一个教育 Agent 的“能力库”。


三、Hermes Edu Skills 现在是什么状态

目前这个项目已经整理了 170 个可安装 Skill

整体分成 9 大类:

  1. 教材同步
  2. 学习核心能力
  3. 每日练习
  4. 阅读写作
  5. 考试备考
  6. 教师工具
  7. 家庭教育
  8. 语言学习
  9. 成人与职业学习

项目里不只是放 Markdown 文件,还包含了:

skills/                         具体 Skill 内容
catalog.json                    Skill 目录索引
.well-known/skills/index.json   Skill discovery 入口
bin/hermes-edu-skills.mjs       CLI 入口
scripts/validate.mjs            校验脚本
scripts/agent-pack.mjs          Agent Pack 导出脚本
CONTRIBUTING.md                 贡献说明
SECURITY.md                     安全说明
.github/workflows/validate.yml  GitHub Actions 校验流程

也就是说,它不是一个临时整理的文档仓库,而是尽量按照一个可维护、可扩展、可安装的开源包来设计。


四、技术设计上,我重点考虑了几个问题

1. Skill 的颗粒度不能太粗,也不能太细

这是我觉得教育 Agent 设计里很重要的一点。

如果 Skill 太粗,比如只有一个:

education-assistant

那它又变成了万能 Prompt,内部逻辑会越来越复杂。

但如果 Skill 太细,比如拆成:

一年级上册语文第一课
一年级上册语文第二课
二年级上册数学第一单元第一课时
八年级物理浮力选择题
八年级物理浮力填空题

那数量会爆炸,也很难维护。

所以我现在更倾向于:

能力按任务拆,具体年级、教材、单元、知识点作为参数传入。

比如“教材同步学习”可以是一个 Skill,但它需要支持:

  • 学段
  • 年级
  • 学科
  • 教材版本
  • 册别
  • 单元
  • 课时
  • 知识点
  • 难度
  • 输出类型

这样既保留了教育场景的结构,又避免把 Skill 拆成无限多个碎片。


2. Skill 要能被机器读取,而不是只给人看

如果只是给人看,README 写清楚就够了。

但 Agent 需要的是可读取、可匹配、可安装、可调用。

所以项目维护了:

catalog.json
.well-known/skills/index.json

这两个文件的作用类似于 Skill Registry 的索引层。

未来无论是 Hermes Agent,还是其他 Agent Runtime,都可以通过索引知道:

  • 有哪些 Skill;
  • 每个 Skill 属于什么分类;
  • slug 是什么;
  • 路径在哪里;
  • 适合什么任务;
  • 如何安装或导出。

这也是我没有只做“文章式整理”的原因。

开源项目要想真正被复用,结构化索引很重要。


3. CLI 是为了降低使用门槛

教育项目里有一个常见问题:

设计得很完整,但用户跑不起来。

所以我加了 CLI。

目前可以通过类似下面的命令使用:

# 安装全部 Skill 到 Hermes Agent
npx hermes-edu-skills install hermes --config ~/.hermes/config.yaml

也可以按分类安装:

# 只安装教材同步分类
npx hermes-edu-skills install hermes textbook-sync --config ~/.hermes/config.yaml

搜索 Skill:

npx hermes-edu-skills search 错题

查看 Skill:

npx hermes-edu-skills info agent-mistake-review

自然语言匹配 Skill:

npx hermes-edu-skills ask "帮我出5道八年级下册物理力学选择题"

我个人非常看重 ask 这种方式。

因为真实用户不会记住 Skill 名称。

用户只会说自然语言。

所以一个好的 Agent Skill 系统,不能要求用户先理解内部结构,而应该通过路由层自动匹配合适的能力。


4. 校验机制很重要

Skill 一多,最容易出问题的是一致性。

比如:

  • catalog 里有,但文件不存在;
  • 文件存在,但 catalog 没登记;
  • frontmatter 不完整;
  • 分类写错;
  • 作者字段缺失;
  • discovery index 不一致。

这些问题手动检查非常痛苦。

所以项目里加了校验脚本和 GitHub Actions。

每次提交时都可以检查:

  • Skill 数量;
  • 索引一致性;
  • frontmatter;
  • source;
  • author;
  • discovery index。

这对开源项目很重要。

因为只有结构稳定,别人以后才敢基于它二次开发。


五、这个项目适合谁参考

我觉得 Hermes Edu Skills 不只是给 Hermes Agent 用户看的。

如果你在做下面这些方向,也可以参考里面的设计:

  • AI 学习助手
  • 拍照答疑
  • 错题本
  • AI 老师
  • 智能题库
  • 老师备课工具
  • 家校沟通工具
  • 教育 SaaS
  • 儿童陪学产品
  • 成人学习助手
  • Agent Runtime
  • Skill Registry
  • Prompt 工程化管理

你可以直接使用其中的 Skill,也可以只参考它的分类方式、命名方式、参数设计和 CLI 思路。

尤其是如果你正在做中文教育场景,我觉得它能节省不少前期梳理成本。

因为教育场景最麻烦的地方,往往不是模型调用,而是“到底应该拆哪些能力”。


六、我对教育 Agent 后续的一些判断

这几年做下来,我越来越觉得,教育 AI 会从“聊天式产品”慢慢走向“任务式 Agent”。

也就是说,未来用户不是打开一个聊天框随便问,而是进入一个具体学习流程:

今天要练什么?
哪里薄弱?
错题怎么复盘?
下一步补什么?
多久复习一次?
老师怎么布置?
家长怎么看结果?

在这个过程中,大模型只是其中一层。

完整系统还需要:

  • Skill 路由
  • 学习记忆
  • 知识点图谱
  • 题目生成
  • 答题记录
  • 错题分析
  • 阶段报告
  • 家校沟通
  • 长期反馈

Hermes Edu Skills 现在只是其中的 Skill 层。

但我觉得这是一个很重要的基础层。

因为只有先把教育任务拆清楚,后面的记忆、工具、知识库、题库和评测才有落点。


七、为什么选择开源

选择开源,一方面是希望这个项目能被更多人看到、使用和反馈。

另一方面,也是因为我觉得中文教育 AI 还有很多基础工作值得大家一起做。

现在很多 AI 应用都在追热点,但教育不是一个短平快的方向。

它需要长期打磨:

  • 要懂教材;
  • 要懂学生;
  • 要懂家长;
  • 要懂老师;
  • 要懂考试;
  • 还要懂产品和工程。

一个人很难把所有场景都做完。

所以我希望先把自己这几年沉淀的一部分东西拿出来,作为一个开放起点。

如果有人愿意基于它继续扩展 Skill、优化分类、接入更多 Agent Runtime、补充更多教材场景,那这个项目就更有意义。


八、后续计划

后面我准备继续做这些事情:

  • 继续补充更多高质量 Skill;
  • 完善 Skill 的质量等级和审核状态;
  • 增加更多教材同步场景;
  • 补充更多使用示例;
  • 支持更多 Agent Runtime 导出;
  • 增强自然语言 Skill 匹配能力;
  • 补充工具调用场景;
  • 探索和长期学习记忆结合;
  • 整理更多教育 Agent 产品化实践。

如果后续 Hermes / OpenClaw / Codex / Cursor / Claude Code 等工具链都有更成熟的 Skill 机制,我也会继续适配。


最后,欢迎交流,也求一个 Star

如果你也在关注 AI 教育、Agent、老师工具、错题系统、学习助手、中文教育场景,欢迎看看这个项目:

https://github.com/zhongweiv/hermes-edu-skills

如果觉得这个方向有价值,也欢迎帮忙点一个 Star。

这个 Star 对我来说,不只是一个数字。
它更像是一个反馈:说明这个方向有人关注,也说明中文教育 Agent 的基础能力建设值得继续做下去。

我也欢迎大家提 Issue、提建议、提 PR,或者只是聊聊你在教育 AI 场景里遇到的问题。

这几年做教育相关项目,我最大的感受是:

教育 AI 不应该只追求“回答得像老师”,
更应该追求“真的能帮助学习发生”。

希望这个项目能成为一个小小的起点。