怎么真正学会一个项目
这页不是资料导航,而是方法页。
很多人做项目学不会,不是因为资料不够,而是因为顺序错了。最常见的错误有三个:
- 一上来就试图看懂全部代码
- 只看 README,不跑最小链路
- 一直抄仓库,不做自己的小改动
你应该反过来。
正确顺序
第 1 步:先找到最小主链路
你先不要问“这个仓库全部做了什么”,先问:
- 最小输入是什么
- 中间经过哪几个关键步骤
- 最后输出是什么
如果你连这条主链路都讲不清,就还没开始真正理解。
第 2 步:先跑通,再观察
第一遍不求改代码,只求跑通。
你至少要确认:
- 代码真的能运行
- 你知道每一步的输入输出长什么样
- 你知道哪里最值得改
第 3 步:只改一个变量
不要第二天就改成“自己的大项目”。
第一轮最有价值的修改通常只有这些:
- 换一份小数据
- 改一个 prompt
- 改 retrieval 的
top-k - 改 chunk size
- 改一个训练超参数
如果一个改动都没做过,你其实还是在“看别人做项目”。
第 4 步:写最短总结
做完一个项目后,你最少要写下这四件事:
- 这个项目在解决什么问题
- 它的最小可运行链路是什么
- 它最关键的两个设计选择是什么
- 如果你重写,第一层先改哪里
每种项目应该怎么学
RAG 项目
重点不是“会调 API”,而是:
- 你的检索内容对不对
- 召回出来的内容够不够
- 回答是不是被 context 真正约束住了
你必须盯这些中间产物:
- query
- retrieved chunks
- reranked results
- final prompt
- final answer
LLM From Scratch 项目
重点不是“模型跑起来了”,而是:
- tokenizer 在干什么
- attention 输入输出怎么变
- loss 是怎么下降的
- 数据、模型、训练循环之间怎么接起来
你至少要能解释:
- 一个 batch 怎么被送进模型
- logits 是怎么来的
- loss 是怎么算的
Alignment / Agent RL 项目
重点不是“训练名字记住了”,而是:
- reward 或 preference 信号从哪里来
- policy 为什么会朝某个方向更新
- rollout 在 agent setting 里为什么更难
你至少要能说清:
- SFT 和 preference optimization 的区别
- 为什么 agent RL 比单轮回答训练更不稳定
自学时最该做的三种笔记
1. 主链路图
写成一行就够:
input -> retrieve -> rerank -> build context -> generate -> evaluate
2. 实验记录
每次只记三件事:
- 改了什么
- 结果怎样
- 你觉得为什么
3. 失败记录
失败记录比成功总结更值钱。
你要记:
- 哪一步坏了
- 你原来以为会怎样
- 实际为什么不对
什么时候算“学会了”
不是你把仓库跑通了,而是你能做到下面至少两件:
- 不看仓库,自己复述最小架构
- 改一个关键参数并解释变化
- 用自己的小数据重跑
- 用自己的语言讲清这个项目和前一个项目的差别
如果做不到,说明你还在“浏览”,不是“掌握”。
推荐使用方式
这本书最好的打开顺序是:
- 先看 首页
- 再看你选中的主线
- 再看项目导学页
- 进入对应
7-Day Plan - 做完后做自测
- 最后再看参考答案
这样才像学习系统,而不是资料堆。