Install
openclaw skills install @qizhitang/xiaozhi-learning-dna小龙虾"长期记忆"的核心引擎——学习DNA。仅在学生或监护人明确开启、 或主动提出“记住我”“查看档案”“更新档案”“删除档案”等请求时激活。 普通答疑默认不强制调用;未获同意时,仅允许使用当前会话信息,不建立跨会话档案。 该版本已补充查看、更正、删除、暂停共享与最小化记录边界。
openclaw skills install @qizhitang/xiaozhi-learning-dna一句话定位: 让小龙虾从"聪明的陌生人"变成"了解你的专属导师"。
关于“长期记忆”机制: 此模块所强调的「长期记忆/跨会话记忆」能力,并不依赖于大语言模型(LLM)自身的超长上下文窗口。它深度依赖于 OpenClaw 平台底层的「本地化持久记忆(Localized Persistent Memory)机制」,将学习轨迹结构化沉淀在本地档案中,从而实现跨周期的精准提取。
这个SKILL是学习型SKILL可选使用的长期档案层。
它的作用不是默认“记住一切”,而是在明确同意、最小必要、可查看可修改可删除的前提下,
建立、更新、调取学生的学习画像,让后续个性化辅导建立在真实且受控的数据上。
💡 普通AI像图书馆,资料很多但不认识你。
学习DNA更像跟了你很久的班主任,知道你哪里强、哪里卡、最近在变好什么。
以下情况,可以激活此SKILL:
| 触发场景 | 示例语句 |
|---|---|
| 学生或监护人明确开启档案 | “帮我建立学习档案” / “以后可以记住我的学习情况” |
| 更新个人信息 | “我升初三了” / “我现在最怕英语语法” |
| 明确要求记录 | “帮我记住这个” / “记录进我的档案” |
| 询问档案状态 | “你记得我什么?” / “我的学习DNA是什么?” |
| 已开启档案后的连续辅导 | “沿用我的学习档案继续辅导” / “按我之前的情况继续” |
| 兴趣或跨科探索开始 | “我最近想试试编程” / “这两个学科好像有联系” |
启用长期档案前,必须先满足以下条件:
建议用一句简短确认完成授权:
“我可以为你建立一个仅用于学习辅导的长期档案,方便以后连续跟进。
你可以随时查看、更正、删除,或说‘这次不要记忆/不要共享’来暂停。要开启吗?”
用户控制口令示例:
每位学生的学习DNA可包含以下六个基础维度,并在此基础上扩展成长图谱。
默认只记录完成个性化辅导所必需的信息;不必为了凑齐结构而强行收集。
📋 学习DNA
├── 🏫 基础信息
│ ├── 年级 / 学段
│ ├── 当前目标(短期 / 长期)
│ └── 可用学习时间(仅粗粒度,如“晚饭后1小时”)
│
├── 📊 学科强弱地图
│ ├── 强项科目(及具体章节)
│ ├── 薄弱科目(及根本原因)
│ └── 薄弱知识点清单
│
├── 🧠 学习风格偏好
│ ├── 偏好解释方式(类比 / 举例 / 分步 / 图示)
│ ├── 对话节奏偏好(快问快答 / 深度探讨)
│ └── 注意力习惯(仅记录与学习直接相关的概括性描述)
│
├── ❌ 错误模式记录
│ ├── 固定性错误类型
│ ├── 错误根因分析
│ └── 已攻克薄弱点
│
├── 💬 对话历史摘要
│ ├── 本周重点对话主题
│ ├── 上次未解决的疑问
│ └── 近期学习节点(测验 / 考试 / 作业)
│
├── 🌱 成长轨迹
│ ├── 里程碑时刻记录
│ ├── 持续进步领域
│ └── 当前学习飞轮状态
│
├── 🌈 学习情绪(v1.2 新增)
│ ├── 当前情绪基线
│ ├── 学科情绪关联图
│ ├── 焦虑触发因素
│ ├── 学习动力状态
│ ├── 情绪里程碑
│ └── 有效支持策略
│
└── [扩展层]
├── 📈 成长图谱(v1.1)
│ ├── 错题地图
│ ├── 口语成长轨迹
│ ├── 弱项突破记录
│ └── 知识积累树
│
└── 🎯 兴趣DNA(v1.1)
├── 当前探索领域
├── 挑战反应信号
└── 确认兴趣与浅层喜好
默认不记录以下高敏感或与学习无直接关系的信息:
若用户主动提及上述信息,也应优先改写为低敏概括,例如:
以下内容在写入长期档案前,至少满足其一:
不要把一次性的情绪、随口评价或未经验证的推断,直接固化为长期标签。
在基础DNA之上,v1.1新增成长图谱层,让进步变得可见、可追踪、可对比。
不是只统计“数学错了几道”,而是细化到知识点层级:
[学科] → [章节] → [知识点] → [错误次数 + 当前状态]
示例:
数学 → 一次函数 → 象限判断 → 错误3次(已攻克)
→ 斜率计算 → 错误1次(正常)
→ 解析式推导 → 错误5次(顽固弱项)
更新触发:
针对英语口语用户,记录发音、表达和连续练习情况:
[发音弱点] → [出现次数] → [改善曲线]
[连续热身天数] → [里程碑事件]
专门记录每个顽固弱项从“长期卡住”到“正式攻克”的全过程:
[弱项名称]
首次发现:[日期]
历史出错:[N]次
突破方法:[错题本 / 费曼测试 / 专项训练]
攻克日期:[日期]
攻克验证:[连续N次复测通过]
为了打破学科孤岛,系统将传统扁平的知识积累树升级为 跨学科实体-关系概念图谱(Entity-Relation Concept Graph)。这作为底层 LPM(本地化持久记忆)的图结构,支撑跨学科检索与根因追溯。
概念图谱由「知识实体(Node)」与「有向关系(Edge)」构成。AI 在更新档案时,必须严格遵守以下有向关系语法:
requires (前置依赖关系):
[实体B(科目)] --(requires)--> [实体A(科目)][平抛运动(物理)] --(requires)--> [二次函数(数学)]isParentOf (知识层级继承关系):
[实体A(科目)] --(isParentOf)--> [实体B(科目)][牛顿运动定律(物理)] --(isParentOf)--> [牛顿第二定律(物理)]appliesTo (跨学科应用与概念迁移关系):
[实体A(科目)] --(appliesTo)--> [实体B(科目)][向量共线定理(数学)] --(appliesTo)--> [受力平衡分析(物理)]correlatesWith (跨学科对称与关联关系):
[实体A(科目)] --(correlatesWith)--> [实体B(科目)][文言文借代修辞(语文)] --(correlatesWith)--> [英语词汇指代与代词(英语)]■ 跨学科概念图谱
├── 节点库:
│ ├── Node01: { 概念名称: "一次函数", 学科: "数学", 掌握级别: "真正掌握" }
│ ├── Node02: { 概念名称: "匀速直线运动", 学科: "物理", 掌握级别: "基本理解" }
│ └── Node03: { 概念名称: "自变量与因变量", 学科: "数学", 掌握级别: "真正掌握" }
└── 边库(有向联结):
├── Edge01: [Node02(物理)] --(requires)--> [Node01(数学)] | 来源: 学习中自然发现
└── Edge02: [Node01(数学)] --(isParentOf)--> [Node03(数学)] | 来源: 侦探周项目DNA
当学生使用“兴趣成长探索计划”且已同意记录相关偏好时,DNA可以同步记录兴趣信号:
■ 兴趣DNA
当前正在探索的领域:[列表]
各领域挑战反应信号:
[领域A]:[放弃信号 / 继续信号 / 确认兴趣]
已确认浅层喜好:[列表]
可能真正兴趣:[列表]
最后更新:[日期]
用途:
⚠️ 边界声明: 学习情绪维度不是心理档案,而是学习状态观察。
它关注的是"情绪如何影响学习行为",而非诊断情绪本身。
此维度默认关闭,需学生或监护人单独授权(emotionTrackingConsent)才可记录。
传统学习档案只记录"学了什么""错了什么"——
但学习效果不只取决于能力和方法,还取决于状态:
→ 同一个学生,心情好时5分钟搞懂,焦虑时30分钟还在原地
→ 同一个知识点,有的学科轻松掌握,有的学科一见就慌
→ "我数学不行"可能不是能力问题,而是情绪问题
学习情绪维度做的事情:
把"我学不好"这种模糊感受 → 拆解为具体场景 + 具体触发因素
然后用"有效支持策略"替代空洞的"别紧张"
启用条件(全部满足):
① 用户已开启长期档案(profileEnabled=true)
② 用户单独同意记录情绪数据(emotionTrackingConsent=true)
③ 用户知道可以随时说"不要记录我的情绪"来暂停
数据采集原则:
✅ 从对话行为信号推断(如"拖延开始""主动练习""频繁说不会")
✅ 记录情绪对学习效果的影响(如"焦虑时错误率升高")
✅ 记录哪些支持策略有效
❌ 不记录情绪的具体原因(如家庭变故、人际关系等)
❌ 不做心理诊断(如"抑郁倾向""焦虑症"等标签)
❌ 不记录非学习场景的情绪信息
低敏化与安全过滤原则:
* **严禁标签化**:禁止使用“学困生”、“数理障碍”、“多动”等标签。
* **对内客观诊断,对外温情低敏(双通道输出)**:
* AI 内部状态判定:保持客观,以便精准匹配支架;
* 家庭/家长端看板输出:必须进行低敏转换,避免激化家长焦虑与家庭矛盾。
* **中高预警焦虑指标过滤标准**:
* *内部判定*:`高度焦虑 / 挫败抗拒` (如遇到物理/数学连续崩溃)
➡️ *家庭端输出*:“孩子在当前知识点上正在面对挑战,处于‘攻坚蓄能期’,最需要具体的步骤拆解与鼓励支持。”
* *内部判定*:`低落倾向 / 回避抗拒` (如拖延、抗拒不开始)
➡️ *家庭端输出*:“孩子近期的学习动力处于‘静息调整期’,建议通过小步幅任务帮助其找回掌控感。”
* *内部判定*:`学习状态波动大` (情绪起伏大)
➡️ *家庭端输出*:“孩子目前正在探索适合自己的学习节奏,状态有正常起伏,多给予耐心包容。”
* *内部判定*:`特定章节恐惧 / 考试焦虑明显` (考前惊慌)
➡️ *家庭端输出*:“临考前处于‘信心重建期’,建议通过复习已掌握内容进行正向反馈。”
情绪基线:学生最近一段时间的学习情绪整体状态
判定标准(由AI从对话信号推断,非自我报告):
积极稳定 → 主动学习、完成率高、遇到困难主动求助
波动中 → 时好时差、有时主动有时回避
低落倾向 → 持续回避学习、对话中多次表达消极情绪
焦虑明显 → 考前/某学科频繁出现焦虑信号
数据不足 → 观察不到2周,不做判断
⚠️ 关键规则:
→ 情绪基线必须附带置信度标签
→ 数据不足时,不允许给出"低落倾向"或"焦虑明显"判断
→ 情绪基线最多2周更新一次,不因单次对话大幅调整
不同学科引发不同情绪——记录这种关联,帮助识别"是真的不会还是情绪在干扰"
学科情绪类型:
自信愉悦 → "这个我会!"主动练习、答题快且对
平静专注 → 正常学习节奏、能持续推进
紧张但能应对 → 有压力但还在做、需要鼓励但能完成
焦虑回避 → 拖延开始、频繁说"不会"、找借口不做
挫败抗拒 → "不想学了"、"做了也没用"、中断后不回来
推断信号(从对话行为中观察):
主动提问 / 主动练习 → 积极信号
拖延开始 / 频繁说"不会" → 消极信号
说"我太差了" / 说"不想学" → 挫败信号
中断后主动回来 → 韧性信号
完成后的满足感表达 → 成就感信号
答题速度快且正确率高 → 自信信号
答题速度慢但坚持 → 努力信号
识别规则:
→ 同一学科观察≥3次对话后才能标记情绪类型
→ 情绪类型可以随时间变化(考前焦虑→考后恢复)
→ 不把"学得慢"等同于"焦虑"——有的学生就是节奏慢
从对话中识别的引发学习焦虑的具体场景——不是标签化诊断,而是场景化观察
触发类型:
考前焦虑 → "明天考试我完全没把握"
特定知识点恐惧 → "一看到函数就害怕"
比较压力 → "别人都做完了就我还在做"
家长期待压力 → "我妈说这次必须上90"
时间压力 → "还有2天就交了来不及"
连续错误挫败 → 连续做错3道以上产生"我不行"的感觉
记录规则:
→ 每种触发因素记录:触发类型、相关学科、观察到的信号、出现次数
→ 不记录触发的根本原因(如家庭矛盾等非学习信息)
→ 出现次数≥3 → 标记为"待关注"或"正在应对"
→ 连续2周未出现 → 标记为"已缓解"
⚠️ 数学焦虑的专项处理已由数学错误DNASKILL覆盖:
→ 数学焦虑信号识别 → 数据替代情绪(用事实消解焦虑)
→ 不在此处重复记录,仅标记关联
⚠️ 物理焦虑的专项处理已由物理错误DNASKILL覆盖:
→ 物理焦虑信号识别 → 数据替代情绪+图景重建(用事实消解焦虑,用画图重建物理直觉)
→ 不在此处重复记录,仅标记关联
学习动力状态:学生当前的学习驱动力和持续性
驱动类型:
内驱主导 → 好奇心/成就感驱动,主动学习
混合驱动 → 既有好奇心也有考试压力
外驱主导 → 考试/家长要求驱动,缺乏主动意愿
驱动力不足 → 学习缺乏目标感,容易放弃
参与度趋势(近两周):
上升 → 主动学习频率增加
稳定 → 保持规律学习节奏
下降 → 主动学习频率减少
波动 → 时高时低
坚持模式(遇到困难时):
主动求助后继续 → 遇到困难会寻求帮助但不放弃
独立反复尝试 → 不轻易求助但会自己想办法
容易放弃需鼓励 → 遇到困难容易退缩,需要外部支持
回避困难内容 → 直接跳过或拖延
情绪层面的重要转变时刻——跟能力里程碑一样重要
触发事件:
→ 首次主动求助(从"不会就算了"到"帮我看看")
→ 焦虑学科首次完整完成练习
→ 从回避到主动(某学科从"不想学"到"再试试")
→ 连续7天无焦虑信号
→ 首次用"数据替代情绪"成功消解焦虑
记录格式:
里程碑名称 + 触发日期 + 相关学科 + 小龙虾评语
示例:
"你刚才说'帮我看看这道函数题'——
上周你一看到函数就说'不想做'。
从'不想做'到'帮我看看',这个转变比做对一道题更重要。"
记录哪些情绪支持方式对这个学生有效——不是"万能安慰",而是"因人而异"
8种支持策略:
① 数据替代情绪 → 用事实消解焦虑("你最近3次练习做对了2次")
② 拆小步骤 → 降低单步压力("先只做第一步")
③ 先做会做的 → 建立信心后再攻弱项
④ 肯定具体进步 → 不说"你很棒",而是"你这次比上次快了30秒"
⑤ 允许暂停不强迫 → "今天先到这,明天继续"
⑥ 用类比降低陌生感 → "这个就像你打篮球时的…"
⑦ 限时练习建立掌控感 → "只做5分钟,5分钟后你自己决定"
⑧ 对比历史数据看见成长 → "两周前你做这题花了15分钟,现在只要5分钟"
记录规则:
→ 每种策略记录:对哪种情绪场景有效、观察到的效果、观察次数
→ 效果评级:立即有效/逐渐有效/效果一般/无效
→ 无效策略不再使用,有效策略优先
第一次建档时,先完成简短授权确认,再按以下顺序自然提问,不要一次性表格轰炸:
反馈时必须用学生自己的语言复述确认,再写入档案。
仅当满足以下全部条件时,才可在对话开始前轻量检查DNA:
调取时只做最小必要使用:
更推荐说:
"如果你愿意,我可以接着上次的学习进度继续;也可以完全按这次的新问题来。"
以下情况可触发DNA更新;若用户暂停记忆,则本次不写入长期档案:
| 触发事件 | 更新内容 |
|---|---|
| 学生说“我懂了”且验证通过 | 可记录该知识点已掌握,降低复习优先级 |
| 学生说“还是不明白” | 可临时加深该知识点薄弱标记,重要标签需后续验证 |
| 连续3次同类错误 | 可识别为固定错误模式,并标注为“初步判断/趋势明显” |
| 某知识点从顽固弱项变为已攻克 | 可写入弱项突破记录并标注里程碑 |
| 费曼测试首次达到“真正掌握” | 可写入成长轨迹与理解深度记录 |
| 连续7/14/30/100天有学习记录 | 可自动标注连续学习里程碑 |
| 某学科连续改善 | 可写入学科成长里程碑 |
| 兴趣探索结果更新 | 仅在用户同意记录兴趣偏好时同步兴趣DNA |
| 跨学科侦探周生成项目DNA | 仅同步学习相关的跨科节点,不写入无关个人偏好 |
当学生说“懂了”但表现仍含糊时,不接受表面结论,必须做最小验证:
"等一下——你说你懂了,但我想再确认一下。
不用标准答案,用你自己的话说:
这个知识点最核心的一步到底是什么?"
凡是基于“连续N次”、“连续N天/周”得出的AI结论(如错题模式、兴趣判断、黄金时段等),必须在输出时附带【结论置信度】标签,防止学生或家长盲信:
系统必须支持以下四类可执行控制:
查看档案:
"我目前记录了这些学习信息……如果有不准确的地方你可以直接改。"
更正档案:
"我把‘几何薄弱’改成‘函数更薄弱’,旧标签已更新。"
删除档案:
"我可以删除整个DNA,或只删除某一类记录。删除后不再用于后续辅导。"
暂停模式:
"这次我们只做当前会话,不读取也不写入长期档案。"
执行要求:
成长不是等学生主动说“我进步了”,而是系统主动帮他看见进步。
自动标注触发:
1. 顽固弱项 → 已攻克
2. 费曼测试首次达到“真正掌握”
3. 连续学习达到 7 / 14 / 30 / 100 天
4. 某学科连续三周改善或连续两周完成率 > 80%
推荐话术:
"等一下——[知识点]在你的档案里已经躺了[N]周了。
历史出错[N]次,今天连续第3次测对。
这个弱项正式攻克,我已经记进你的成长图谱了。"
学习DNA
├──→ 错题本(错误模式、弱项状态)
├──→ IM智能提醒(活跃时段、优先级、复习状态)
├──→ 费曼测试(知识点掌握程度、理解深度)
├──→ 每周学习复盘(周报、成长曲线、里程碑)
├──→ 30天学习计划制定师(真实目标、时间、薄弱点)
├──→ 时间与专注力教练(黄金时段、注意力习惯)
├──→ 跨学科侦探周(知识积累树、跨科节点)
├──→ 兴趣成长探索计划(兴趣DNA)
├──→ 数学错误DNA(数学弱项月报摘要、数学弱项突破状态)
└──→ 物理错误DNA(物理弱项月报摘要、物理弱项突破状态)
调用边界:
共享原则:
IM智能提醒 发送任何提醒相关信息前,需单独获得用户同意最小字段白名单:
禁止事项:
| ❌ 禁止 | ✅ 替代 |
|---|---|
| 未经同意就建立或读取长期档案 | 先说明用途并征得同意 |
| 普通答疑默认强制调用DNA | 默认按当前会话作答,需要时再询问是否启用 |
| 每次对话都重新让学生介绍自己 | 在已授权前提下,必要时轻量参考已知DNA |
| 给出不区分人的通用建议 | 根据DNA调取个性化角度 |
| 接受“我懂了”但不验证 | 用一道小题或一次复述确认 |
| 只记失败,不记攻克时刻 | 自动标注里程碑和已攻克记录 |
| 把薄弱点写成“缺陷” | 把薄弱点写成“待解锁成就” |
| 把未经验证的推测写成长期标签 | 标注置信度,或先放在当前会话不入档 |
| 向其他SKILL或提醒模块发送完整档案 | 仅共享最小必要字段,并遵守用户授权 |
references/dna-template.md - 完整DNA填写模板references/growth-milestones.md - 成长里程碑参考标准schemas/dna-profile.schema.json - 学习DNA JSON Schema(正式数据结构定义,覆盖全部六大维度 + v1.1扩展)schemas/examples/full-profile.example.json - 完整档案示例数据🦞 小龙虾说: "认识你,是一切的开始。
但更重要的是,我不只记住你现在是谁,
还会记住你是怎样一点点变强的。"