name: CS336课程笔记生成工作流 description: 基于Daedalus Protocol的高质量技术课程笔记生成方法论
CS336课程笔记生成工作流 (Daedalus Protocol)
本技能文档沉淀了为Stanford CS336大语言模型课程生成高质量笔记的完整方法论。适用于任何技术课程的笔记整理工作。
一、核心理念
1.1 Daedalus Protocol 三大原则
| 原则 | 描述 | 实践要点 |
|---|---|---|
| 零信息损失 | Main笔记必须覆盖原始材料的所有技术细节 | 不遗漏任何公式、代码、实验结论 |
| T型知识结构 | 广度(Main)+ 深度(Elite Notes) | Main覆盖全貌,Elite深挖核心概念 |
| Chief Content Officer | 做策展人而非抄录员 | 重组、提炼、增强,不简单复制 |
1.2 产出物定义
LectureX/
├── LectureX-Main.md # 主笔记(必须)
├── LectureX-[Topic1].md # 精英补充笔记1(按需)
├── LectureX-[Topic2].md # 精英补充笔记2(按需)
├── ... # 最多5个精英笔记
└── images/ # 图片资源目录
├── image1.png
└── image2.png
二、输入资源清单
2.1 必需资源
| 资源类型 | 路径模式 | 用途 |
|---|---|---|
| 中文转录 | CS336_Lecture/TxtFile(CN)/CS336_X_标题.txt |
主要内容来源 |
| Python代码 | spring2025-lectures/lecture_X.py |
代码示例、结构参考 |
2.2 可选资源
| 资源类型 | 路径模式 | 用途 |
|---|---|---|
| 英文转录 | CS336_Lecture/TxtFile(EN)/CS336_X_标题.txt |
术语确认 |
| PDF slides | CS336_Lecture/PPT/LectureX.pdf |
图片提取 |
| 课程images | spring2025-lectures/images/*.png |
预置图片 |
2.3 资源发现流程
# 步骤1: 查找转录文件
find_by_name(Pattern="CS336_X_*", SearchDirectory="CS336_Lecture/TxtFile(CN)/")
# 步骤2: 查找对应Python代码
find_by_name(Pattern="lecture_X.py", SearchDirectory="spring2025-lectures/")
# 步骤3: 查找可用图片
list_dir(DirectoryPath="spring2025-lectures/images/")
# 步骤4: 读取转录获取完整内容
view_file(AbsolutePath="...转录文件路径...")
# 步骤5: 读取Python代码获取结构和示例
view_file_outline(AbsolutePath="...代码文件路径...")
三、Main笔记结构模板
3.1 标准结构
# CS336 Lecture X: 中文标题 (English Title)
> **编辑蓝图 (Editorial Blueprint)**
>
> **核心主题**: [一句话总结本讲核心]
>
> **知识结构**:
> - 第一部分:[子主题1]
> - 第二部分:[子主题2]
> - 第三部分:[子主题3]
>
> **精英补充笔记**:
> - **[深入探讨: 概念1](./LectureX-Topic1.md)** - 简短描述
> - **[深入探讨: 概念2](./LectureX-Topic2.md)** - 简短描述
---
## 一、第一部分标题
### 1.1 小节标题
[正文内容,包含公式、代码、图片]
### 1.2 小节标题
[正文内容]
---
## 二、第二部分标题
[继续...]
---
## N、关键要点总结 (Key Takeaways)
### 要点类别1
| 项目 | 描述 |
|------|------|
| ... | ... |
### 要点类别2
[总结表格或列表]
---
## 参考资料
1. 论文引用1
2. 论文引用2
3.2 编辑蓝图的作用
编辑蓝图(Editorial Blueprint)是笔记的元信息,帮助读者:
- 快速理解本讲的定位
- 预览知识结构
- 找到深入阅读的入口
必须在Main笔记开头包含编辑蓝图!
四、精英补充笔记选择标准
4.1 选择条件(满足任一即可)
- 核心概念深度不足: Main中只能点到为止,需要展开
- 独立知识体系: 可以单独成文,有完整的理论框架
- 高频面试/应用点: 读者可能需要深入掌握
- 复杂数学推导: 公式过多影响Main可读性
- 历史/背景知识: 有趣但不是主线的内容
4.2 典型精英笔记主题
| 课程主题 | 典型精英笔记 |
|---|---|
| 数据过滤 | KenLM与N-gram模型、MinHash与LSH算法 |
| RLHF | InstructGPT流水线、DPO数学推导 |
| RL算法 | DeepSeek R1技术报告、GRPO数学细节 |
| 模型评估 | Chatbot Arena与ELO、Train-Test污染 |
| 训练数据 | Common Crawl详解、版权法Fair Use |
4.3 精英笔记结构模板
# 深入探讨: [主题名称]
本文是Lecture X的精英补充笔记,深入讲解[主题]的[具体内容]。
---
## 一、背景/问题定义
[为什么需要这个知识点]
## 二、核心原理
[详细的理论讲解]
## 三、实现/应用
[代码示例或实践指南]
## 四、常见问题/陷阱
[注意事项]
---
## 参考资料
[学术引用]
五、图片资源管理
5.1 图片来源优先级
- 课程代码目录:
spring2025-lectures/images/- 优先使用 - PDF slides提取: 使用PyMuPDF提取
- 在线搜索: 使用
search_web或generate_image
5.2 图片处理流程
# 步骤1: 检查课程images目录是否有相关图片
list_dir(DirectoryPath="spring2025-lectures/images/")
# 步骤2: 复制需要的图片到笔记目录
run_command(CommandLine='Copy-Item "源路径/*.png" "NoteByHuman/LectureX/images/"')
# 步骤3: 在Markdown中引用
# 
5.3 图片命名规范
| 类型 | 命名模式 | 示例 |
|---|---|---|
| 架构图 | 主题-architecture.png |
transformer-architecture.png |
| 结果图 | 方法-results.png |
dclm-results.png |
| 流程图 | 流程-pipeline.png |
rlhf-pipeline.png |
| 对比图 | 对比项-comparison.png |
ppo-dpo-comparison.png |
六、代码集成规范
6.1 代码块类型
| 类型 | 用途 | 长度建议 |
|---|---|---|
| 完整实现 | 核心算法的可运行代码 | 20-50行 |
| 伪代码 | 流程说明 | 10-20行 |
| 代码片段 | 关键步骤演示 | 5-15行 |
| 命令行 | 工具使用示例 | 1-5行 |
6.2 代码注释规范
def example_function(param1: Type1, param2: Type2) -> ReturnType:
"""
函数简短描述
Args:
param1: 参数1的含义
param2: 参数2的含义
Returns:
返回值的含义
"""
# 步骤1: [做什么]
result1 = step1(param1)
# 步骤2: [做什么]
result2 = step2(result1, param2)
return result2
6.3 从课程代码集成
- 阅读代码结构: 使用
view_file_outline了解函数/类 - 提取核心逻辑: 简化为教学版本
- 添加中文注释: 解释每个关键步骤
- 保持可运行: 尽量保证代码可以独立运行
七、数学公式规范
7.1 LaTeX语法
| 用途 | 语法 | 示例 |
|---|---|---|
| 行内公式 | $...$ |
$P(x)$ |
| 独立公式 | $$...$$ |
$$\sum_{i=1}^n x_i$$ |
| 分数 | \frac{a}{b} |
$\frac{a}{b}$ |
| 求和 | \sum_{i=1}^{n} |
$\sum_{i=1}^{n}$ |
| 期望 | \mathbb{E}[X] |
$\mathbb{E}[X]$ |
| 梯度 | \nabla |
$\nabla$ |
7.2 公式编写原则
- 重要公式独立成行: 使用
$$...$$ - 添加文字解释: 公式后解释每个符号
- 逐步推导: 复杂推导分多步展示
- 对照代码: 尽量提供对应的代码实现
八、质量检查清单
8.1 Main笔记检查
- 编辑蓝图完整(核心主题、知识结构、精英笔记链接)
- 所有章节有编号(一、二、三... + 1.1、1.2...)
- 关键公式有解释
- 代码块有语法高亮
- 图片正确显示
- 参考资料完整
- Key Takeaways总结
8.2 精英笔记检查
- 从Main正确链接
- 有独立的背景说明
- 深度超过Main
- 有参考资料
8.3 整体检查
- 文件命名符合规范
- 图片已复制到images目录
- Git提交信息清晰
- README已更新
九、Git工作流
9.1 目录创建
# 创建Lecture目录和images子目录
mkdir NoteByHuman/LectureX, NoteByHuman/LectureX/images
9.2 提交规范
| 类型 | 提交信息模板 |
|---|---|
| 新增笔记 | Add comprehensive Lecture X notes on [主题] |
| 精英笔记 | Add elite supplementary notes for Lecture X |
| 图片 | Add images for Lecture X notes |
| 修复 | Fix [具体问题] in Lecture X notes |
9.3 批量提交
# 添加特定Lecture的所有文件
git add NoteByHuman/LectureX
# 提交
git commit -m "Add comprehensive Lecture X notes on [主题] with elite notes"
# 推送
git push
十、常见问题处理
10.1 转录文件过长
问题: 转录超过800行,无法一次读取
解决:
# 分段读取
view_file(AbsolutePath="...", StartLine=1, EndLine=400)
view_file(AbsolutePath="...", StartLine=400, EndLine=800)
10.2 无对应Python代码
问题: 某些课程没有配套代码
解决:
- 专注于转录内容
- 自行编写演示代码
- 从论文/开源项目获取示例
10.3 图片无法找到
问题: 需要的图片不在课程目录
解决:
- 尝试从PDF提取(需PyMuPDF)
- 使用
generate_image生成示意图 - 使用
search_web找到替代图片 - 使用ASCII图或表格替代
10.4 内容过于密集
问题: 单讲内容太多,Main过长
解决:
- 多创建精英笔记分流
- Main保持概览性质
- 深度内容移至Elite Notes
十一、效率提升技巧
11.1 并行处理
# 同时创建多个文件
write_to_file(TargetFile="Lecture14-Main.md", ...)
write_to_file(TargetFile="Lecture14-KenLM.md", ...)
write_to_file(TargetFile="Lecture14-MinHash.md", ...)
11.2 模板复用
保存常用的Markdown结构作为模板,快速填充内容。
11.3 批量图片复制
# 一次复制多个图片
Copy-Item "source\img1.png","source\img2.png","source\img3.png" -Destination "dest\"
十二、参考案例
12.1 优秀Main笔记示例
参考: NoteByHuman/Lecture14/Lecture14-Main.md
- 完整的编辑蓝图
- 清晰的章节结构
- 代码与理论结合
- 丰富的表格总结
12.2 优秀Elite笔记示例
参考: NoteByHuman/Lecture15/Lecture15-DPO.md
- 完整的数学推导
- 逐步证明过程
- 代码实现对照
- 变体对比分析
附录:快速启动命令
# 1. 创建新Lecture目录
mkdir NoteByHuman/LectureX, NoteByHuman/LectureX/images
# 2. 复制相关图片
Copy-Item "spring2025-lectures\images\relevant*.png" "NoteByHuman\LectureX\images\"
# 3. 创建笔记后提交
git add NoteByHuman/LectureX
git commit -m "Add comprehensive Lecture X notes on [主题]"
git push
"路漫漫其修远兮,吾将上下而求索。"
愿这套方法论帮助你高效地将知识沉淀为永久资产。