卷7 · 工程实战手册
7.6 AI 协作守则:驾驭代码 agent 而不被其驾驭
展开本章目录与同卷章节
1. 分工总表(本笔记的立身之约)2. 工作流五步(从”聊天”到”工程”)3. AI 代码的四大典型暗坑4. 学习保护条款(给学生最重要的三行)5. 提问的艺术(上下文工程最小集)6. 自测题7. 动手作业8. 延伸资源同卷章节7.1 显存估算速查与 OOM 排查大全7.2 训练调试案例集:十大经典翻车与处置7.3 分布式训练入门:DDP、FSDP 与 DeepSpeed7.4 推理部署与成本估算:把模型变成可运营的服务7.5 数据 pipeline 工程:把数据当代码对待7.6 AI 协作守则:驾驭代码 agent 而不被其驾驭本章目标:把 vibe coding 时代的正确姿势系统化——AI 是你的初级工程师,你是架构师+审查者。本笔记从 0.3 章(手写反向传播)就埋下的”亲手写核心”原则,在这里给出完整的操作体系。学完标准:有一套自己的 AI 协作工作流,且知道哪五类事绝对不外包。
1. 分工总表(本笔记的立身之约)
| AI 擅长(放心外包) | 你必须自己(绝对不外包) |
|---|---|
| 样板代码/脚手架/配置文件 | 核心数学:loss、梯度、attention(0.3/1.2 的作业逻辑) |
| 文档/README/注释 | 实验设计:对照/消融/协议(6.3) |
| 测试用例生成 | 结果判断:这个数字可不可信 |
| 报错解读/日志排查(7.2 的字典当它的教材) | 评测协议逐行审查(6.2 翻车第一大源) |
| 方案罗列与对比 | 责任:署名的是你(6.6 的红线) |
| 代码风格翻译/重构 | 品味:什么是好问题、什么是坏信号 |
2. 工作流五步(从”聊天”到”工程”)
- 拆任务:把需求拆成 AI 一次能做对的小块(“给 DataLoader 加 EXIF 处理”而非”帮我做数据管线”);
- 给足上下文:相关代码片段 + 报错全文 + 环境(版本)+ 约束(“只用 numpy,不要引入新依赖”)——AI 的输出质量与上下文质量成正比;
- 生成:先让它复述任务与方案再写码(对齐理解,省两轮返工);
- 审查:逐行读 diff——审查清单:shape 对不对、dtype 混没混、边界条件(空 batch/单样本)、是否幻觉 API(拿不准就去官方文档验证);
- 验证:单测 → 数值对拍(0.3 的习惯,AI 写的梯度尤其要拍)→ 单 batch 过拟合(0.4 第一定律)→ 小规模全流程。
3. AI 代码的四大典型暗坑
- 幻觉 API:自信地调用不存在的参数/方法——编译才炸,或更糟:静默走默认值。防线:关键调用查文档,CI 里开严格警告;
- 过度工程:三层抽象解决一个问题——可读性死亡。防线:要求”最简单可行版本”,重构时再允许抽象;
- 静默错误:语法全对、语义全错(广播错维、标签 shift 错一位——7.2 案例 2 的 AI 版)。防线:数值对拍+人肉 3 样本验证,不看跑得通,只看算得对;
- 上下文漂移:长对话后 AI 忘了早期约束。防线:项目约定写进
AGENTS.md/CLAUDE.md(数据格式/代码风格/禁区),长任务拆会话。
4. 学习保护条款(给学生最重要的三行)
- 核心模块第一遍必须亲手写——0.3 的引擎、1.2 的 attention、2.3 的 GPT,写完才有”手感”,此后才允许 AI 代劳同类的活;
- “能解释每一行”是署名的底线(6.6)——解释不了的不许进你的 repo;
- 定期”无 AI 日”:每周留一次全手写 session——手感是练出来的,不是读出来的。
5. 提问的艺术(上下文工程最小集)
一个好 prompt 的四要素:目标(要什么)+ 上下文(贴代码/报错/数据样例)+ 约束(版本/风格/不许做什么)+ 验收标准(“必须通过与 PyTorch 的对拍”)。反例:“帮我实现 LoRA”——它只能给你教程搬运;正例:贴出你的 nn.Linear 子类 + 报错 + “B 初始化为零、与 peft 实现对拍”。
6. 自测题
- 分工表里哪五类绝不外包?为什么核心数学第一?(数学/实验设计/结果判断/协议审查/责任——手感与署名都来自第一类)
- 工作流哪一步最常被跳过、代价最大?(审查——AI 代码”看起来对”,静默错误只能靠人肉审查+对拍抓)
- 四大暗坑的共同防线是什么?(验证纪律:对拍/单测/3 样本人肉——不看跑得通,看算得对)
- AGENTS.md 类文件解决什么问题?(跨会话的约定持久化——治上下文漂移)
- “无 AI 日”保护的是什么?(手感——初学阶段的肌肉记忆决定你能否审查 AI)
- 好 prompt 四要素缺一个会怎样?(缺上下文→幻觉;缺约束→过度工程;缺验收→静默错误)
7. 动手作业
- 给你的主力 repo 写一份
AGENTS.md(项目结构/数据格式/代码风格/禁区/验收标准); - 用 §2 五步流完成一个真实小任务(如 7.5 的 pipeline),全程记录”AI 输出 → 我抓出的问题”清单——第一次你就会震惊于静默错误的数量;
- 组织一次”无 AI 日”:手写 1.3 的 TinyGPT(不许查 AI,只许查 PyTorch 文档),与 AI 版 diff;
- 把你的 top10 提问模板存成 snippet 库。
8. 延伸资源
- 本笔记就是按本守则设计的教学品——每章”动手作业”都刻意放在 AI 的能力边界外
- Anthropic/OpenAI 的 prompting 官方指南——上下文工程的基础读物
- 《代码审查》类工程文化文章——审查清单的通用来源
