再学 AI
第 07 课 / teach
当前 · 通用阅读 → 对照 → 问答 → 场景

用持续的教学记录支持理解与复习

这份技能与本课程最贴近:先明确学习使命,以可信资料讲知识,再通过问答和后续练习形成能力。

还不清楚 Skill、Agent、安装和调用?先读 从零开始的6节入门课

在关系图中查看 teach 与其他技能的关联 →

先把必要的概念讲清楚

这份 skill 与你的学习目标直接相关。它要求课程围绕真实目的展开,把知识、练习反馈与现实应用分开组织,并保留学习记录以便下一课接着教。

下面是老师补充的入门说明;原作者的要求保留在中英对照正文中。所有例子均为帮助理解而构造的教学情境。

knowledge / skill / wisdom|知识、技能与实践判断

知识是知道规则,技能是在情境中能完成操作,实践判断是面对例外、不确定性和真实反馈作出取舍。读懂 TDD 定义是知识;能让测试先失败再正确通过是技能;知道一次性试验不值得建立整套流程,需要实践判断。

context|Agent 当前可用的上下文

模型这一轮实际能使用的请求、对话、指令和已读文件内容。它不是电脑上所有资料,也不是永久记忆。文件存在但没被读到,就不一定参与推理。交接文档应指明当前目标、进度、关键证据位置和下一步,让新会话能够恢复必要背景。

grounding|先把读者需要的概念讲明白

在这些写作 skill 中,grounding 指读者已理解某概念,后文才能依赖它。先解释测试接入点,再说高层入口能减少维护,读者才跟得上。这里不是检索系统中“用来源约束事实”的另一个常见含义,同词要按上下文理解。

读原文,理解每一步为什么这样做

左右内容按小节对应;窄屏先中文、后英文。两种语言均完整展示,对应讲解紧接在小节之后。译文传达原文要求;老师讲解补充概念、原因、例子与适用边界。

中文译文English · 英文原文
中文译文
name: teach
description: "在这个工作区中,教用户一项新技能或一个新概念。"
disable-model-invocation: true
argument-hint: "你想学习什么?"
English · 英文原文
name: teach
description: Teach the user a new skill or concept, within this workspace.
disable-model-invocation: true
argument-hint: "What would you like to learn about?"
中文译文

用户请你教他学习某个主题。这不是只回答一次问题,而是一项需要保存状态、跨多个会话继续的学习任务。

English · 英文原文

The user has asked you to teach them something. This is a stateful request - they intend to learn the topic over multiple sessions.

中文译文

学习工作区

将当前目录作为学习工作区,通过下面的文件保存学习情况:

  • 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:记录用户的教学偏好和工作笔记。
English · 英文原文

Teaching Workspace

Treat the current directory as a teaching workspace. The state of their learning is captured in this directory in several files:

  • MISSION.md: A document capturing the reason the user is interested in the topic. This should be used to ground all teaching. Use the format in MISSION-FORMAT.md.
  • ./reference/*.html: A directory of reference materials. These are the compressed learnings from the lessons - cheat sheets, reference algorithms, syntax, yoga poses, glossaries. They are the raw units of learning. They should be beautiful documents which print out well, and are designed for quick reference.
  • RESOURCES.md: A list of resources which can be explored to ground your teaching in contextual knowledge, or to acquire knowledge and wisdom. Use the format in RESOURCES-FORMAT.md.
  • ./learning-records/*.md: A directory of learning records, which capture what the user has learned. These are loosely equivalent to architectural decision records in software development - they capture non-obvious lessons and key insights that may need to be revised later, or drive future sessions. These should be used to calculate the zone of proximal development. They are titled 0001-<dash-case-name>.md, where the number increments each time. Use the format in LEARNING-RECORD-FORMAT.md.
  • ./lessons/*.html: A directory of lessons. A lesson is a single, self-contained HTML output that teaches one tightly-scoped thing tied to the mission. This is the primary unit of teaching in this workspace.
  • ./assets/*: Reusable components shared across lessons. See Assets.
  • NOTES.md: A scratchpad for you to jot down user preferences, or working notes.
老师讲解 · 对应上方原文 · 含教学举例

学习记录为什么不能只记“今天看了哪一课”

MISSION.md 记录为什么学,课程文件负责讲一个范围明确的主题,参考资料用于以后速查,学习记录保存不明显的认识和误解变化。这些文件职责不同。

例如“今天读了 TDD”只是活动记录;“我原以为测试全绿就是需求完整,现在知道缺失需求可能根本没写测试”才是会影响后续教学的认识。老师应据此决定下一课是否讲验收覆盖。

这种状态记录不需要一开始堆满模板。有真实目标、资料和学习发现时逐步记录,才能服务教学。

中文译文

教学理念

深入学习需要三类东西:来自可靠资源的知识;通过紧贴实际的交互课程练成的技能;通过与其他学习者和实践者交流获得的判断经验。

资源清单还不充分时,优先寻找高质量材料。作者要求不要仅信赖模型参数中记住的知识。

不同主题的侧重点不同。理论物理可能更偏知识理解;瑜伽则更偏实际动作能力。

English · 英文原文

Philosophy

To learn at a deep level, the user needs three things:

  • Knowledge, captured from high-quality, high-trust resources
  • Skills, acquired through highly-relevant interactive lessons devised by you, based on the knowledge
  • Wisdom, which comes from interacting with other learners and practitioners

Before the RESOURCES.md is well-populated, your focus should be to find high-quality resources which will help the user acquire knowledge. Never trust your parametric knowledge.

Some topics may require more skills than knowledge. Learning more about theoretical physics might be more knowledge-based. For yoga, more skills-based.

中文译文
当下想得起来,与长期记得住

区分两种学习表现:

  • 提取流畅程度:此刻能否迅速想起某项知识。
  • 长期保持程度:一段时间以后能否仍然保留并使用。

当下读起来熟悉,可能造成已经掌握的错觉;长期保持才是目标。可以通过有益的练习难度促进保持:不看答案回忆,分散时间练习,以及在技能练习中交替安排不同但相关的题目。

English · 英文原文
Fluency vs Storage Strength

You should be careful to split between two types of learning:

  • Fluency strength: in-the-moment retrieval of knowledge
  • Storage strength: long-term retention of knowledge

Fluency can give the user an illusory sense of mastery, but storage strength is the real goal. Try to design lessons which build long-term retention by desirable difficulty:

  • Using retrieval practice (recall from memory)
  • Spacing (distributing practice over time)
  • Interleaving (mixing up different but related topics in practice - for skills practice only)
老师讲解 · 对应上方原文 · 含教学举例

看懂当下,不等于过几天还能判断

熟悉感会让人以为已经掌握。刚读完 seam 的解释,能重复“测试接入点”,属于当下容易提取;一周后面对新功能能选合适入口,才体现更牢固的理解。

提取练习让你不看答案先解释;间隔练习把复习分到不同时间;交错练习在相关但不同场景间切换。难度要有益,不能在概念还没讲懂时故意用晦涩语言制造障碍。

**本阶段可以怎样做:**读完收藏测试例子,换成阅读进度保存,让你说明应从哪里验证。老师据回答补缺口,而不是只统计读完篇数。

中文译文

课程

每课是一份独立 HTML 文件,保存到 lessons,按 0001-<dash-case-name>.html 递增编号。它是知识和技能到达学习者的主要载体。

页面应美观、字体清楚、布局容易阅读,便于以后复习;作者提示参考 Tufte 的信息呈现思路。

每课范围应小,可以较快完成。工作记忆有限,不要一次塞入太多内容;但每课应带来一个可感知的小进步,直接联系学习目的,并处在学习者经过适当帮助可以掌握的范围。

条件允许时,用命令为用户打开课程文件。课程之间,以及课程与参考材料之间,用 HTML 链接连接。

每课推荐一个本次找到的高质量一手来源供阅读或观看。还要提醒用户可以向 Agent 追问不清楚之处,因为 Agent 是持续协助的老师。

English · 英文原文

Lessons

A lesson is the main thing you produce: the unit in which knowledge and skills reach the user. Each lesson is one self-contained HTML file, saved to ./lessons/ and titled 0001-<dash-case-name>.html where the number increments each time.

A lesson should be beautiful, with clean, readable typography and layout, since the user will return to these later to review. Think Tufte.

The lesson should be short, and completable very quickly. Learners' working memory is very small, and we need to stay within it. But each lesson should give the user a single tangible win that they can build on. It should be directly tied to the mission, and should be in the user's zone of proximal development.

If possible, open the lesson file for the user by running a CLI command.

Each lesson should link via HTML anchors to other lessons and reference documents.

Each lesson should recommend a primary source for the user to read or watch. This should be the most high-quality, high-trust resource you found on the topic.

Each lesson should contain a reminder to ask followup questions to the agent. The agent is their teacher, and can assist with anything that's unclear.

老师讲解 · 对应上方原文 · 含教学举例

一课给一个明确收获,不能用版面替代教学

原文要求课程范围紧、完成快并有一个可感的进步。对我们的教材,一份长 skill 可以分成多个就近讲解单元,让你逐个理解,而不是强迫一次记住几十个词。

可复用样式与组件保持一致,但内容不能只有通用模板。讲 Git 冲突需要双方意图的例子;讲问卷需要收件人与问题的例子,二者不能用同一段“提高效率”代替。

推荐高可信资料,是让重要主张可核对。老师补充的假设案例应明确为案例,不能写得像已经检查过你的真实项目。

中文译文

共用素材与组件

课程从 assets 中复用样式、测验部件、模拟器、图形辅助等组件。开始写新课前,先查看已有组件;需要新的可复用能力时,把它写到 assets 再引用,不要在每课重复复制代码。

第一个共用组件应是样式表。所有课程引用它,形成一致课程体验,而非互不相干的单页。课程增加时,共用组件也逐渐积累。

English · 英文原文

Assets

Lessons are built from reusable components, stored in ./assets/: stylesheets, quiz widgets, simulators, diagram helpers, and anything else a second lesson could reuse.

Reuse is the default, not the exception. Before authoring a lesson, read ./assets/ and build from the components already there. When a lesson needs something new and reusable, write it as a component in ./assets/ and link to it; never inline code a future lesson would duplicate.

A shared stylesheet is the first component every workspace earns: every lesson links it, so the lessons look like one consistent course rather than a pile of one-offs. As the workspace grows, so should the component library.

中文译文

学习目的

每课都应联系用户为什么学。MISSION.md 未填写,或者目的不清楚时,先询问动机。

不理解目的,就难以判断知识是否与现实目标相连,课程容易抽象,也无法决定下一步教什么。

随着认识增长,目的可能变化。应与用户确认后更新 MISSION.md,并写一条学习记录保存这次变化。

English · 英文原文

The Mission

Every lesson should be tied into the mission - the reason that the user is interested in learning about the topic.

If the user is unclear about the mission, or the MISSION.md is not populated, your first job should be to question the user on why they want to learn this.

Failing to understand the mission will mean knowledge acquisition is not grounded in real-world goals. Lessons will feel too abstract. You will have no way of judging what the user should do next.

Missions may change as the user develops more skills and knowledge. This is normal - make sure to update the MISSION.md and add a learning record to capture the change. Confirm with the user before changing the mission.

老师讲解 · 对应上方原文 · 含教学举例

最近发展区由你的目标与实际回答共同决定

使命是为什么学,例如你要更好地判断 AI 是否真正完成工程任务。最近发展区指在适当帮助下能推进、又不至于完全无法理解的范围。

你现在提出译文缺少概念解释,就是很具体的教学证据:不应继续催你做大型项目,而应把基础桥梁补足。下一步也不能只靠老师猜水平,要用你的复述和情境判断逐步校准。

使命改变应与用户确认。老师不能因某个工具流行,就把你的目标从驾驭 AI 改成学习那项工具的全部细节。

中文译文

最近发展区

每课应让用户感觉有挑战,但不是难到无法跟上。

用户明确指定要学的内容时,以此为依据;没有指定时,阅读学习记录,结合目的判断下一步最相关、又在帮助下能够学会的内容。

English · 英文原文

Zone Of Proximal Development

Each lesson, the user should always feel as if they are being challenged 'just enough'.

The user may specify an exact thing they want to learn. If they don't, figure out their zone of proximal development by:

  • Reading their learning-records
  • Figuring out the right thing to teach them based on their mission
  • Teach the most relevant thing that fits in their zone of proximal development
中文译文

知识怎么教

围绕一个准备练习的具体能力设计课程,只引入掌握该能力必要的知识。先解释知识,再通过有反馈的交互让用户练习。

知识先从可信资源获取,记录到 RESOURCES.md;课程中的事实结论应有相应外部来源链接,增强可核对性。

在理解新知识时,不必要的困难是障碍。 它消耗原本需要用来理解内容的工作记忆。

English · 英文原文

Knowledge

Lessons should be designed around a skill the user is going to learn. The knowledge in the lesson should be only what's required to acquire that skill. You teach the knowledge first, then get the user to practice the skills via an interactive feedback loop.

Knowledge should first be gathered from trusted resources. Use RESOURCES.md to keep track of them. Lessons should be littered with citations - links to external resources to back up any claim made. This increases the trustworthiness of the lesson.

For acquiring knowledge, difficulty is the enemy. It eats working memory you need for understanding.

老师讲解 · 对应上方原文 · 含教学举例

为什么“讲清楚”和“练得有点费力”并不矛盾?

初次理解时,老师应降低无关的阅读困难;练习时,再让学生适度独立回忆和判断。 不能把晦涩讲解当成训练难度。

以测试接入点为例,先解释它是测试进入系统、观察结果的位置,再用收藏接口串起身份检查、去重和保存。此时如果只有“高 seam、低 coupling”,学生还没获得概念,难度来自缺失解释。

理解后,可以给一道新场景:“内部函数改名了,用户行为没变,哪种测试较可能继续有效?”让你尝试回答,再解释原因。这里的困难来自运用已经讲清的知识,才更接近有意义的练习。

最近发展区可以理解为:你暂时还不能独立完成,但在恰当提示和示例帮助下能够完成的范围。它要求老师查看你的实际回答,而不是按年龄、学历或自称水平猜测。

你的学习目的已明确:理解并驾驭 AI 完成工程。课程应联系真实 Agent 操作、规格和验证。课后速查卡可以简洁,但不能用速查卡替代初学教材。这正是本次修改需要守住的区别。

原文对课程长度和选项字数是作者的具体设计偏好。短课意味着主题范围小,不意味着每句话都应压缩到难懂;选项避免泄露答案也不必以牺牲自然中文为代价。

中文译文

技能怎么练

知识侧重获得理解,技能还需要保持和灵活使用。让已理解的知识真正留下来。

技能练习中,适当困难是一种工具。费力回忆可以帮助长期保持。可以用测验、轻量浏览器任务,或引导用户执行现实步骤的课程,例如练习瑜伽姿势。

每种练习都应有反馈,让学习者知道表现怎样。反馈尽可能及时,最好自动给出。

对于选择题,作者要求各答案选项使用相同单词数量,可能时连字符数也相同,避免格式给出正确答案的暗示。

English · 英文原文

Skills

If knowledge is all about acquisition, skills are about durability and flexibility. Make the knowledge stick.

For skill acquisition, difficulty is the tool. Effortful retrieval is what builds storage strength. Skills should be taught through interactive lessons. There are several tools at your disposal:

  • Interactive lessons, using quizzes and light in-browser tasks
  • Lessons which guide the user through a list of real-world steps to take (for instance, yoga poses)

Each of these should be based on a feedback loop, where the user receives feedback on their performance. This feedback loop should be as tight as possible, giving feedback immediately - and ideally automatically.

For quizzes, each answer should be exactly the same number of words (and characters, if possible). Don't give the user any clues about the answer through formatting.

老师讲解 · 对应上方原文 · 含教学举例

练习需要反馈,而不只是布置作业

知识获取阶段先降低理解障碍,技能练习阶段再加入需要思考的难度。给你一道场景题后,应说明答案为什么成立、错误理解会造成什么结果,反馈越接近当下越有帮助。

例如你说“最高层意味着所有测试都用浏览器”,老师应解释业务接口与页面交互的覆盖差别,再让你判断一个新例子。只标错或再贴定义,不足以修复误解。

原文甚至要求测验选项字数相同以免泄题;这是作者具体设计偏好,中文教学更应优先保证选项清晰、无无关线索,不必为了字数完全相等写出别扭句子。

中文译文

从现实交流中获得判断经验

这类经验来自走出学习环境、在真实情境中使用技能。

用户提出需要实践判断的问题时,先尝试回答,同时倾向于引导他去合适社群检验能力。社群可以是论坛、Reddit、线下课程或兴趣小组;收费活动需考虑预算。

寻找声誉较好的社群。若用户明确不愿加入,尊重选择。

English · 英文原文

Acquiring Wisdom

Wisdom comes from true real-world interaction - testing your skills outside the learning environment.

When the user asks a question that appears to require wisdom, your default posture should be to attempt to answer - but to ultimately delegate to a community.

A community is a place (online or offline) where the user can test their skills in the real world. This might be a forum, a subreddit, a real-world class (budget permitting) or a local interest group.

You should attempt to find high-reputation communities the user can join. If the user expresses a preference that they don't want to join a community, respect it.

老师讲解 · 对应上方原文 · 含教学举例

实践判断来自真实反馈,参考文档帮助长期使用

真实项目会出现教材没有的取舍,例如时间有限时优先验证哪个风险。社群、同行和实际使用者能提供不同经验,帮助你检验判断;用户不愿加入社群时,原文也要求尊重。

参考文档则把课程浓缩为能长期查阅的规则和例子。它适合在理解之后速查,不能反过来用一页速查表代替初学者教材。

因此我们应先完整解释,再问答,再应用。你能够独立说出判断理由,比网站把进度标成 100% 更接近学习成果。

中文译文

参考资料

制作课程时,也制作可反复查阅的参考文档,并从课程链接过去。它们记录跨课程通用的基础知识。

作者认为,相比完整课程,参考文档更可能被反复查阅。因此将它们写成提炼后的精要,方便快速寻找。

适合整理的内容包括编程语法和片段、算法与流程图、瑜伽动作和顺序、健身练习安排,以及任何领域的术语表。

术语表尤其重要,一旦建立,各课应遵循同一套名称和定义。

English · 英文原文

Reference Documents

While creating lessons, you should also create reference documents. Lessons can reference these documents - they are useful for tracking raw units of knowledge useful across lessons.

Lessons will rarely be revisited later - reference documents will be. They should be the compressed essence of the lesson, in a format designed for quick reference.

Some learning topics lend themselves to reference:

  • Syntax and code snippets for programming
  • Algorithms and flowcharts for processes
  • Yoga poses and sequences for yoga
  • Exercises and routines for fitness
  • Glossaries for any topic with its own nomenclature

Glossaries, in particular, are an essential reference. Once one is created, it should be adhered to in every lesson.

中文译文

NOTES.md

用户会表达自己希望怎样被教,以及老师应记住哪些事情。把这些偏好保存到这里,以后设计课程或继续交流时重新参考。

English · 英文原文

NOTES.md

The user will sometimes express preferences of how they want to be taught, or things you should keep in mind. This is the place to record those preferences, so you can refer back to them when designing lessons or working with the user.

原作者:Matt Pocock · 中文翻译为非官方译本

来源:skills/productivity/teach/SKILL.md ↗

固定版本:3cca18b368ae95cdbdebbff572ccafa662551015

配套参考资料(英文)

先作答,再看参考思路

Q1 · 理解

用自己的话说明:它解决什么问题,完成后会留下什么?

请各用一句话回答。若它只做规划或解释,不要把“已开发”“已部署”写成产物。

Q2 · 判断

课程、速查页、学习记录为什么要分开?

我已思考,查看参考思路

课程解释来龙去脉,速查页压缩可复用知识,学习记录保存你的理解证据与误解。混在一起会让复习和接续都困难。

Q3 · 追问

原文中哪条要求在你的环境下可能不成立?

说出具体一句及其前提,例如工具不可用、资料缺失、已有项目约定冲突,或它只是作者偏好。把你的答案带回课堂,我们据此继续讨论。

课堂回传格式:第 07 课 / 我的理解 / Q2 回答 / 仍不理解的原句。这里是阅读教材;实时问答在我们的对话中进行。

把方法放进一个具体情境

教学案例:读过 tdd 后说“我懂了”不能直接记为掌握。老师可以给一个与实现同样计算预期值的测试,问你它为何可能无效。若说不清,就把这项概念列为待复习。

边界与容易误读的地方

不能伪造学习记录,也不能把打开页面次数换算成掌握率。知识理解和实际应用可以分阶段完成。

讨论后再实践:先判断上述情境是否适用,再选择真实任务。现在无需安装、运行命令或修改现有项目。

关联阅读