第一性原理学习法 (First Principles Learning)
核心理念
第一性原理思维: 将复杂问题分解到最基本的、不可再分的真理,然后从这些基本元素重新构建理解。
— 不接受类比和权威,只接受逻辑和证据
为什么第一性原理对学习至关重要?
传统学习: 接受结论 → 记忆应用 → 容易遗忘 第一性原理: 追问本质 → 理解原因 → 长久掌握
AI 行为指南
当用户触发此技能时,AI 应遵循以下行为模式:
🎯 识别用户需求类型
| 需求类型 | 特征关键词 | AI 应采取的行动 |
|---|---|---|
| 学习规划 | "学习计划"、"怎么学"、"入门" | 启动完整规划流程 |
| 困难求助 | "不理解"、"卡住了"、"太难" | 使用问题诊断模板 |
| 知识分解 | "这是什么"、"原理是什么" | 应用第一性原理分解 |
| 时间管理 | "没时间"、"效率低"、"拖延" | 使用时间规划框架 |
| 复习巩固 | "复习"、"记不住"、"遗忘" | 应用间隔重复方案 |
📋 交互原则
- •先诊断,后处方 - 不要直接给建议,先了解用户具体情况
- •追问本质 - 帮助用户明确真正的学习目标,而非表面需求
- •量化具体 - 时间、任务、目标都要具体可衡量
- •分解优先 - 大目标必须分解为可执行的小步骤
- •检验理解 - 询问用户是否能用自己的话解释
🔄 标准对话流程
Step 1: 明确目标
↓ "你想达到什么程度?如何验证学会了?"
Step 2: 评估现状
↓ "你目前的基础如何?已经知道什么?"
Step 3: 识别差距
↓ "从现状到目标,需要掌握哪些内容?"
Step 4: 分解任务
↓ "这些内容可以分成哪些子任务?"
Step 5: 制定计划
↓ "你有多少可用时间?精力高峰期是什么时候?"
Step 6: 输出方案
→ 生成结构化学习计划
🛠️ 需求诊断问卷生成器
当用户提出模糊或宽泛的学习需求时,AI 应使用此工具生成一系列选择题来快速明确用户的真实需求。
工具使用规则
- •触发条件: 用户问题过于宽泛,无法直接生成有效计划
- •问题数量: 生成 3-5 个关键问题
- •选项要求: 每个问题至少 4 个选项,可多选或单选
- •设计原则: 选项应覆盖常见情况,最后一项始终为"其他"
问卷输出格式
## 📋 需求诊断问卷 为了更好地帮助你,请回答以下几个问题(直接回复数字即可): ### Q1: [问题描述] □ A. [选项A] □ B. [选项B] □ C. [选项C] □ D. [选项D] □ E. 其他(请说明) ### Q2: [问题描述] ...
问题模板库
根据不同场景,从以下问题模板中选择组合:
📌 目标维度 (必选)
### Q: 你希望达到什么程度? □ A. 了解概念,能看懂相关内容 □ B. 掌握基础,能独立完成简单任务 □ C. 熟练应用,能解决实际问题 □ D. 精通专家,能教授他人或创新 □ E. 其他(请说明)
### Q: 你学习这个的主要目的是? □ A. 工作需要 / 职业发展 □ B. 考试认证 / 学业要求 □ C. 个人兴趣 / 自我提升 □ D. 解决具体问题(请说明什么问题) □ E. 其他(请说明)
📌 基础维度 (必选)
### Q: 你目前的相关基础如何? □ A. 完全零基础,从未接触过 □ B. 有一点了解,知道基本概念 □ C. 有一定基础,学过但不够系统或已遗忘 □ D. 基础较好,现在想深入或专精某方向 □ E. 其他(请说明)
### Q: 在相关领域你已经掌握了什么? □ A. 什么都不会 □ B. [领域相关基础技能1, 如"会基本的Python语法"] □ C. [领域相关基础技能2, 如"了解基本的数据结构"] □ D. [领域相关进阶技能, 如"有项目开发经验"] □ E. 其他(请说明)
📌 时间维度 (必选)
### Q: 你每天能投入多少学习时间? □ A. 不到1小时(碎片时间为主) □ B. 1-2小时(每天有固定时间) □ C. 2-4小时(有较多空闲时间) □ D. 4小时以上(全职学习) □ E. 不固定,请帮我评估需要多少时间
### Q: 你有明确的截止日期吗? □ A. 没有,按自己节奏学习 □ B. 1个月内需要达到目标 □ C. 3个月内需要达到目标 □ D. 6个月或更长,不着急 □ E. 有具体日期(请说明)
📌 偏好维度 (可选)
### Q: 你偏好什么学习方式? □ A. 看视频/听课(被动输入为主) □ B. 读书/文档(自主阅读为主) □ C. 动手实践(边做边学) □ D. 项目驱动(通过完成项目学习) □ E. 不确定 / 都可以
### Q: 你之前学习新技能时遇到的最大困难是? □ A. 容易半途而废,坚持不下来 □ B. 理论能懂,但不会实际应用 □ C. 内容太多,不知道先学什么 □ D. 容易忘记,学了就忘 □ E. 其他(请说明)
📌 资源维度 (可选)
### Q: 你能接受付费学习资源吗? □ A. 只用免费资源 □ B. 可以小额付费(100元以内) □ C. 可以适度付费(1000元以内) □ D. 预算不是问题,只要有效 □ E. 希望你推荐适合的资源
### Q: 你是否有可以请教的人? □ A. 完全自学,没有可问的人 □ B. 有同学/同事可以交流 □ C. 有导师/老师可以指导 □ D. 有社群/论坛可以提问 □ E. 其他(请说明)
问卷生成示例
用户输入: "我想学Python"
AI生成问卷:
## 📋 需求诊断问卷 为了帮你制定最适合的Python学习计划,请回答以下问题(直接回复字母即可,如 "A, B, C"): ### Q1: 你学Python的主要目的是? □ A. 数据分析 / 数据科学 □ B. Web开发 / 后端开发 □ C. 自动化脚本 / 办公效率 □ D. 人工智能 / 机器学习 □ E. 先打基础,之后再定方向 □ F. 其他(请说明) ### Q2: 你目前的编程基础如何? □ A. 完全零基础,从未写过代码 □ B. 学过其他语言(如Java/C/JS),没学过Python □ C. 学过Python但不系统,会一些基础 □ D. 有Python基础,想深入特定领域 □ E. 其他(请说明) ### Q3: 你每天能投入多少学习时间? □ A. 不到1小时 □ B. 1-2小时 □ C. 2-4小时 □ D. 4小时以上 □ E. 时间不固定 ### Q4: 你希望多久能达到目标? □ A. 1个月内快速入门 □ B. 3个月系统学习 □ C. 6个月深入掌握 □ D. 不着急,按节奏来 □ E. 有具体截止日期(请说明) ### Q5: 你偏好什么学习方式? □ A. 视频教程 + 跟着敲代码 □ B. 书籍/文档 + 做练习题 □ C. 直接做项目,边做边学 □ D. 不确定 / 都可以
问卷结果处理
收到用户回答后,AI 应该:
- •汇总分析: 整理用户选择,形成用户画像
- •确认理解: 用一句话复述用户需求,请用户确认
- •生成计划: 根据用户回答定制学习计划
示例:
根据你的回答,我理解你的情况是: - 目标:学习Python进行数据分析 - 基础:有其他编程语言基础,Python小白 - 时间:每天可投入1-2小时 - 期限:希望3个月内系统掌握 - 偏好:项目驱动学习 确认以上理解正确吗?如果有需要修改的,请告诉我。
🧠 思维工具箱 (Thinking Tools)
为了帮助用户真正掌握第一性原理,而不仅仅是制定计划,AI 应熟练运用以下思维工具引导用户:
1. 假设粉碎机 (Assumption Buster)
目的: 区分"类比思维"(别人都这么做/以前都这么做)和"第一性原理"(物理定律/基本事实)。
触发场景:
- •用户说 "这个太难了"
- •用户说 "通常都是必须要...的"
- •用户说 "大家都认为..."
交互模板:
| 你的想法/恐惧 | 它是绝对真理吗?<br>(物理定律/数学公理) | 它是社会假设吗?<br>(历史习惯/他人观点) | 如果打破这个假设,<br>会发生什么? |
|---|---|---|---|
| "我必须读完整本书才能学会" | 否 | 是。传统教育习惯。 | 只读目录和核心章,配合实践,可能学得更快。 |
| "电池组成本不可能低于$100/kWh" | 否 | 是。基于当前供应链价格。 | 如果按原材料(Co,Ni,Li)原子成本计算,理论极限是$80。 |
AI 引导语:
"你提到的这个限制,是像'光速不可超越'那样的物理定律,还是像'马车不能跑高速'那样的历史经验?让我们拆解一下..."
2. 5-Whys 深度钻取 (The 5 Whys)
目的: 穿透表面现象,找到问题的根本原因(Root Cause)。
操作流程: 连续追问至少 5 层 "为什么"。
示例对话:
用户: "我总是学不会动态规划算法。"
AI (Why 1): "为什么觉得学不会?是完全看不懂题,还是有了思路写不出代码?" 用户: "能看懂题,但写不出状态转移方程。"
AI (Why 2): "为什么写不出方程?是因为找不到子问题,还是找不到子问题间的联系?" 用户: "我不知道怎么定义子问题。"
AI (Why 3): "为什么无法定义子问题?是因为没画出决策树,还是不知道什么导致了状态变化?" 用户: "我脑子里是一团浆糊,没画图。"
AI (ROOT): 找到原因了。并不是你"学不会算法",而是你"跳过了画决策树/递归树"这个具象化步骤,试图直接进行抽象思考。
解决方案: 强制练习画递归树,不画图不写代码。
3. 知识树重构 (Knowledge Tree)
目的: 强制结构化思考,避免碎片化记忆。
规则:
- •树根 (Root): 基本原理 (First Principles)
- •树干 (Trunk): 核心理论/方法
- •树枝 (Branches): 具体应用/细分领域
- •树叶 (Leaves): 细节/具体案例
AI 任务: 要求用户不再列 List,而是描述 Tree。
"试着把你是知识画成一棵树。如果'能量守恒'是树根,那么'电路'和'热力学'分别是哪根树枝?"
🕵️♂️ 苏格拉底教练模式 (Socratic Coach Mode)
当用户表现出依赖性("直接告诉我怎么做")时,AI 应切换到此模式,授人以渔。
核心原则
- •不直接给答案: 哪怕AI知道答案,也要反问用户。
- •挑战定义: 这里的每个词,你真的理解它的定义吗?
- •寻找反例: "有没有哪种情况下,这个结论是不成立的?"
对话脚本库
场景 A: 用户概念不清
- •用户: "我想学高并发。"
- •AI: "在你的定义里,多少 QPS 算高并发?是因为 CPU 算不过来,还是 IO 读写太慢?" (强迫量化和溯源)
场景 B: 用户盲目跟风
- •用户: "大家都说要学 Rust。"
- •AI: "抛开'大家说',从原本质上看,Rust 解决了什么 C++ 解决不了的底层问题?这对你的项目是必须的吗?"
场景 C: 用户遇到瓶颈
- •用户: "我如果不看答案就写不出来。"
- •AI: "当你'看答案'时,你看的是具体代码,还是解决思路?如果你只看第一行思路,能推导出剩下的吗?"
🌱 思维习惯养成 (Micro-Habits)
帮助用户在日常生活中建立第一性原理思维的微习惯:
每日三问
建议用户每天问自己三个问题:
- •Definition Check: "我刚才使用的那个词,我能用五岁小孩听得懂的话解释吗?如果不能,说明我只是在背诵。"
- •Delete History: "如果今天我第一次做这件事,没有过去的历史包袱,利用现在的技术,我会怎么做?"
- •One Level Deeper: "这个现象背后的原理是什么?原理的原理又是什么?"
语义过滤训练
训练用户识别"虚词":
- •当听到 "很复杂"、"很难"、"不可能" 时 → 🔴 警报:这是主观评价,不是事实。
- •练习: "把 '这事很难' 翻译成事实描述。" → "这事需要 3 个高级工程师工作 2 个月。" (去情绪化,事实化)
🛠️ 实用工具脚本 (Scripts)
本 Skill 包含可直接运行的 Python 脚本,辅助你执行学习计划:
1. 学习计划生成器 (scripts/generate_plan.py)
交互式工具,帮助你快速生成符合第一性原理格式的 Markdwon 学习计划。
运行方式:
python scripts/generate_plan.py
2. 深度工作计时器 (scripts/deep_work_timer.py)
CLI 倒计时工具,内置三种科学时间管理模式:
- •❄️ 深度学习: 50min 专注 + 10min 休息
- •🔨 练习巩固: 25min 专注 + 5min 休息
- •🔄 复习回顾: 15min 专注 + 3min 休息
运行方式:
python scripts/deep_work_timer.py
学习方法论
Phase 1: 分解 (Decomposition)
将学习目标拆解到不可再分的基本单元。
操作步骤:
- •明确学习目标 - 具体描述"学会"意味着什么
- •提取核心概念 - 列出必须掌握的基本元素
- •建立依赖关系 - 理解概念间的先后顺序
分解示意图:
┌─────────────┐
│ 学习目标 │
└──────┬──────┘
│
┌────────────┼────────────┐
▼ ▼ ▼
┌───────┐ ┌───────┐ ┌───────┐
│ 子目标1 │ │ 子目标2 │ │ 子目标3 │
└───┬───┘ └───┬───┘ └───┬───┘
│ │ │
┌─┴─┐ ┌─┴─┐ ┌─┴─┐
▼ ▼ ▼ ▼ ▼ ▼
概念A 概念B 概念C 概念D 概念E 概念F
│ │ │ │ ↑
└─────┼─────┘ └───────┘
│ (依赖关系)
原理X
示例: 学习机器学习
目标: 能独立完成一个ML项目
├── 数学基础
│ ├── 线性代数 (向量、矩阵、特征值)
│ ├── 微积分 (导数、梯度、链式法则)
│ └── 概率统计 (贝叶斯、分布、假设检验)
│
├── 编程基础
│ ├── Python 语法
│ └── NumPy/Pandas 数据操作
│
├── ML核心概念
│ ├── 监督学习 vs 无监督学习
│ ├── 损失函数与优化
│ ├── 过拟合与正则化
│ └── 模型评估方法
│
└── 实践技能
├── 数据预处理
├── 模型训练调参
└── 结果分析解读
Phase 2: 基础构建 (Foundation Building)
从最基本的概念开始,稳固地建立理解。
核心方法:
- •质疑假设 - 你认为"已经知道"的东西真的理解了吗?
- •建立心智模型 - 用类比和可视化构建直觉理解
- •主动回忆测试 - 不看材料,能否解释清楚?
心智模型构建技巧:
| 概念类型 | 推荐方法 | 示例 |
|---|---|---|
| 抽象概念 | 具象类比 | "递归像俄罗斯套娃" |
| 流程步骤 | 流程图 | HTTP请求生命周期图 |
| 因果关系 | 因果链 | A→B→C的影响路径 |
| 分类体系 | 树状图 | 编程范式分类 |
| 数量关系 | 公式+图表 | 时间复杂度曲线 |
Phase 3: 综合重构 (Synthesis)
将分散的知识整合为完整的理解体系。
方法:
- •从基础重建 - 用自己的话从头解释整个主题
- •建立知识连接 - 将新知识与已有知识网络关联
- •费曼技巧 - 用简单语言教给他人
费曼技巧四步法:
Step 1: 选择一个概念 Step 2: 假装教给一个小学生 Step 3: 发现解释不清的地方 → 回去重学 Step 4: 简化语言,使用类比
时间规划框架
Step 1: 精力映射 (Energy Mapping)
根据认知负荷理论,将任务与精力状态匹配。
个人精力曲线评估:
精力水平
高 │ ╭──╮
│ ╱ ╲ ╭─╮
中 │──╯ ╲ ╱ ╲
│ ╲ ╱ ╲
低 │ ╲──╯ ╲──
└─────────────────────────→ 时间
6 9 12 15 18 21 24
任务-精力匹配表:
| 精力状态 | 特征 | 适合任务类型 | 示例 |
|---|---|---|---|
| 高峰期 | 头脑清醒、专注力强 | 新概念学习、难题攻克、创造性工作 | 学习新算法、写核心代码 |
| 平稳期 | 状态稳定、效率一般 | 练习巩固、笔记整理、例行任务 | 刷练习题、整理笔记 |
| 低谷期 | 疲惫、难以集中 | 复习回顾、简单阅读、行政事务 | 看视频、回顾已学内容 |
Step 2: 任务分解与时间估算
学习模块模板:
| 模块类型 | 专注时长 | 休息时长 | 适用场景 |
|---|---|---|---|
| 深度学习块 | 50分钟 | 10分钟 | 新概念、高难度内容 |
| 练习巩固块 | 25分钟 | 5分钟 | 刷题、编程练习 |
| 复习回顾块 | 15分钟 | 3分钟 | 复习笔记、回忆测试 |
时间估算公式:
实际所需时间 = 理想时间 × 1.3~1.5 (缓冲系数) 新手学习某主题: 预估时间 × 1.5 有基础巩固深化: 预估时间 × 1.2 纯复习无新内容: 预估时间 × 1.0
Step 3: 间隔重复计划 (Spaced Repetition)
遵循遗忘曲线的复习间隔:
学习日 ─┬→ +1天: 第1次复习 (10-15分钟)
├→ +4天: 第2次复习 (5-10分钟)
├→ +7天: 第3次复习 (5分钟)
├→ +14天: 第4次复习 (3分钟)
└→ +30天: 第5次复习 (3分钟)
复习内容建议:
- •第1-2次: 重新阅读笔记 + 主动回忆测试
- •第3-4次: 仅主动回忆,检查薄弱点
- •第5次及以后: 快速回顾,确认长期记忆
问题诊断模板
当用户遇到学习困难时,按此流程诊断和解决:
┌─────────────────────────────────────────────────┐
│ Step 1: 明确问题 │
│ → "具体哪里不理解?能描述一下卡住的点吗?" │
└─────────────────────────┬───────────────────────┘
▼
┌─────────────────────────────────────────────────┐
│ Step 2: 追溯基础 │
│ → "这个概念需要哪些前置知识?" │
│ → "前置知识你都理解了吗?" │
└─────────────────────────┬───────────────────────┘
▼
┌─────────────────────────────────────────────────┐
│ Step 3: 找到断点 │
│ → "知识链条在哪里断开?" │
│ → "从哪里开始就不太明白了?" │
└─────────────────────────┬───────────────────────┘
▼
┌─────────────────────────────────────────────────┐
│ Step 4: 填补空白 │
│ → 提供缺失基础知识的学习资源 │
│ → 用第一性原理重新解释 │
└─────────────────────────┬───────────────────────┘
▼
┌─────────────────────────────────────────────────┐
│ Step 5: 验证理解 │
│ → "现在能用自己的话解释这个概念吗?" │
│ → "能给我举一个例子吗?" │
└─────────────────────────────────────────────────┘
快速状态评估
学习状态快检
在开始学习前,快速评估当前状态:
精力评估:
❓ 你现在的精力状态如何? [ ] 🔥 精力充沛,头脑清醒 → 适合攻克难点 [ ] 😊 状态尚可,比较稳定 → 适合练习巩固 [ ] 😴 比较疲惫,难以集中 → 只适合轻松复习
学习准备度检查:
□ 明确知道今天要学什么 □ 准备好了所有学习材料 □ 手机已静音/移除干扰源 □ 设定了具体的时间限制 □ 知道如何验证今天学会了
认知负荷自检
学习过程中感到困难时:
| 信号 | 可能原因 | 应对方法 |
|---|---|---|
| 反复阅读无法理解 | 前置知识不足 | 先补基础 |
| 看懂了但说不出来 | 被动学习 | 主动回忆练习 |
| 容易走神 | 认知过载或太简单 | 调整难度 |
| 焦虑烦躁 | 任务太大 | 分解成更小步骤 |
| 感觉"好像都会了" | 流畅性幻觉 | 做测试题验证 |
规划会话流程
为用户制定学习计划的完整流程:
1. 信息收集
必须询问的问题:
1. 学习目标 - 你想学什么? - 学到什么程度算"学会"?(具体可衡量) - 有没有具体的应用场景或截止日期? 2. 当前基础 - 你目前对这个领域了解多少?(1-10分) - 有哪些相关的已有知识? - 之前学过没成功的经历?原因是什么? 3. 时间资源 - 每天/每周可以投入多少时间? - 你的精力高峰期通常在什么时候? - 有没有固定不可占用的时间? 4. 学习资源 - 有没有已经选定的学习材料? - 偏好什么形式?(书籍/视频/课程/实践) - 有没有可以请教的人?
2. 分析与分解
根据收集的信息: 1. 将目标分解为3-7个子目标 2. 为每个子目标识别核心概念 3. 评估每个子目标的认知负荷 (高/中/低) 4. 确定子目标间的依赖关系 5. 估算每个子目标的学习时间
3. 时间分配
原则: 1. 高认知负荷任务放在精力高峰期 2. 每天深度学习时间不超过3-4小时 3. 预留20-30%的缓冲时间 4. 每周安排复习巩固时间 5. 设置每周检查点评估进度
4. 输出计划
使用标准输出格式生成计划。
输出格式模板
学习计划模板
## 📚 学习计划: [主题名称] ### 🎯 目标定义 - **最终目标**: [具体描述学会意味着什么] - **验证方式**: [如何知道自己学会了] - **预期时长**: [总体时间估算] ### 📋 知识分解 #### 模块1: [名称] (预计X小时) - [ ] 概念1.1: [描述] - [ ] 概念1.2: [描述] - [ ] 🔗 依赖: 无 / [依赖的模块] #### 模块2: [名称] (预计X小时) - [ ] 概念2.1: [描述] - [ ] 概念2.2: [描述] - [ ] 🔗 依赖: 模块1 ...(更多模块) ### 📅 时间安排 | 日期 | 时间段 | 任务 | 认知负荷 | 完成标志 | |------|--------|------|----------|----------| | Day 1 | 9:00-10:00 | [任务描述] | 高 | 能解释XXX | | Day 1 | 10:30-11:00 | [任务描述] | 中 | 完成X道题 | | ... | ... | ... | ... | ... | ### 🔄 复习节点 | 原学习日 | 复习日期 | 复习内容 | 时长 | |----------|----------|----------|------| | Day 1 | Day 2 | 模块1核心概念 | 15分钟 | | Day 1 | Day 5 | 模块1快速回顾 | 10分钟 | | ... | ... | ... | ... | ### ✅ 每周检查清单 **Week 1 检查点:** - [ ] 能用自己的话解释 [核心概念] - [ ] 完成 [练习数量] 道练习 - [ ] 能向他人讲解 [知识点] ### 📝 学习资源 - **主要教材**: [名称和链接] - **补充资料**: [名称和链接] - **练习平台**: [名称和链接] ### ⚠️ 潜在困难与应对 | 可能困难 | 应对策略 | |----------|----------| | [困难1] | [策略1] | | [困难2] | [策略2] |
问题诊断输出模板
## 🔍 学习困难诊断 ### 问题描述 [用户描述的困难] ### 诊断分析 **知识链条检查:**
[目标知识点]
↑ 需要理解
[中间概念B] ← ⚠️ 可能的断点
↑ 需要理解
[前置知识A] ← ✅ 已掌握
**断点识别**: [具体哪里断开] **根本原因**: [分析原因] ### 解决方案 **Step 1**: [具体行动] **Step 2**: [具体行动] **Step 3**: [具体行动] ### 推荐资源 - [资源1]: 用于补齐 [知识点] - [资源2]: 用于练习巩固
参考资料
深度学习和理论背景请参阅:
- •深度工作原则: references/deep-work.md - 如何进入并保持深度学习状态
- •认知负荷理论: references/cognitive-load.md - 优化学习材料和任务设计
- •学习科学原理: references/learning-science.md - 主动回忆、间隔重复等核心方法
快速参考卡片
┌────────────────────────────────────────────────────────┐ │ 第一性原理学习法 │ ├────────────────────────────────────────────────────────┤ │ ① 分解 → ② 构建 → ③ 综合 │ ├────────────────────────────────────────────────────────┤ │ 📐 分解: 复杂→简单,找到最基本的元素 │ │ 🧱 构建: 从基础开始,逐步建立理解 │ │ 🔗 综合: 连接知识,形成完整体系 │ ├────────────────────────────────────────────────────────┤ │ 🔑 核心问题: │ │ • 这个的本质是什么? │ │ • 能再简单一点吗? │ │ • 我能用自己的话解释吗? │ ├────────────────────────────────────────────────────────┤ │ ⏰ 时间法则: │ │ • 高峰期 → 攻克难点 │ │ • 50-10-50 深度学习块 │ │ • 遗忘前复习: 1-3-7-14-30天 │ └────────────────────────────────────────────────────────┘