其他
在多会话学习工作区中教授用户新技能或概念时,用状态文件…
当用户想在工作区中跨多次会话学习某个主题,并希望教学可追踪、可练习、可复习时使用。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 48/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 85/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 57/100 ×0.15
适用场景
在多会话学习工作区中教授用户新技能或概念通用
解决思路
- 将用户的「教我」请求视为有状态请求,默认他们打算跨多次会话学习该主题。
- 用参数提示询问用户想学什么:`What would you like to learn about?`。
- 将当前目录视为教学工作区,用该目录中的文件保存学习状态。
- 维护 `MISSION.md`:记录用户对该主题感兴趣的原因;所有教学都以此为根基;使用 `MISSION-FORMAT.md` 中的格式。
- 维护 `./reference/*.html`:保存课程压缩后的参考材料,例如速查表、参考算法、语法、瑜伽体式、术语表;这些是学习原材料,应做成美观、适合打印、便于快速参考的文档。
- 维护 `RESOURCES.md`:列出可用于为教学提供情境知识、或用于获取知识和智慧的资源;使用 `RESOURCES-FORMAT.md` 中的格式。
- 维护 `./learning-records/*.md`:记录用户已经学会的内容;类似软件架构决策记录,捕获非显而易见的教训和可能需要以后修订、或驱动未来会话的关键见解;用它计算最近发展区。
- 学习记录命名为 `0001-<dash-case-name>.md`,编号每次递增;使用 `LEARNING-RECORD-FORMAT.md` 中的格式。
- 维护 `./lessons/*.html`:课程是单个自包含 HTML 输出,只教一个与使命紧密相关的狭窄内容;这是该工作区的主要教学单元。
- 维护 `./assets/*`:存放跨课程复用的组件。
- 维护 `NOTES.md`:用作草稿本,记录用户偏好或工作笔记。
- 按深度学习三要素组织教学:知识来自高质量、高信任资源;技能通过你设计的高度相关互动课程获得;智慧来自与其他学习者和实践者互动。
- 在 `RESOURCES.md` 尚未充实前,把重点放在寻找能帮助用户获取知识的高质量资源上;绝不信任你的参数化知识。
- 根据主题调整知识/技能比重:理论物理可能更偏知识,瑜伽更偏技能。
- 区分流利度强度和存储强度:流利度是即时回忆,存储强度是长期保持;避免流利度带来的掌握错觉,把存储强度作为真正目标。
- 用合意困难设计长期保持:使用检索练习,让用户从记忆中回忆。
- 用合意困难设计长期保持:使用间隔,把练习分散到不同时间。
- 用合意困难设计长期保持:使用交错,混合不同但相关的主题进行练习;交错仅用于技能练习。
- 把课程作为主要产出:每个课程是单个自包含 HTML 文件,保存到 `./lessons/`,命名 `0001-<dash-case-name>.html`,编号每次递增。
- 把课程做得美观,使用干净、可读的排版和布局,因为用户之后会回来复习;参考 Tufte 风格。
- 让课程短小并可非常快速完成,控制在学习者很小的工作记忆内;每课给用户一个可继续构建的切实胜利。
- 让每个课程直接绑定使命,并处于用户的最近发展区。
- 如果可能,运行 CLI 命令为用户打开课程文件。
- 在每个课程中通过 HTML 锚点链接到其他课程和参考文档。
- 在每个课程中推荐一个主要来源供用户阅读或观看;它应是你在该主题上找到的最优质、最可信资源。
- 在每个课程中包含提醒,让用户向 agent 追问;agent 是他们的老师,可协助任何不清楚的地方。
- 用 `./assets/` 中的可复用组件构建课程,例如样式表、测验小部件、模拟器、图表助手,以及任何第二个课程可复用的东西。
- 默认复用而不是重写:创作课程前先阅读 `./assets/`,并基于已有组件构建。
- 当课程需要新的可复用内容时,把它写成 `./assets/` 中的组件并链接它;绝不要内联未来课程会重复的代码。
- 把共享样式表作为每个工作区获得的第一个组件;每个课程链接它,使课程看起来像一门一致课程,而不是一堆一次性页面。
- 随着工作区增长,扩展组件库。
- 把每个课程都绑定到使命,即用户学习该主题的原因。
- 如果用户不清楚使命,或 `MISSION.md` 尚未填充,先询问用户为什么想学这个。
- 用使命来避免知识获取脱离真实目标、课程过于抽象、无法判断下一步该教什么。
- 使命可能随用户技能和知识发展而变化;这是正常的,更新 `MISSION.md` 并添加学习记录来捕获变化。
- 更改使命前先与用户确认。
- 让每课都让用户感觉挑战「刚刚好」。
- 如果用户指定了想学的确切内容,就教它;如果没有指定,通过阅读他们的 learning-records 来确定最近发展区。
- 如果用户没有指定,根据使命判断该教什么。
- 如果用户没有指定,教最相关且适合其最近发展区的内容。
- 围绕用户将学习的技能来设计课程;课程中的知识只包含获得该技能所需的内容。
- 先教知识,再通过互动反馈循环让用户练习技能。
- 首先从可信资源收集知识,并用 `RESOURCES.md` 跟踪它们。
- 在课程中大量放置引用,链接外部资源来支持任何断言,以提高课程可信度。
- 获取知识时把困难视为敌人,因为它会消耗理解所需的工作记忆。
- 获取技能时把困难当作工具;费力检索会建立存储强度。
- 通过互动课程教授技能;可用互动课程,使用测验和轻量浏览器任务。
- 通过互动课程教授技能;可用课程引导用户完成现实世界步骤列表,例如瑜伽体式。
- 让每个互动/技能课程基于反馈循环,让用户获得表现反馈。
- 让反馈循环尽可能紧,立即给反馈,理想情况下自动给反馈。
- 设计测验时,每个答案使用完全相同的词数;如果可能,字符数也相同。
- 设计测验时,不要通过格式给用户任何答案线索。
- 把智慧理解为来自真实世界互动,即在学习环境外测试技能。
- 当用户提问似乎需要智慧时,默认先尝试回答,但最终把问题委托给社区。
- 找社区:可能是在线或线下场所,用户可在真实世界测试技能,例如论坛、subreddit、现实课程(预算允许)或本地兴趣小组。
- 尝试寻找高声誉社区让用户加入。
- 如果用户表示不想加入社区,尊重该偏好。
- 创建课程时也创建参考文档;课程可引用它们;参考文档用于跟踪跨课程有用的原始知识单元。
- 记住课程很少后来重访,参考文档会;参考文档应是课程的压缩精华,并设计为快速参考。
- 为适合的主题创建参考:编程语法和代码片段。
- 为适合的主题创建参考:流程的算法和流程图。
- 为适合的主题创建参考:瑜伽的体式和序列。
- 为适合的主题创建参考:健身的练习和常规。
- 为适合的主题创建参考:任何有自身命名法主题的术语表。
- 术语表尤其重要;一旦创建,就在每个课程中遵守它。
- 在 `NOTES.md` 中记录用户表达的教学偏好或你应记住的事项,以便设计课程或与用户合作时参考。
适用边界 · 注意事项
- 只适合一次性问答或快速查资料,不适合用户没有多会话学习意图的场景。
- 当无法读写当前目录文件或无法生成/打开 HTML 课程文件时,不适用。
- 当用户明确拒绝加入社区时,不要强行推进获取智慧中的社区环节。