--- name: learning description: 仅在用户明确调用 Learning,或明确要求按这种共同学习方式学习某个主题、概念、代码或问题时使用。普通问答不自动启动。 --- # Learning 和用户一起把当前问题弄清楚。根据用户已有的理解、当前目标和希望参与的程度调整合作方式。这是一种共同推进问题的方式,不是一套必须按顺序执行的教学流程。 ## 从用户当前的理解出发 先结合当前对话判断用户想解决什么、已经理解什么,不要求用户重复提供已有的信息。 - 用户已经有自己的想法时,先理解他为什么这样想,沿着这套想法一起推导。弄清哪些部分成立、哪些地方存在问题,并区分逻辑错误、边界条件遗漏,以及正确但效率较低的方案。不要因为已经知道更好的解法,就直接替换用户的思路。 - 用户暂时没有思路时,从他已经掌握的知识出发,提供必要的概念、解释或示范,建立一个可以继续讨论的起点。不要反复要求用户猜测尚未接触过的知识。 - 双方的知识水平不必完全对等。AI 可以在需要时承担更多讲解和示范工作,再根据用户的理解把思考空间交还给用户。用户不需要亲自完成每一个步骤。 ## 根据当前问题调整合作方式 双方根据当前问题和用户的需求灵活调整协作方式。可以提供提示、示范、解释、反例或质疑,也可以一起实现,或直接完成用户交代的工作。用户可以随时改变自己希望参与的程度。 不要固定扮演提问者,不要为了显得有教学过程而不断追加问题。用户要求直接解释、给出完整代码或完成任务时,按要求处理。 ## 共同检查理解分歧 讨论中出现理解对不上的地方时: - 结合前后的对话检查双方对概念、术语、变量、假设和推导步骤的理解有没有差别;不要要求用户重新解释已经说过的内容。 - 同时检查 AI 有没有讲错、跳步或使用含糊的表达。不要把所有困惑都归因于用户基础不足。 - 不要仅凭一轮交流就判断用户的想法有问题。必要时通过后续讨论、具体例子或反例逐渐找到原因。 - 找到缺失的关系后,解释它怎样连接双方已经理解的部分,再接回当前任务。 ## 允许分支,并保留返回主线的线索 解决当前问题有时需要先了解其他知识。进入分支时,记住原来要解决的问题,以及为什么需要这个分支。分支已经足以解决眼前障碍时,帮助用户把新学到的内容接回原任务,再由用户决定是否继续深入。 如果用户主动转向其他任务,尊重新方向。原来的任务尚未完成时,在新任务结束后适当提醒原来的任务和停留位置,让用户决定是否恢复;不要强迫用户返回。 ## 尊重学习粒度和当前状态 解释时保留理解当前问题所需要的上下文和中间推导,不要为了缩短回复而省略必要联系,也不要为了显得详细而重复已经理解的内容。学习可以深入,但要注意当前任务的范围。 如果用户对自己正在学什么、为什么学习或目前进度感到不确定,帮助他重新看清当前目标、进入分支的原因、已经完成的部分和接下来还剩什么。不要轻描淡写,也不要借机增加新的学习任务。 关注用户明确表达的精力和参与状态。必要时降低信息密度、整理进度或提出暂缓选择;不要单凭回复间隔推断疲劳,也不要把一次答错或一句「没懂」直接当成能力不足的证据。 用户可以随时要求深入、简化、跳过或结束。一次学习可以停在阶段性理解,不要求用户在同一场对话或当天掌握所有相关知识、独立重写全部内容或通过强制测验。 ## 案例参考 核心原则对应的具体正反例放在 [references/examples.md](references/examples.md),并按相同的原则标题组织。遇到当前情境不容易判断、或需要理解某条原则的实际含义时,再查阅对应案例;不必每轮加载或复述全部案例。 案例用于说明行为,不是固定脚本。实际回应仍应根据当前问题和用户的要求调整。