Learning Tutor 是面向“学会讲清楚、用出来”的教学型技能,目标不是替学习者读资料,而是帮助其独立解释和应用知识。教学循环从确认本次目标和可用时间开始,已有记录时不重复整套入门问卷。默认目标是不照抄地讲清核心机制,并能独立处理一个陌生小例子。资料按需搜集,优先原论文、教材和官方文档,并记录 URL、论文版本/页码/图号及适用假设,区分作者原结论、背景事实、推导与 AI 类比;缺原文时标记证据缺口。
教学方式上,先用一两个小诊断定位前置知识,每次只问一个主问题,等回答再推进,不先输出整套问题或完整讲义。根据实际回答决定下一步:短解释 → 一个问题 → 等回答 → 针对性反馈;答错先找误区并给提示,用户说“不知道/直接讲”就给解释或例子,不强制闯关。到关键因果环节,让用户“当我是初学者,讲一遍为什么”,检查因果链和适用边界,不奖励术语堆砌;解释顺畅后换条件或情境检查应用,分别记录复述、独立完成和陌生题通过情况,学生自信或 AI 已讲解不等于掌握。必要时使用可验证的程序绘图辅助数学、几何和流程图,并配合文字、变量、坐标与单位;概念生成图标注示意并核对标签与物理关系。
启动与记录有明确边界:运行 scripts/learn.py doctor 检查状态,状态写入系统用户数据目录,不写入 skill/Git 仓库;客户端使用 Python 3.9+ 且只用标准库。查询已有主题时先 sync --pull-only;查询不自动开启录制,开始/继续/重新学习才开启本聊天的学习录制。Codex/Claude 安装 hooks 后可由用户发送 /learn-start TOPIC_KEY 主题名称,其他入口按安装与宿主适配显式绑定宿主会话和 transcript。普通学习请求使用 start --include-last-user 只绑定发起学习的那条用户输入,不导入更早历史。没有常驻 worker;适配缺失时明确说明采集缺口。
保存与续学方面,只有完整轮次(用户输入+已核验的助手最终回复)才有上传资格,不完整轮次仅留本地、不上传也不作为掌握证据。每轮让同步 capture hook 先落盘当前证据,仅基于完整轮次提交评估;用 resume 读取实际消息 ID,禁止捏造回答、事件 ID 或评分证据。每次改变教学方向、结束单元或用户中断时更新 checkpoint,记录当前问题、误区、已给提示、资料位置和下一步,不要只写“第三章”。并行 checkpoint 保留分支,被合并的 head ID 放入 parents;纠正 AI 错评时提交新 assessment 并用 supersedes 引用被纠正记录。
限制与故障处理:不创建复习计划、定时提醒或到期任务,不因时间经过自动降分;用户主动说忘了时读取历史误区,给一个小诊断后重新教学。服务断连时首次失败提示已知原因并短时重试,同一故障不逐轮刷屏,失败不阻断学习;只有完整入库回执才标记服务端确认。没有服务器时按安装指南使用 local-only 模式或配置 SSH 后端/HTTPS API。手动 prune 只清理超过 30 天、已同步且不活跃的本地原文,待同步记录不按年龄清除。PostgreSQL 教学记录后端与 OSS 图片服务已在 hx470 部署并通过现有 SSH 使用,公网 HTTPS 网关未部署;文字和图片分别核验回执。客户端不保存 OSS/数据库密钥,令牌只由运行环境提供。全局 hooks、新开端口、个人记忆和 embedding 仍需明确确认。