第十八周是最后一周,没有作业,只有三块内容:全课串讲、简历写作、面试技巧。
十八周下来,我最大的感受不是「学了很多东西」,而是「学过」和「能讲出来」之间隔着一段不小的距离。这一周做的事,就是把这段距离补上。
一、五大篇章:这条能力栈长什么样
回头看,18 周是一条有明确递进的线:
| 篇章 | 周次 | 干了什么 |
|---|---|---|
| 一 理论筑基 | 1–4 | 手写前向 / 反向传播与 BERT,完成「统计语言模型 → Transformer」的范式跃迁 |
| 二 大模型入门与 NLP 实战 | 5–8 | 「BERT 微调 vs LLM zero-shot vs LLM SFT」三路对比,吃透分类 / 标注 / 匹配 |
| 三 工程化与 Agent 体系 | 9–13 | 推理部署、约束解码、RAG 全链路、工具调用、Agent 循环、记忆与调度 |
| 四 自进化与前沿理论 | 14–17 | 自进化闭环、GraphRAG、模型结构演进、RL 对齐与分布式训练 |
| 五 复习与职业发展 | 18 | 收束成面试答题结构与项目包装 |
串起来就是一条完整的链:
表示学习 → 预训练 → 微调 → 对齐 → 部署 → 应用 → 自进化
第三篇(Week 9–13)是工程密度最高的一段——现在回看,我博客里写得最长的几篇也集中在那里,因为踩的坑最多。
二、11 个项目,每个对应一道面试题
课程给了一份自测清单,我觉得这是最实用的复习工具:合上文档,对着项目名把问题口头答一遍,答不顺的回去补。
| 项目 | 问题 |
|---|---|
| 流式聊天 | SSE 流式输出在什么场景使用?什么场景无用? |
| API 容灾 | 断路器三态如何流转?阈值 / 恢复超时怎么定? |
| 文本分类 | CLS / Mean / Max 池化怎么选?类别不均衡怎么办? |
| NER | CRF 为什么能消除非法 BIO 序列? |
| 文本匹配 | BiEncoder vs CrossEncoder 的本质权衡? |
| vLLM 部署 | PagedAttention 为什么快?约束解码选哪种? |
| 年报 RAG | 混合检索 + 重排链路怎么搭?怎么评价? |
| 工具调用 | Function Call / MCP / CLI 是什么关系? |
| ReAct Agent | 循环终止条件是什么?模型输出内容是什么? |
| 记忆系统 | 四层记忆怎么分工?Compaction 何时触发? |
| 自进化 | Skill 与 RAG 文档的本质区别? |
我自己试了一遍,答得最不顺的两道是「Compaction 何时触发」和「Skill 与 RAG 文档的本质区别」——不是不知道,是知道但组织不成一段话。
这正是这一周要解决的问题。
一个跨项目的细节
课程有个设计我到最后才注意到:年报 FAISS 索引(15 份 PDF / 10353 chunks)被 RAG、工具调用、ReAct、自进化四个项目沿用。
同一份数据,不同应用形态消费。
这也是为什么后面几周的作业我能一直在同一套代码上加东西——不用每周重建数据。
三、简历:好项目的乘法公式
课程给了一个我觉得很准的公式:
好项目 =(你的行业 / 专业场景)×(课程学过的 AI 技术)×(可量化的结果)
是乘法不是加法——任何一个因子是 0,整体就是 0。
反例是「学习了 RAG / 了解了 Agent」——三个因子全缺,等于没写。
一条 bullet 的标准解剖:STAR
S 情境 一句话场景:谁、在哪、被什么问题困扰
T 任务 要解决的具体问题、边界在哪
A 行动 用了什么技术、为什么选它、怎么做的
R 结果 量化数字:指标、耗时、规模、对比
写完自查的方法很妙:
把 bullet 里的数字全删掉——如果剩下的内容放到任何人身上都成立,说明场景(S)还没写进去。
我拿这条检查了自己的简历,确实揪出来两条。
量化指标四件套:数字从哪来
| 例子 | |
|---|---|
| ① 数据规模 | TNEWS 53,360 条 15 类;年报 15 份 / 10353 chunks |
| ② 模型与参数 | LoRA r=8,可训练参数仅 0.22%(1.08M / 495M) |
| ③ 效果指标 | 分类 Macro F1 56%、NER F1 72.5% |
| ④ 性能与成本 | vLLM 吞吐加速、GRPO 200 步 3.1 分钟 5.58GB |
②「参数占比」是最能体现「懂行」的数字;④「性能与成本」这一组工程岗最认。
关键提醒:统一口径(同一个 val 集、同一个指标)才可比——这一条我在 Week7、Week8 的实验里已经吃过教训了。
好句 vs 差句
差句:学习了 NLP 相关课程,了解了 BERT 和大模型技术
好句:针对中文 NER 任务微调 BERT+CRF,在 cluener2020(10 类实体)上实体级 F1 72.5%,CRF 将非法序列从约 20 条降至 0;另用 LoRA(可训练参数 0.22%)微调 Qwen2-0.5B 同口径对比(F1 63.2%)
区别是:差句是学习清单,好句是场景 + 技术 + 数字 + 对比,每一段都能被追问且答得出。
Agent 项目还有个专门的提醒:
Agent 项目的核心卖点是「工具编排 + 可评估」——一定要写出几个工具、什么异构性、几步上限、怎么评估。「能自动回答问题」是产品描述,「编排 / 上限 / 消融」才是工程素养。
五个最常见的坑
① 堆技术名词,没有结果 —— 每个名词后面必须跟一个数字或一句话结果
② 照抄课程项目名,不改场景
③ 写「学习了 / 了解了」
④ 虚构细节 —— 面试追问两层就穿帮
⑤ 简历写满 —— 不熟的技术从简历里删掉
最后那句总结我抄下来了:
简历不是自我介绍,是「面试的题目清单」——你写下的每个词都是在给面试官出题,出的每道题你都要有把握接住。
四、面试:答题三段式
① 方案对比 「这两类方案我都做过」,先亮出你知道不止一条路
② 取舍理由 「在 X 约束下我选了 B,因为…」,说出场景与代价
③ 量化结果 「实测 B 比 A 高 N 个点 / 快 N 倍」,用数字收尾
示范(文本分类为什么选 BERT 微调而不是直接用 LLM):
① 我做过三路对比:BERT 微调、Qwen2 zero-shot、LoRA SFT ② 15 类标题分类要的是稳定与低成本,5 万标注数据下 BERT 收敛更充分,推理成本也低一个量级 ③ 实测 val 准确率 BERT 60% vs SFT 58%,zero-shot 只有 40%+
这个结构我认为是这一周最有价值的东西,因为它和我十八周的作业方式是同构的——每次作业我都在做对照实验、说明取舍、给出数字。三段式不是话术,是把已经做过的事按顺序说出来。
被追问到底层:三层降级
第一层 能答 讲到公式 / 代码级,答完停住,等面试官继续问
第二层 半懂 主动说到边界:「实现层面我完整跑过,数学推导只能讲到某某程度」
第三层 不会 「这个我没深入研究过,我的理解是…」,并给出你会怎么验证的思路
第二层最容易赢得好感——展示你知道自己的知识边界。
面试官考的不是全知,而是「你知不知道自己知道什么」。
讲项目的顺序也有讲究:先业务价值 → 再架构选型 → 最后细节与踩坑,别一上来就讲调参。
五、这 18 周,我真正学到的三件事
课程内容我在前十七篇里都写过了。这一篇作为收尾,写点别的。
1. 有基线的数字才是数字
这是贯穿了十八周的一条线:
- Week8 跑 Jaccard 字面基线,才知道 0.87 的准确率在 lcqmc 上是真本事、在 bq_corpus 上很一般
- Week9 的「71× 加速」拆开看,只有约 2 倍来自算子,30 多倍来自调度;而且我的绝对吞吐比老师还低,倍数更大只是因为我的基线更慢
- Week14 差点把「模型优化把 skill 搞坏了」写进报告,真相是我的量尺有 bug,那组数字测的是「哪一版更能容忍我的 bug」
- Week17 的正确率从 2.5% 涨到 83.8%,拆开看格式贡献 +97.1pt、算术能力只贡献 +32.9pt
一个漂亮的数字,不说清楚分母和归因,就是个营销数字。
这条习惯是这门课给我最实在的东西——它比任何一个具体技术都更耐用。
2. 符合预期的错误结论最难被发现
Week14 那次是最典型的:我拿到一组数据,它完美印证了课上刚学的帕累托权衡理论,于是我几乎没有质疑它。
Week17 也有一次:汇总脚本因为指标退化,打出了一句「训练是不是根本没学起来」——读起来非常合理,但结论是反的。
理论给了我一个现成的解释,让我停止了追问。
后来我形成的习惯是:跑分异常时先怀疑量尺,再怀疑被测对象。
3. 模型之外的东西,占了一半以上的工作量
课程的五层栈说得很清楚:
L1 Prompt → L2 Context → L3 Harness → L4 Loop → L5 Graph
从 Week5 讲断路器(我以为大模型课不会讲这么工程的东西),到 Week13 的沙箱与渐进式加载,到 Week15 的多 Agent 拓扑——这条线越往后,模型本身占的比重越小。
Week14 有个数字我记了很久:Hermes 的 11,000+ 行代码里绝大部分是韧性工程,纯 ReAct 循环逻辑不到 100 行。
对我这种从 Java 后端转过来的人,这反而是好消息——接口设计、异常处理、状态机、并发控制、可观测性,这些不是要丢掉的旧东西,是这条路上要用的东西。
尾声
十八周,从手写反向传播开始,到最后在自己的显卡上跑完一次 GRPO 训练。
中间大部分时间不是在学新概念,是在跑实验、发现数字不对、回头找原因。所以这个系列的每一篇里,「踩了什么坑」的篇幅经常比「学了什么」还长——那部分才是我真正带走的东西。
课程结束了,但这条线还长:简历要按上面那套方法重写一遍,11 个项目的自测清单要一道道口头答顺,README 要补齐(面试官真的会点开看)。
从「学过」到「能讲出来」,还有一段路要走。