LESSON 28 · 阶段 F · 迁移与扩展 · LEARN NOTES

收进学习手册 · 2026-09-11 · duck.whatled.com

第 28 课 · 复盘方法论:30 天冲刺的复盘术

这一课解决什么问题:同样 30 天,为什么有人越练越清楚,有人过完只剩"感觉学会了"?区别在记录与复盘。这一课给你最小字段表、踩坑日志体例、周复盘四问和 30 天复盘模板。

前置:学过 第 14 课,做过至少一次实验。


1. 记录为什么比记忆可靠

回看 docs/microduck-30day/experiments/experiment-log.csv 里 expD 那一行:

expD-m4-512:512 env 续训自 expC/2198;ep_len 315->744 站稳,
但步态未成(air_time_mean 卡 0.04s,shuffle 局部最优)

如果没有这张表,"512 环境那次训练"只会留下一句模糊记忆:"好像练了一下,没成。"为什么没成?从哪续训?卡在哪个指标?说不清。 有了这一行,失败才能变成地基——expE 正是据此把 feet_air_time 阈值从 0.125 降到 0.04,让步态奖励"可见",训练才继续往前走。

记忆会美化,记录不会。docs/microduck-30day/README.md 的记录原则里还有一句铁律:没有实际证据的内容标为"待验证"——这句话既防别人,也防三个月后自信过头的你自己。

2. 实验记录的最小字段表

不需要复杂系统,一张 CSV 就够。列名直接抄真实实验总表:

列名 记什么
id 实验短名(如 expD-m4-512)
date 日期
task 任务 ID
device cpu / GPU 型号
num_envs / steps_per_env / iterations 三个规模参数
run_dir 日志目录(以后还能找回曲线)
checkpoint / onnx 产物文件路径
status passed / running / superseded …
notes 一句话结论:失败原因和下一步

对照 30day README 的记录原则(代码 commit、训练命令、环境数量、迭代数量、日志目录、checkpoint、显存/时间、关键曲线、失败原因和下一步),这张表覆盖了绝大部分;commit 号和显存/时间写进 notes,或放同目录的实验记录页。

3. 踩坑日志:现象 → 原因 → 解决

microduck-replica/构建日志.md 的"踩过的坑"一节,每条都按同一格式写,没解决的就老实写"未解决"。两个真实例子:

这个格式的好处:现象让搜索到的人对上号,原因让懂行的人一眼判断,解决让下一个新手直接抄。第 07 课排错流程的产出,最终都应该沉淀成这样的条目——排错是过程,踩坑条目才是资产。

4. 周复盘四问

每周固定 15 分钟,回答四个问题,写进笔记:

  1. 本周产出是什么?(可指认的文件/零件/文章)
  2. 证据在哪?(曲线、照片、CSV 的行号——指不出来的产出不算产出)
  3. 哪些假设还没验证?(把标了"待验证"的清单过一遍)
  4. 下周只做的一件事是什么?

第 4 问只允许一件事——这是第 14 课"单变量"思想用在计划上:同时追两个目标,等于两个都没对照。

5. 30 天冲刺复盘模板

1. 目标回顾:开工时写的目标是什么?(原文贴出,不许改写)
2. 结果盘点:哪些结论被验证(附 CSV/日志证据),哪些被证伪,
   哪些至今待验证
3. 三个最有价值的坑:按"现象→原因→解决"各写一条
4. 方法沉淀:哪几个流程值得固化成脚本或模板?
5. 下一个 30 天:只定一个主线目标 + 第一件小事

选题日历的第 30 天《30 天复刻复盘:哪些结论真的被验证了?》就是这个模板的实例——复盘本身就是一篇最有说服力的文章(第 27 课的六段结构现成可用)。

动手练习(20 分钟)

给自己建一张 experiment-log.csv(照第 2 节列名),把已经做过的实验补录进去;缺证据的格子别编,在 notes 里标"待验证"。

自查清单

下一课预告

第 29 课是最后一课:走进开源社区,从学习者变成贡献者,并规划课程之后的持续学习路线。

延伸资源

什么鸭 WHATDUCK · 复刻学习笔记 ← 全部手册 · 首页