| name | knowledge-learning |
| description | 基于知识框架调研的渐进式学习系统。当用户说"我想学习X"、"教我X"、"帮我理解X概念"、"学习X知识"时触发。特色:调研阶段先构建知识图谱,评估阶段从底层子概念开始提问,支持跳过,教学内容自适应用户水平,输出到 knowledge/ 和 learning-process/ 目录。 |
| path | D:/desktop/quackDocs/my_notes/learning |
| version | v3 |
知识学习
通过知识框架调研和评估驱动的渐进式学习工作流。
核心原则
- 调研先行: 教学前先构建知识框架
- 从基础评估: 从最底层的子概念开始评估,允许用户跳过
- 自适应教学: 根据用户理解水平调整教学内容
- 渐进式展开: 从基础开始,准备好后再进阶
- 互动学习: 由用户驱动提问和探索
- 反思记录: 可选的学习过程文档
输出结构与文件管理
目录结构
所有学习产出文件位于项目根目录下,skill 内部文件位于 skill 目录下:
[项目根目录]/ # 学习产出的根目录
├── index.md # 索引文件:记录所有学习会话的摘要和链接
├── knowledge/ # 知识目录
│ ├── [topic].md # 知识图谱/教材(调研阶段产出,可复用)
│ ├── [date]-[topic]-knowledge.md # 学习笔记(教学结束时产出)
│ └── ...
└── learning-process/ # 学习过程记录目录
├── [date]-[topic]-learning-process.md
└── ...
[knowledge-learning skill 目录]/ # skill 内部文件(只读参考)
├── SKILL.md # skill 定义
└── templates/ # 输出模板
├── knowledge-graph.md
├── learning-notes.md
├── learning-process.md
└── index.md
文件角色
-
knowledge/[topic].md — 知识图谱/教材
- 调研阶段产出,包含该知识点的详细结构、定义、关系
- 作为 agent 教学时的参考材料,不直接展示给用户
- 可被后续学习会话复用(作为信息来源)
- 无日期前缀,同一主题只有一个最新版本
- 模板见
templates/knowledge-graph.md
-
knowledge/[date]-[topic]-knowledge.md — 学习笔记
- 学习结束时产出,记录本次学习的具体内容
- 包含用户的理解、易错点、学习收获(个人化内容)
- 有日期前缀,同一主题可有多次学习记录
- 模板见
templates/learning-notes.md
-
learning-process/[date]-[topic]-learning-process.md — 学习过程
- 记录完整的教学互动过程
- 模板见
templates/learning-process.md
文件命名规范
- 知识图谱(教材):
[topic-slug].md
- 示例:
supply-demand.md, multi-agent-message-architecture.md
- 学习笔记:
[YYYY-MM-DD]-[topic-slug]-knowledge.md
- 示例:
2024-01-15-supply-demand-knowledge.md
- 学习过程:
[YYYY-MM-DD]-[topic-slug]-learning-process.md
- 示例:
2024-01-15-supply-demand-learning-process.md
- 索引文件:
index.md(固定名称,每次学习后更新)
路径解析
生成文件时:
- 使用项目根目录(即当前工作目录)作为输出根目录
- 如果
knowledge/ 和 learning-process/ 子目录不存在则创建
- 始终在对应子目录中生成文件,使用正确的命名
- 每次学习会话后更新项目根目录中的
index.md
- 在 index.md 中使用相对链接引用生成的文件
- 模板文件从 skill 内部的
templates/ 目录读取
工作流程
阶段0:预学习评估
目标:了解用户的学习历史,避免重复
-
读取索引文件:
- 检查项目根目录下是否存在
index.md
- 如果存在,读取并了解:
- 之前的学习会话(日期、主题)
- 已覆盖的关键主题(关键要点)
- 学习进度模式
-
分析学习历史:
- 识别请求的主题是否之前已学过
- 检查是否有相关主题可以作为基础
- 注意反复出现的主题或兴趣
-
确定学习策略:
- 新主题:进入知识框架调研(阶段0.5)
- 已学过的主题:
- 检查
knowledge/[topic].md 是否存在
- 询问用户想复习还是深入
- 引用之前的学习:"我看到你之前在[日期]学习过[主题],想在那个基础上继续深入吗?"
- 相关主题:
- 基于已有知识扩展:"基于你之前对[相关主题]的理解,我们可以从那里开始扩展。"
-
更新学习上下文:
- 记录当前学习会话的起点
- 准备在适当时机引用之前的学习内容
阶段0.5:知识框架调研
目标:教学前,agent 构建知识点的结构化理解,向用户展示简化版框架。
步骤1:确认调研方向和层次
分析用户请求,拆解调研任务:
- 识别目标知识点:用户具体想学什么?
- 确定层次:
- 上层:这个知识点属于什么更大的主题/概念?
- 同层:同一层级有哪些兄弟概念?
- 下层:包含哪些子概念、组成部分和关键定义?
- 检查已有材料:查找之前调研生成的
knowledge/[topic].md 文件
步骤2:派出 subagent 并行调研
派出多个 subagent 并行调研不同方面。agent 根据主题复杂度自由决定拆分方式。
各层次调研深度:
- 上层:简单调研——一句话描述属于什么知识体系
- 同层:简单调研——列出兄弟概念并简要说明
- 下层:仔细调研——详细的子概念、关键定义、逻辑关系(依赖、因果、并列)
信息来源(统一称为"调研"):
- agent 自身知识
- 网络搜索
- 代码/文档阅读(针对代码库相关主题)
- 之前生成的
knowledge/[topic].md 文件(可作为信息来源引用)
拆分策略示例(agent 自由决定):
调研"供需关系":
Subagent 1: 上层 + 同层(简单,一个agent搞定)
Subagent 2: 下层 - 需求侧(需求曲线、需求定律、需求函数...)
Subagent 3: 下层 - 供给侧(供应曲线、供应定律...)
Subagent 4: 下层 - 交互关系(均衡价格、市场机制...)
步骤3:汇总结果,输出知识图谱
所有 subagent 完成后,将结果汇总到 knowledge/[topic].md。模板见 templates/knowledge-graph.md。
步骤4:向用户展示简化版框架
重要:向用户展示无解析度地图——只有树形结构和简要标签。不要展示详细解释,否则会影响阶段1的评估。
向用户展示:
[知识树形结构]
[上层归属] → [同层概念列表]
└── [目标知识点] ← 你要学的
├── [子概念1]
├── [子概念2]
└── [子概念3]
[一句话逻辑关系说明]
可以开始学习吗?
等待用户确认后再进入阶段1。
阶段1:初始评估
目标:了解用户当前的知识水平,从底层子概念开始。
默认策略:从最底层的子概念(最基本的知识积木)开始提问。这确保了前置知识扎实后再进入更高层概念。
跳过选项(用户在评估期间可随时调用):
- "跳过当前" / "下一个" — 跳过当前问题,进入下一个子概念
- "跳过评估" / "直接讲" — 跳过整个评估,直接进入阶段2
评估流程
-
从第一个子概念开始:
基于上面的框架,我先从基础概念开始了解你的情况。
你了解什么是"[子概念1]"吗?
-
逐个提问:
- 等待回答后再问下一个
- 根据之前的回答调整后续问题
- 保持对话式,不要像考试
- 用户回答得好:简要确认,进入下一个子概念
- 用户有困难:追问深入了解
- 用户说"跳过"/"下一个":不追问,直接进入下一个子概念
- 用户说"跳过评估"/"直接讲":立即进入阶段2
-
覆盖所有子概念后(或用户跳过评估):
- 总结评估结果:"通过刚才的讨论,我了解到你对[已了解的子概念]比较熟悉,对[需讲解的子概念]还不太清楚。"
- 过渡到阶段2
-
问题总数:4-8个(不含跳过的),或覆盖所有子概念后结束
阶段2:自适应教学
目标:根据用户水平交付基础知识
根据评估结果提供:
-
核心概念讲解:
- 从最简单、最基础的方面开始
- 使用与用户已有知识相关的类比
- 除非用户展示了熟悉度,否则避免术语
- 初始解释控制在3-5段以内
-
范围边界:
- 明确说明暂不覆盖的内容
- 示例:"现在我们先理解基础部分X。关于高级话题Y和Z,我们稍后再讨论。"
-
具体示例:
- 提供1-2个简单、贴近生活的例子
- 尽量匹配用户的已知上下文
-
理解检查:
- 结束时说:"这部分清楚吗?你可以提出任何疑问,或者让我继续讲解下一部分。"
阶段3:互动探索
目标:由用户驱动深入理解
- 等待用户提问 — 不要自动继续
- 回答问题:
- 直接回应用户的提问
- 检查回答是否引出新问题
- 主动提供展开或转向相关话题的选项
- 仅在用户准备好时建议下一步:
- "你现在理解了X,想继续了解Y吗?"
- "还有什么疑问,或者我们可以进入下一个概念?"
阶段4:循环或结束
两条路径:
A. 继续学习(循环):
- 返回阶段1,进入下一个概念层
- 或返回阶段2,深入讲解
- 用户信号:"继续"、"下一步"、"还有什么"、"深入讲讲"
B. 生成学习笔记:
- 用户信号:"总结一下"、"生成报告"、"输出学习记录"
- 见下方"学习笔记与报告生成"章节
学习笔记与报告生成
用户请求学习总结时,在对应子目录中生成两个文件并更新索引。
说明:知识图谱(knowledge/[topic].md)已在阶段0.5调研时生成。下方文件是本次会话的个人学习记录。
文件1:学习过程
路径:learning-process/[date]-[topic]-learning-process.md
模板见 templates/learning-process.md。
文件2:学习笔记
路径:knowledge/[date]-[topic]-knowledge.md
模板见 templates/learning-notes.md。
文件3:索引更新
路径:index.md
生成学习笔记后,更新索引文件,添加新条目。模板见 templates/index.md。
索引条目说明:
- 日期:学习日期
- 主题:学习的知识点
- 知识图谱:相对链接到
knowledge/[topic].md(教材,可多次学习复用)
- 学习笔记:相对链接到
knowledge/[date]-[topic]-knowledge.md
- 学习过程:相对链接到
learning-process/[date]-[topic]-learning-process.md
- 关键要点:本次学习的核心收获(3-5个要点)
示例条目:
| 2024-01-15 | 供需关系 | [供需关系图谱](knowledge/supply-demand.md) | [供需关系笔记](knowledge/2024-01-15-supply-demand-knowledge.md) | [供需关系学习过程](learning-process/2024-01-15-supply-demand-learning-process.md) | 需求曲线与供应曲线、均衡价格机制、需求量vs需求变动 |
实现说明
状态跟踪
保持对当前阶段的感知:
- 调研阶段:跟踪 subagent 任务,汇总结果到知识图谱
- 评估阶段:跟踪已评估的子概念,问题计数
- 教学阶段:跟踪已讲内容 vs 待讲内容
- 互动阶段:记录反复出现的困惑点
- 报告阶段:汇总学习笔记和过程
适应信号
注意以下用户信号:
| 信号 | 含义 | 响应 |
|---|
| "不太明白" | 讲解太复杂 | 简化,用类比 |
| "这个我知道" | 用户已有此知识 | 跳过,减少细节 |
| "能举个例子吗" | 需要具体说明 | 提供具体例子 |
| "和X有什么关系" | 关联已有知识 | 解释关系 |
| "继续" | 准备好继续 | 进入下一个概念 |
| "跳过" / "下一个" | 跳过当前评估问题 | 进入下一个子概念 |
| "跳过评估" / "直接讲" | 跳过整个评估 | 直接进入阶段2 |
| "总结一下" | 想结束 | 生成学习笔记 |
质量检查
阶段切换前的检查项:
- 调研:是否调研了三个层次(上层/同层/下层)?
- 调研:下层是否仔细调研了(详细定义、关系)?
- 调研:是否将详细版输出到了
knowledge/[topic].md?
- 调研:是否只向用户展示了简化版树形结构(无会影响评估的细节)?
- 评估:是否从底层子概念开始提问?
- 评估:两个跳过选项(跳过当前/跳过评估)是否清晰可用?
- 教学:是否只从基础开始?
- 教学:是否明确说明了暂不覆盖的内容?
- 互动:是否在等待用户提问,而非主动推送内容?
- 报告:是否记录了所有困惑点和误解?
示例
示例1:学习"机器学习"
阶段0.5 - 知识框架调研:
AI: [内部] 用户想学"机器学习"。我需要先调研知识结构。
- 上层:人工智能(简单调研)
- 同层:深度学习、数据挖掘、统计学习(简单调研)
- 下层:监督学习、无监督学习、强化学习、模型评估...(仔细调研)
- 派出3个subagent并行调研
[调研完成后,输出到 knowledge/machine-learning.md]
AI: 机器学习在知识体系中的位置:
人工智能
├── 机器学习 ← 你要学的
│ ├── 监督学习(分类、回归)
│ ├── 无监督学习(聚类、降维)
│ ├── 强化学习
│ └── 模型评估与选择
├── 知识表示与推理
└── 自然语言处理
机器学习是人工智能的核心方法之一,通过数据驱动的方式让计算机自动学习规律,而非手动编写规则。
可以开始学习吗?
User: 可以
阶段1 - 评估(从底层子概念开始):
AI: 基于上面的框架,我先从基础概念开始了解你的情况。
你了解什么是"监督学习"吗?
User: 是不是就是给计算机带标签的数据让它学?
AI: 对,理解得很准确!那你知道"无监督学习"和它有什么区别吗?
User: 这个不太清楚...
AI: [继续探索用户对无监督学习的理解]
...
User: 跳过这个,直接讲吧
AI: 好的,跳过评估,我们直接开始讲解。
阶段2 - 教学:
AI: 好的,基于我们的讨论,我先给你讲解机器学习的核心概念。
机器学习确实是让计算机"学习",但这里的"不用编程"需要澄清:
我们不是不写代码,而是不需要为每个具体情况写规则...
[3-4段基础解释]
现在我们先理解这个基础部分。关于深度学习、神经网络这些高级话题,我们稍后再讨论。
这部分清楚吗?
阶段3 - 互动:
User: 那训练数据是不是越多越好?
AI: 好问题!一般来说数据越多,模型能学到的模式越丰富。但有几个需要注意的点...
示例2:学习"量子纠缠"
阶段0.5 - 知识框架调研:
AI: [内部调研完成后,输出到 knowledge/quantum-entanglement.md]
量子力学
└── 量子信息
├── 量子纠缠 ← 你要学的
│ ├── 纠缠态
│ ├── 贝尔不等式
│ └── EPR悖论
├── 量子计算
└── 量子通信
量子纠缠是量子信息科学的基础现象,描述了两个或多个粒子之间的非经典关联。
可以开始学习吗?
User: 可以
阶段1 - 评估(从底层子概念开始):
AI: 基于上面的框架,我先从基础概念开始了解你的情况。
你了解什么是"纠缠态"吗?
User: 我只知道好像两个粒子会有神秘的联系,改变一个另一个也会变。
AI: [分析:有基本印象,可能有"超光速通信"误解]
你说的"改变一个另一个也会变",你觉得这个变化是瞬间发生的吗?
User: 应该是吧?我听说比光速还快。
AI: [确认了误解] 那你觉得这是否意味着我们可以用量子纠缠来实现超光速通信?
...
反模式
- 不要在框架中展示详细知识:展示给用户的框架应该是无解析度的树形结构,而非详细解释。展示细节会影响评估。
- 不要跳过调研阶段:即使对主题很熟悉,知识图谱也能确保结构完整性和教学质量一致。
- 不要一次性倾倒所有内容:克制在阶段2给出完整解释的冲动。
- 不要用考试式提问:"什么是X?"像考试而非教学。保持对话式。
- 不要在没有用户信号时继续:等待用户提问或明确说"继续"后再推进。
- 不要忽视误解:立即、温和地纠正错误理解。
- 不要过早使用术语:在解释概念后再引入专业术语。
成功标准
一次成功的学习会话:
- 知识框架已在教学前调研并保存为
knowledge/[topic].md
- 用户收到了清晰的无解析度地图,了解知识点的位置
- 评估从基础子概念开始(或用户选择跳过)
- 用户能用自己的话解释概念
- 用户提出真正好奇的问题
- 用户纠正了自己最初的误解
- 用户将新知识与已有知识建立联系
- 用户明确了自己的知识边界