OpenMAIC 螺旋式课程设计 Skill 完全指南:用概念脊柱驱动系列课的结构性升阶重访
OpenMAIC 螺旋式课程设计 Skill 完全指南用概念脊柱驱动系列课的结构性升阶重访【免费下载链接】OpenMAICOpen Multi-Agent Interactive Classroom — Get an immersive, multi-agent learning experience in just one click项目地址: https://gitcode.com/GitHub_Trending/op/OpenMAIC导读本文基于 OpenMAIC Agent Runtime 内置的spiral-curriculumSkill定义于 skills/agent-runtime/spiral-curriculum/SKILL.md展开讲解如何为一组系列课堂建立布鲁纳Bruner式螺旋课程架构让少数核心概念在整个系列中反复回来并且每次回来都发生结构性升阶而不是线性铺排或机械复习。读完本文你将掌握概念脊柱、遭遇史、升阶操作符、Spiral Contract、两层设计流程与假螺旋检查这套完整方法论并理解它在 OpenMAIC 中对应的工具调用链与仓库源码实现。一、Skill 定位与触发边界spiral-curriculum是 OpenMAIC Agent Runtime 的系列课规划 Skill与同目录下的stage-design单节课堂创建基线、curriculum-planner多课堂文件夹与批量交付组合使用。它的 frontmatter 声明了触发语义何时使用用户明确要求布鲁纳式螺旋课程、渐进式概念重访或希望以理解如何发展为主线组织系列课何时不使用单节独立课走stage-design 主题 Skill、只要求顺序覆盖内容而无概念升阶重访走curriculum-planner、风格复制或 PPT 导入走style-clone/pptx-import。在 OpenMAIC 中Skill 的最小设计对象不是某一节课的目录而是概念脊柱 每个概念的遭遇史。每个 Skill 由目录名作为唯一契约 id从 lib/server/agent-runtime/skills.ts 中描述的LoadedSkill含id、title、description、content、constraints等字段加载目录位置可通过OPENMAIC_AGENT_SKILLS_DIR环境变量覆盖默认指向${process.cwd()}/skills/agent-runtime见 lib/server/agent-runtime/config.ts。工作台界面中该 Skill 以螺旋式课程设计 / Spiral curriculum design展示见 lib/i18n/workbench.ts 与 L450 的中英文词条。二、第一原则Revisit 不等于 Review第 1 课讲概念、第 3 课复习概念、第 6 课再复习不是螺旋。每次重访必须明确回答这一次比上一次多了什么原 Skill 给出了六个升维维度维度初次接触后续重访复杂度单一关系多变量相互作用抽象度具体案例一般模型关系密度孤立概念与更多概念连接表征方式直观经验图示、模型、符号迁移距离熟悉情境陌生情境、跨领域边界与反例正例反例、边界、局限判定规则很硬如果一次回来没有在任何维度更高就只是重复必须重写。这也是下文假螺旋检查的第一条判据Repeated, not spiraled的正面表达。三、页面内容红线规划语言不下沉Concept Spine、encounter、growth operator、Spiral Contract、revisit、概念脊柱、遭遇史、●/▲/◆等属于教师侧规划语言可以出现在对话、架构和页面 brief 中但不得出现在学生可见的标题、标签或正文。两条具体执行规则本次比上次多了什么写进 brief不写成学生页面上的复杂度升级标签老师与代理的口述走 narration / actions不写成老师说学生说的静态正文。这条红线与feynman-learning、stage-design中规划黑话留在教师侧、学生页面只呈现可执行动作的约定一脉相承是 OpenMAIC 所有教学法 Skill 共享的内容纪律。四、概念脊柱Concept Spine先立观念再排课时不要先排课时清单。先回答整个系列结束后学生真正应该建立哪几个能够反复使用和迁移的核心观念每个核心概念写成一句可迁移的理解而不是一个名词例如函数是把重复过程命名并可复用的思维单元而非函数二字一个系列通常选择3–6 个核心概念过多会导致每课浅尝辄止每个概念同时声明初始理解目标和最终理解目标作为 Learner Progression 的两个端点可先结合understanding-by-designskills/agent-runtime/understanding-by-design/SKILL.md确定大概念、基本问题与表现性证据再用本 Skill 安排跨课升阶重访——两个 Skill 的分工是UbD 负责理解什么、如何证明螺旋负责概念如何跨课升级地回来。五、Spiral Map为每个概念维护遭遇史为每个核心概念维护跨课遭遇史标准演进路径为直觉经验 → 机制解释 → 多变量关系 → 形式化模型 → 陌生情境迁移 → 与其他概念整合。教师侧 Spiral Map 使用三个符号标记符号含义●首次接触▲深化◆综合与迁移关键约束每个标记旁边还必须写明本次新增结构——只有符号、没有升阶说明的表格没有价值。Spiral Map 本质上就是每个概念的遭遇史 每次回来的新增量的可视化记录。六、规划一次重访四个决策对每个concept previous encounter target growth组合决定四件事保留什么哪些已有理解不需要重新教学避免把旧内容当新课再讲一遍增加什么本轮新增的内容或条件对应升阶操作符选型重组什么哪些孤立知识需要组成机制或关系对应关系密度维度迁移到哪里用哪个新情境检验概念结构对应迁移距离维度。这四个决策同时回答了第一原则的追问——这一次比上一次多了什么——并把答案落到 brief 而非学生页面。七、升阶操作符Growth Operators结构升级的最小动作集Skill 定义了七种升阶操作符作为本次重访升在哪的原子表达操作符含义ADD_COMPLEXITY增加变量或相互作用ADD_RELATION让当前概念与另一个概念形成必要关系ABSTRACT从案例上升到一般模型FORMALIZE引入符号、模型或专业语言CHANGE_REPRESENTATION在操作、图像模型和符号表征之间重构概念不机械套成固定课次顺序INCREASE_TRANSFER_DISTANCE逐渐进入更陌生或跨领域的情境ADD_EXCEPTION加入反例、边界、约束或局限使用纪律一次重访通常选择 1 个主操作符和少量辅助操作符不要一次叠满所有操作符——那只会堆难度不会加深理解。例如首次引入函数时主操作符用ADD_RELATION函数与变量、流程的关系第二次回来换CHANGE_REPRESENTATION从口述流程到画流程图再到符号表达第三次再上INCREASE_TRANSFER_DISTANCE跨到非编程领域找把过程命名并复用的例子。八、概念记忆螺旋依赖跨 stage 的共享记忆螺旋依赖跨 stage 的共享记忆而平台不会替本 Skill 自动维护概念模型因此必须由 Agent 在当前对话中保存教师侧运行记录至少包含 10 项字段concept id encounter history representation history complexity level known relations misconceptions detected examples used transfer distance mastery evidence next revisit target开始下一课前必须使用read_stage_outline回读前面课堂的持久化页面列表而非信任原计划需要核对真实内容时继续用read_stage。这条纪律在仓库后端有对应实现read_stage_outline工具lib/server/agent-runtime/curriculum-tools.ts返回某 stage 的标题与页面列表order/title/type并通过mergeStageOutline把真实已生成的 scenes与仍处于 planned 状态的 outline 条目做联合视图保证回读的是课堂实际落盘内容。工具本身按会话 owner 做 fail-closed 的权限隔离foreign stage 一律拒绝——这也是跨课读取安全边界的一部分。九、每课的 Spiral Contract七字段重访契约每个 stage 在教师侧规划中必须有一份 contract原 Skill 定义了七字段returning_concepts哪些旧概念回来new_concepts哪些概念第一次出现added_complexity比之前复杂或抽象在哪里new_relation新增了什么概念关系representation_shift是否更换表征transfer_target进入哪个新情境future_hook故意留下什么供后续重访。一个典型的第三课 contract 示例{ returning_concepts: [函数, 循环], new_concepts: [递归的直觉前奏], added_complexity: 从单层调用升级为调用链一个函数体内出现另一个函数调用, new_relation: 函数与循环把重复迭代封装为可调用单元, representation_shift: 从自然语言流程图升级为伪代码符号, transfer_target: 把命名并复用过程迁移到做饭步骤组织, future_hook: 故意留下递归为什么可行的缺口第五课才闭合 }future_hook允许productive incompleteness早期先建立可用但不完整的模型后续再重组不要求每课把概念彻底讲完。这是螺旋区别于线性讲完再复习的关键机制——每课都留一根线由后续课拉起来。十、两层设计先架构后生成第一层Spiral Architecture对话中确认先在对话中产出并请用户确认五件事Concept Spine每个核心概念的初始与最终理解目标Course Timeline各课的主题和任务Concept Spiral Map每个概念何时出现、何时回来、每次增加什么Learner Progression学生理解应怎样逐课变化每课的 Spiral Contract 和概念交叉点。使用ask_user让用户能调整课时数、概念出现时机、深度与交叉关系。架构未确认前不要创建课堂。这一步与curriculum-planner的 Gate 2 确认门禁一致系列课是单节课数倍的工作量用户必须在任何 stage 创建之前看到完整蓝图skills/agent-runtime/curriculum-planner/SKILL.md 中明确 Never start building before the user has signed off on the full series。第二层Generate Lessons架构确认后批量交付架构确认后默认把整个已批准系列持续建到完成不在每课之间重复停下确认除非用户明确要求分批验收。执行序列create_folder创建系列文件夹工具实现于 lib/server/agent-runtime/curriculum-tools.tsfolderId是后续 stage 归类的锚点每课调用create_stage传入该folderId使 stage 在创建的同时归档进文件夹不留在 ungrouped 区每课先set_roster再按批准计划逐页generate_scene需要补写旁白时逐页generate_actions修改旁白后补generate_tts使用list_scenes、read_stage_outline和read_stage验收持久化结果开始后续课堂前更新概念记忆。工具调用顺序由stage-designskills/agent-runtime/stage-design/SKILL.md约束create_stage → set_roster → 逐页 generate_scene → list_scenes → read_stage 校验 speech action 的 audioId → 缺失则 generate_tts。螺旋 Skill 在此之上增加跨课编排但不改变单课构建序列。架构本身只留在教师侧规划中不生成成学生页面。十一、假螺旋检查六种失败模式整套系列完成后逐概念对照检查命中任一项即回到对应 Spiral Contract 修改页面 brief 或课程安排再重新验收失败模式症状Repeated, not spiraled同一概念多次出现但复杂度没有提升Vocabulary inflation后面只增加术语没有增加结构理解Linear curriculum每课都是新内容旧概念不回来Review curriculum所谓回顾只发生在单元最后Context repetition概念回来时情境和表征完全相同Difficulty escalation without conceptual deepening后面只是题目更难不是概念更深注意这六条都是症状 → 定性对而非定量阈值——判定依据是教师侧记录的遭遇史与升阶操作符是否真实落地。十二、完成标准一次完整的螺旋课程系列交付必须同时满足每个概念都有初始理解目标、最终理解目标和完整遭遇史每次重访都标明主升阶操作符及新增结构每课都有七字段 Spiral Contract架构先确认确认后整个系列被持续持久化到文件夹中每课实际内容已回读概念记忆不是只依赖原计划学生可见文字不包含螺旋元数据、规划黑话或角色台词每课仍满足stage-design的页面、roster、持久化与音频完成标准所有 speech action 必须有audioId旁白改词后必须重新generate_tts否则页面静音输出系列通过假螺旋检查。十三、与其他教学法 Skill 的关系OpenMAIC 的 agent-runtime Skill 体系是组合而非替代关系understanding-by-design先确定大概念、基本问题和表现性评估本 Skill 负责让这些概念跨课升阶重访——一个是目标设计一个是升阶编排feynman-learning在一节课堂内推动解释反复外化和重建学习者先讲、暴露最小缺口、追问补链、去术语、拆类比、迁移、留学习记录本 Skill 在整个系列中安排概念反复回来——一个在单课内螺旋一个在系列间螺旋learning-to-learn与social-emotional-learning是平行目标只有服务当前概念重访时才嵌入不另起课程主线。十四、仓库落地Skill 如何被加载与约束从源码角度理解本 Skill 的运行机制加载入口skillsDir由OPENMAIC_AGENT_SKILLS_DIR覆盖默认${process.cwd()}/skills/agent-runtimelib/server/agent-runtime/config.tsSkill 的 id 即目录名是 Agent 匹配与读取的契约title为展示名lib/server/agent-runtime/skills.ts 中LoadedSkill类型注释明确 The id is the contract跨课工具系列层工具create_folder、move_to_folder、list_folder_stages、read_stage_outline全部集中在 lib/server/agent-runtime/curriculum-tools.ts带 owner 作用域与 fail-closed 权限校验且每个 execute 都在 IO 边界重新检查 abort signal单课工具create_stage、set_roster、generate_scene、list_scenes、read_stage、patch_stage、generate_actions、generate_tts等由stage-design与stage-dslskills/agent-runtime/stage-dsl/SKILL.md给出读写路径约定例如read_stage用path:/scenes/order|sceneId定位单页、用detail:source检查 speech action 的audioId约束体检若配置了outline-constraints.json运行时会在每页生成后对照真实 stage 做结构体检spiral-curriculum本身未配置结构化约束文件其约束主要落在对话规划层面——这也意味着假螺旋检查是教师侧执行的责任而非运行时自动完成。结语螺旋式课程设计 Skill 的核心交付物不是课堂页面而是概念脊柱 遭遇史 升阶操作符 Spiral Contract这一整套教师侧架构。在 OpenMAIC 中它的边界清晰架构在对话中确认课堂在确认后批量持久化假螺旋检查在交付前兜底。若要从零搭建一个系列建议按 skills/agent-runtime/spiral-curriculum/SKILL.md 原文、配合 stage-design 与 curriculum-planner 三份文档组合阅读再对照 curriculum-tools.ts 理解每一步调用在后台的真实落盘行为。【免费下载链接】OpenMAICOpen Multi-Agent Interactive Classroom — Get an immersive, multi-agent learning experience in just one click项目地址: https://gitcode.com/GitHub_Trending/op/OpenMAIC创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考