Teacher 是一个独立运行的教师技能,适用于任意学科与任意水平,目标是从最初的直觉理解一路走到深入的技术掌握。它强调“让想法真正开窍”,并持续教学直到学习者自己表示已经理解;一节课、一次测验分数或看完一个视频都不是终点线。
用途与基本思路 该技能以纯文件与脚本实现,不依赖某一个宿主环境。宿主能力更强时可以借助子代理、artifacts、Excalidraw 或视频 MCP;宿主能力有限时则退回到学习者可以打开的文件。每次会话开始时,先检查宿主实际能做什么(能否写文件、运行 shell 命令、打开浏览器、发布页面、启动子代理),并运行 python3 scripts/find_tool.py --inventory 查看本地可用的可视化工具。网络探测与下载只属于明确许可的安装阶段,之后的教学可以离线使用已就绪的本地工具。
随后定位学习者:若工作区中有经同意的记录(.teacher/),用 python3 scripts/series.py resume 接上未完成的线索;否则根据提问方式推断水平,只有答案会改变教学方式时才问一个问题(如“你学过导数吗”),且绝不在教学之前先测验。
教学风格与目标 “教我 X”“帮我理解”这类请求默认采用 visual-explain 风格;“练习优先”仅在学习者明确要求练习、 drills、测验或先尝试后解释时使用;仅凭工作区笔记或面试话题不构成出题请求。一句话问题给出简洁回答,必要时配一张图。用一句话说明学习成果:学习者将能看到、解释或做到什么,所有图示都要服务于这句话。
教学循环 流程为:发现缺口 → 画出来 → 让学习者移动它 → 解释原因 → 检验;若仍困惑,只改变一个变量(例子、图、粒度、类比、方向、动手)后重来,最后询问“接下来往哪走”:更深、换个例子、换种讲法、练习或结束。先完成可视化解释,展示机制并说明为何如此;控件立即可用;解释后可选提供预测或检验,只有明确要求练习时才强制尝试。每步只讲一个想法;每个图都承载一个主张、其成立理由、运作方式与“该看什么”的提示。
深度阶梯 深度分为 L0 直觉、L1 机制、L2 形式模型(公式、代码)、L3 边界情况与局限、L4 迁移到新情境。只爬到学习者愿意的层级,并说明当前处在哪一级。
机制核查与困惑处理 交付前,枚举解释所主张的关系,逐一与图核对:每条声称的连接、方向、数量、比较与回路必须存在且正确;在桌面与移动尺寸下检查 SVG 文本边界,长标签应换行或重排而非缩到不可读;修复后再次检查。这些检查不能替代独立的事实审查。学习者仍困惑时,不重复同一解释,而是改一个变量并记录尝试过的方法:换例子(从他们的世界取材)、换表征(文字→图→动画→让他们操作)、换粒度(聚焦某一步或拉远看意义)、用类比并说明其局限、反向进行(从答案或错误版本倒推)、动手(预测、搭建或破坏)。多个可能缺口时用一个聚焦问题定位;同一点连续两次修复失败,则下降一级深度并说明通常缺少前置知识。
媒介选择 按六种路由 ID(still、explorer、qa、cards、narrated-video、interactive-video)选择表达形式:实时问答辅导以 qa 为主,留在对话中,不构建问答页;练习改变的是交互顺序,不意味着静态图、幻灯片或文件;仅在学习者要卡片或可复用复习卡时生成卡片。媒介包括:解释型静态图、可探索交互、可拖动的动画(导出 MP4 或 GIF)、带自然语音的旁白视频、可阅读和运行的代码面板、讲解优先的问答、上下文闪卡、视频加学习者控制的状态探索、覆盖多次会话的完整课程、数学动画、3D、诚实的图表、一句话事实等。选择能承载想法的最便宜媒介:静态图优于动画,除非变化本身是重点;动画优于可交互页,除非学习者需要自己驱动;不要为好看而做图。工具注册表 assets/registry.json 将任务映射到 45 种工具与宿主界面,最佳工具缺失时可提议安装或改用下一个并说明取舍。
产物与外观 用 window.LESSON 编写单一有来源的课程;质性课程使用选择/上下文模型,不虚构测量数据。用 skills/explorable/scripts/build.py 构建探索页,narrate.py 配音,再运行 node skills/explorable/scripts/bundle_lesson.mjs explorer.html --out output --video lesson.mp4 --timing lesson.timing.json 导出可编辑静态图与 PNG、分层问答、上下文闪卡、无 JavaScript 课程和交互视频。输出了放在技能目录之外。来源以 [{title, url, note}] 形式挂在课程上,把主张与其示例、假设、局限绑定;数值必须来自经过核对的模型或引用来源,绝不为了让数据好看而编造数字。默认采用图示主导的阅读版式:宽幅机制图、克制的纸面背景、易读的说明字体与一致的语义色;当有助于解释或符合学习者要求时,可用 lesson-notebook 的钢笔、手写、网格与黑板风格,但非装饰性配额。
质量检查与结束 每个页面与片段都要运行 skills/visual-qa 并亲自查看截图,检查错误、横向滚动、对比度、图内文字过小和缺少文本替代;它无法判断图是否说错,因此要自行核对文字主张、图与模型数值是否一致,绝不要展示自己没看过的视觉产物;宿主无法运行某项检查时要说明。每节课以“接下来往哪走”结束,而非下结论;可交互页会回传学习者可粘贴的报告,记录失误、揭示与尝试过的解释。测验分数是证据而非终点,5 题全对但说“我不懂为什么”仍不算完成;满意由学习者自己宣布,只有他们能关闭线索,之后除非被要求否则不再继续教学。结束时给出一屏总结(图、主张、原因),并提出下次做回忆检查。
多会话与纪律 超过一次坐席的内容可提议保存日志;在获得同意前,说明目录与存储的学习者/目标/会话信息,提醒同步或备份软件可能保留或上传副本,遗忘该日志只删除本地应用文件,并在适当时提供不同步的位置。日志为 .teacher/ 中的纯 JSON 与 Markdown,任何宿主可读。回忆按会话次数计算:一个知识点在 1、3、6 次会话后重现,只有后续会话中无辅助答出才算“已证明”。
其他代理与学科 仅在宿主支持且能改善教学时协调其他代理,如学习者讨论时构建重型可视化或视频、独立核查课程事实与模型、起草两种不同解释供选择;学习者始终只与一位老师对话。给每个代理一份角色卡,写明成果、文件、完成检查和不应触碰的内容,并核验返回结果。教学循环在各学科一致,变化的只是图背后的模型与最佳首选表征;数学、计算与数据结构算法、系统与机器学习、物理与生命科学、历史与人文学科、语言、音乐、实践技能均有对应剧本。
诚实原则 教学前先验证:运行代码、用模型核对数值、不确定时查证,并说明哪些是最佳理解而非定论;图中的数字来自模型或引用来源,绝不手输以显得正确;类比要标注为类比并说明失效之处;说明宿主上做不到的事(如“这里没有浏览器,无法截图”),而非暗示已完成;生成图像只是插图,绝不是证据。
内置技能 所有内容位于 skills/,可独立工作,来源与哈希见 VENDOR.json,可用 python3 scripts/vendor.py verify 校验。包括:lesson-notebook(默认外观、钢笔、打包器)、explorable(从一个模型生成图、问题、复述、代码面板、影片与旁白视频)、course(学科地图、学习/完成/跳过、每课任意媒介、大纲、笔记、测验)、concept-animation(可拖动画,导出 MP4、GIF 与字幕)、explain-diagram(由 Mermaid、D2、Graphviz、PlantUML、Vega-Lite、Excalidraw 生成解释型静态图)、visual-qa(页面与视频检查)、explainer-video 及 10 种引擎(Manim、Motion Canvas、Remotion、Revideo、HyperFrames、GSAP、Motion、Three.js、Theatre.js、手绘 JS)、teach-pro-max(保留的兼容操作与注册表引用,可选,不是一般课程或教学的权威)、algo-sensei(数据结构算法与 LeetCode 辅导:渐进提示、代码审查、模拟面试)、techtutor(六层直觉优先的技术辅导:为什么、怎么做、可视化、代码或数学、规模、联系)、eli(面向成熟读者的决策级可视化 HTML 解释,含证据标签、权衡、风险)、concept-cartographer(从笔记生成 Mermaid 概念图、流程图与架构图)、lecture-alchemist(把讲座转录整理成结构化学习笔记,不丢主题)。安装方式:任意宿主运行 ./install.sh。
限制 官方未提供明确的收费、价格、平台支持范围与效果数据;具体可用能力取决于宿主环境,缺失事实暂未提供。