靠谱的工作流程
基本节奏:探索 → 规划 → 实现 → 验证 → 提交
无论任务大小,都可以按这个节奏来。任务越大,每一步越要认真。
| 阶段 | 做什么 | 小任务 | 大任务 |
|---|---|---|---|
| 探索 | 让 Agent 先读代码、搞清现状,不修改 | 可以省略 | 必须 |
| 规划 | 让 Agent 说出打算怎么做,你来确认 | 一句话说明即可 | 用 Plan 模式,保存成 PLAN.md |
| 实现 | 让 Agent 动手 | 一次完成 | 分阶段,一次一个 |
| 验证 | 确认真的做对了 | 看一眼效果 | 逐项对照验收标准 |
| 提交 | 用 Git 存档 | 必须 | 每个阶段都提交 |
第 7 章的实战项目就是完整走了一遍这个流程。
探索:先搞清楚再动手
面对一个不熟悉的项目,或者一个复杂的问题,第一步不是"改",而是"看":
text
先不要修改任何文件。帮我看一下这个项目:
1. 它是做什么的,用了哪些技术
2. 目录结构,每个主要文件负责什么
3. 如果要加一个"导出 CSV"的功能,大概需要改哪些地方可以配合 Plan 模式(Claude Code 按 Shift + Tab,Codex 输入 /plan)或 只读沙箱(codex --sandbox read-only),确保它真的不会改东西。
验证:不要只相信"已完成"
Agent 说"已完成",只代表它认为完成了。常见的情况有:
- 代码写了,但没有真正运行过;
- 改了 A 处,却把 B 处弄坏了;
- 实现的和你要的有细微差别。
所以一定要验证:
- 自己亲手用一遍:打开网页点一点、运行一下程序。这是最可靠的;
- 问它怎么验证的:"你是怎么确认它能正常工作的?"如果它说"没有运行过",让它运行;
- 让它写测试:对于有计算逻辑的代码,让它写几个测试用例并运行,比如"金额计算写几个测试,覆盖有收入、没收入、金额有小数的情况";
- 看改动:在 VS Code 源代码管理面板里看一遍改了什么,有没有改到不该改的地方。
Git 进阶:用分支做实验
想尝试一个不确定的改动(比如"整个页面换一种布局"),又怕改坏现在能用的版本?用分支。
分支就像游戏里的"另开一个存档槽":在新分支上随便折腾,不满意就扔掉,原来的存档完全不受影响。
开一个实验分支
先确保当前的改动都已提交,然后:
bash
git switch -c try-new-layouttry-new-layout 是分支名,随便起,建议能看出在做什么。
在分支上让 Agent 大胆改
text
我们现在在一个实验分支上。把整个页面改成左右两栏的布局……满意:合并回主分支
bash
git switch main
git merge try-new-layout不满意:直接丢弃
bash
git switch main
git branch -D try-new-layout回到 main 分支,一切恢复原样,实验分支被删除。
让 Agent 帮你操作 Git
这些命令记不住没关系,直接说"帮我开一个实验分支试试新布局""实验不满意,帮我切回 main 并删掉实验分支"。Agent 很擅长 Git 操作。
回到更早的某个存档
如果发现问题是几次提交之前引入的,可以让 Agent 帮忙查:
text
帮我看一下最近 5 次提交分别改了什么,我怀疑结余计算是其中某次改坏的。找到问题后,让 Agent 在最新版本上修复,而不是直接回退到旧版本。回退会丢掉那之后的所有改动,新手慎用 git reset --hard 这类命令。
卡住了怎么办
有时 Agent 会陷入"改了又错、错了又改"的循环。这时继续让它试往往没用,应该换个方式:
| 做法 | 说明 |
|---|---|
| 按 Esc 停下来 | 别让它在错误的方向上越走越远 |
| 提供更多信息 | 完整的报错信息、复现步骤、你已经试过什么 |
| 让它先分析、不要改 | "先别改代码,列出三种可能的原因,以及怎么逐一验证" |
| 退回再来 | git restore . 或 /rewind 回到出问题之前,换一种描述重新开始 |
| 开新对话 | 对话太长时,Agent 会被之前的错误尝试干扰。/clear 后简要说明现状重新开始 |
| 换思路 | "这个方法不行,有没有别的实现方式?" |
| 换模型或工具 | 同样的问题,换一个模型(/model)或换另一个工具试试 |
学习模式:一边用一边学
如果你想借助 Agent 学编程,而不只是让它替你干活:
- 让它解释:做完后问"你刚才改的这段代码是什么意思?为什么这样写?"
- 让它出题:让它故意留一个小功能给你自己写,写完帮你检查;
- 让它教方法:"我想自己调试这个问题,教我怎么用浏览器的开发者工具一步步找原因";
- 读它的计划:Plan 模式给出的方案,本身就是很好的学习材料,能看到一个功能是怎么拆解的。
下一节:上下文与费用