--- 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 资源发现流程 ```python # 步骤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 标准结构 ```markdown # 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)是笔记的**元信息**,帮助读者: 1. 快速理解本讲的定位 2. 预览知识结构 3. 找到深入阅读的入口 **必须在Main笔记开头包含编辑蓝图!** --- ## 四、精英补充笔记选择标准 ### 4.1 选择条件(满足任一即可) 1. **核心概念深度不足**: Main中只能点到为止,需要展开 2. **独立知识体系**: 可以单独成文,有完整的理论框架 3. **高频面试/应用点**: 读者可能需要深入掌握 4. **复杂数学推导**: 公式过多影响Main可读性 5. **历史/背景知识**: 有趣但不是主线的内容 ### 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 精英笔记结构模板 ```markdown # 深入探讨: [主题名称] 本文是Lecture X的精英补充笔记,深入讲解[主题]的[具体内容]。 --- ## 一、背景/问题定义 [为什么需要这个知识点] ## 二、核心原理 [详细的理论讲解] ## 三、实现/应用 [代码示例或实践指南] ## 四、常见问题/陷阱 [注意事项] --- ## 参考资料 [学术引用] ``` --- ## 五、图片资源管理 ### 5.1 图片来源优先级 1. **课程代码目录**: `spring2025-lectures/images/` - 优先使用 2. **PDF slides提取**: 使用PyMuPDF提取 3. **在线搜索**: 使用`search_web`或`generate_image` ### 5.2 图片处理流程 ```python # 步骤1: 检查课程images目录是否有相关图片 list_dir(DirectoryPath="spring2025-lectures/images/") # 步骤2: 复制需要的图片到笔记目录 run_command(CommandLine='Copy-Item "源路径/*.png" "NoteByHuman/LectureX/images/"') # 步骤3: 在Markdown中引用 # ![图片描述](./images/image_name.png) ``` ### 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 代码注释规范 ```python 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 从课程代码集成 1. **阅读代码结构**: 使用`view_file_outline`了解函数/类 2. **提取核心逻辑**: 简化为教学版本 3. **添加中文注释**: 解释每个关键步骤 4. **保持可运行**: 尽量保证代码可以独立运行 --- ## 七、数学公式规范 ### 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 公式编写原则 1. **重要公式独立成行**: 使用`$$...$$` 2. **添加文字解释**: 公式后解释每个符号 3. **逐步推导**: 复杂推导分多步展示 4. **对照代码**: 尽量提供对应的代码实现 --- ## 八、质量检查清单 ### 8.1 Main笔记检查 - [ ] 编辑蓝图完整(核心主题、知识结构、精英笔记链接) - [ ] 所有章节有编号(一、二、三... + 1.1、1.2...) - [ ] 关键公式有解释 - [ ] 代码块有语法高亮 - [ ] 图片正确显示 - [ ] 参考资料完整 - [ ] Key Takeaways总结 ### 8.2 精英笔记检查 - [ ] 从Main正确链接 - [ ] 有独立的背景说明 - [ ] 深度超过Main - [ ] 有参考资料 ### 8.3 整体检查 - [ ] 文件命名符合规范 - [ ] 图片已复制到images目录 - [ ] Git提交信息清晰 - [ ] README已更新 --- ## 九、Git工作流 ### 9.1 目录创建 ```powershell # 创建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 批量提交 ```powershell # 添加特定Lecture的所有文件 git add NoteByHuman/LectureX # 提交 git commit -m "Add comprehensive Lecture X notes on [主题] with elite notes" # 推送 git push ``` --- ## 十、常见问题处理 ### 10.1 转录文件过长 **问题**: 转录超过800行,无法一次读取 **解决**: ```python # 分段读取 view_file(AbsolutePath="...", StartLine=1, EndLine=400) view_file(AbsolutePath="...", StartLine=400, EndLine=800) ``` ### 10.2 无对应Python代码 **问题**: 某些课程没有配套代码 **解决**: - 专注于转录内容 - 自行编写演示代码 - 从论文/开源项目获取示例 ### 10.3 图片无法找到 **问题**: 需要的图片不在课程目录 **解决**: 1. 尝试从PDF提取(需PyMuPDF) 2. 使用`generate_image`生成示意图 3. 使用`search_web`找到替代图片 4. 使用ASCII图或表格替代 ### 10.4 内容过于密集 **问题**: 单讲内容太多,Main过长 **解决**: - 多创建精英笔记分流 - Main保持概览性质 - 深度内容移至Elite Notes --- ## 十一、效率提升技巧 ### 11.1 并行处理 ```python # 同时创建多个文件 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 批量图片复制 ```powershell # 一次复制多个图片 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` - 完整的数学推导 - 逐步证明过程 - 代码实现对照 - 变体对比分析 --- ## 附录:快速启动命令 ```powershell # 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 ``` --- > **"路漫漫其修远兮,吾将上下而求索。"** > > 愿这套方法论帮助你高效地将知识沉淀为永久资产。