Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

怎么真正学会一个项目

这页不是资料导航,而是方法页。

很多人做项目学不会,不是因为资料不够,而是因为顺序错了。最常见的错误有三个:

  • 一上来就试图看懂全部代码
  • 只看 README,不跑最小链路
  • 一直抄仓库,不做自己的小改动

你应该反过来。


正确顺序

第 1 步:先找到最小主链路

你先不要问“这个仓库全部做了什么”,先问:

  • 最小输入是什么
  • 中间经过哪几个关键步骤
  • 最后输出是什么

如果你连这条主链路都讲不清,就还没开始真正理解。

第 2 步:先跑通,再观察

第一遍不求改代码,只求跑通。

你至少要确认:

  • 代码真的能运行
  • 你知道每一步的输入输出长什么样
  • 你知道哪里最值得改

第 3 步:只改一个变量

不要第二天就改成“自己的大项目”。

第一轮最有价值的修改通常只有这些:

  • 换一份小数据
  • 改一个 prompt
  • 改 retrieval 的 top-k
  • 改 chunk size
  • 改一个训练超参数

如果一个改动都没做过,你其实还是在“看别人做项目”。

第 4 步:写最短总结

做完一个项目后,你最少要写下这四件事:

  1. 这个项目在解决什么问题
  2. 它的最小可运行链路是什么
  3. 它最关键的两个设计选择是什么
  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. 失败记录

失败记录比成功总结更值钱。

你要记:

  • 哪一步坏了
  • 你原来以为会怎样
  • 实际为什么不对

什么时候算“学会了”

不是你把仓库跑通了,而是你能做到下面至少两件:

  • 不看仓库,自己复述最小架构
  • 改一个关键参数并解释变化
  • 用自己的小数据重跑
  • 用自己的语言讲清这个项目和前一个项目的差别

如果做不到,说明你还在“浏览”,不是“掌握”。


推荐使用方式

这本书最好的打开顺序是:

  1. 先看 首页
  2. 再看你选中的主线
  3. 再看项目导学页
  4. 进入对应 7-Day Plan
  5. 做完后做自测
  6. 最后再看参考答案

这样才像学习系统,而不是资料堆。