很多人用 AI 写代码是这样的:想到就问一句,答案不满意就重开一轮,一天下来又累又没觉得自己省了事。问题通常不在模型,而在流程——没有固定的环节顺序,没有交接标准,也没有停下来复核的点。这篇把一天的协作拆成几个阶段,说清每段该让 AI 干什么、你该在什么时候插手、哪些信号说明这轮该推倒重来。工具具体选哪个不在这里定,交给站内目录。
用 AI 写代码最常见的体验是:想到一句就问一句,答案不满意就重开一轮,一天下来又累又没觉得自己省了事。问题往往不在模型强弱,而在流程——没有固定的环节顺序,没有交接标准,也没有刻意安排停下来复核的点。下面把一整天的协作拆成几个阶段,说清每段该让 AI 干什么、你什么时候插手、哪些信号说明这轮该推倒重来。具体用哪个工具不在这里定,交给站内目录去选。
先划清楚这套流程的边界。它面向的是有持续迭代、要进主干的日常开发,不是所有写代码场景。一次性脚本、探索性极强的原型、以及你比模型更清楚答案的小改动,硬套流程只会更慢。判断标准很简单:如果这个任务出错后你需要在三天内回头查原因,那就值得走流程;如果写完就扔、错了重写更快,那就直接写。
先承认一件事:让你累的不是模型不够强
单次提问式用法有三个典型症状:上下文反复重贴、同一个坑踩三次、越到下午越难收回节奏。这三个症状指向的是同一件事——任务切分模糊、验收标准靠感觉、出错后无法判断是哪一步的问题。换更强的模型能缓解单次回答质量,但缓解不了流程缺失带来的累计损耗。
- 上下文反复重贴:说明你没有一个稳定的上下文包,每轮都在凭记忆重建环境
- 同一个坑踩三次:说明踩坑记录没有当场落地,提示词里缺了已知约束
- 下午越写越乱:说明复核点被不断后移,问题攒在一起集中爆发
- 找不到出错环节:说明任务没有分段验收,只能整段推翻或整段接受
什么情况下不适用这套编排:任务周期短于半天、需求本身还在摇摆、或者你已经有明确实现路径只是懒得敲。这三种情况下按流程走反而是负担。判断标准是「出错后要不要复盘」,不需要复盘的活儿,怎么快怎么来。
开工前 15 分钟:把任务切开,把上下文备齐
开工前的动作看着琐碎,但它决定了后面几个小时是顺水还是逆水。核心是两件事:把当天任务分堆,给每个任务配一个最小上下文包。分堆不是分类学练习,而是提前决定哪些环节你亲自下场、哪些让 AI 独立跑。
| 任务类型 | 交给谁 | 判断依据 |
|---|---|---|
| 写样板、改命名、补注释、生成测试骨架 | AI 独立完成 | 产出对错一眼能验,错了重来成本极低 |
| 接口实现、数据处理、边界补齐 | AI 主写,你把关 | 需要你确认验收口径和异常路径 |
| 架构取舍、并发与一致性、权限设计 | 你自己做 | 错误代价高,且没有唯一正确答案 |
| 已知实现路径的机械改动 | 你自己做更快 | 描述给 AI 的时间比自己敲还长 |
- 分堆并写下来在当天清单里给每个任务标上「AI 独立 / AI 主写我把关 / 我自己做」,写下来再动手,避免中途反复改主意。
- 准备最小上下文包每个任务只挑相关文件、接口约定、一两个输入输出样例;不要整仓丢过去,无关文件会稀释重点。
- 定一条验收口径明确写出「能跑通什么、返回什么格式、什么情况算失败」,这是后面判断该不该返工的唯一依据。
- 确认上下文可裁剪如果对话已经很长,先按站内讲上下文管理的文章做裁剪,再开新会话,别把旧对话整段拖进新任务。
上下文不是越多越好。塞进五个无关模块,模型反而抓不住你真正在改的那一个。判断标准:如果一份上下文你删掉一半后,任务描述依然完整,那删掉的那一半本来就不该给。这是每天都能省下十几分钟的习惯。
主力时段:一轮完整协作的六个动作
主力时段是产出最集中的一段,也是最容易失控的一段。把它固定成六个动作,每次按顺序走,出错时你就能定位到具体是哪一步偏了。这六个动作不是必须每轮都全做,但不能跳着做而不知道跳了哪步。
- 先让 AI 复述任务与约束确认理解一致再让它写。理解偏了当场纠正,比等它写完一大段再发现方向错要省得多。
- 要求分段产出先接口与数据结构,再实现,最后补边界处理。每段你都看一眼,别让它一口气吐两百行。
- 每段产出后立刻最小验证跑一次、跑一条用例、打印一次返回。验证动作越小越好,关键是别攒到最后一次性验。
- 卡住就换策略到你自己设定的轮次上限还没通,就换:补上下文、换提问角度、或降级自己写。继续换措辞硬问是最亏的。
- 不确定处要备选方案让 AI 列出两三条不同路线及各自代价,你做决定。让它替你决定是后面返工的常见起点。
- 踩坑当场记一行记下什么情况下出的、怎么绕开的。当天还能复用,第二天就能进你的提示词模板。
轮次上限要自己定,比如同一个问题三轮无进展就换路子。这个数字不写死,按你和工具的熟悉度调。关键是它必须存在,否则你会在同一轮对话里耗掉一上午而毫无察觉。
下午留给真正需要脑子的部分
上午做完机械和半机械的活儿,下午该留给判断密度高的部分:架构取舍、并发与一致性、权限与安全。这些地方 AI 更适合当反方,而不是主写手——让它挑你的方案漏洞,比让它替你选方案安全得多。
- 架构决策自己做,让 AI 扮演反方:让它论证你为什么可能选错,比让它给方案更有用
- 用 AI 做对照实现:按另一种思路写一遍,你比较可维护性和代价,而不是直接采纳
- 代码审查阶段让它只挑问题不重写,输出按「位置 + 风险 + 建议」三段,避免它顺手改乱你的风格
- 什么时候该停:一下午都在跟同一个报错来回,说明问题不在提示词,先自己把调用链走一遍
让 AI 改代码有明确风险:它往往顺手重构你没打算动的地方,风格和边界悄悄变了,diff 一多你就失去审查能力。所以审查环节只让它报问题,改不改、怎么改由你决定。这套分工在长周期项目里比在玩具项目里重要得多。
交接与复核:AI 的产出必须过这几关
AI 的产出要进主干,就得过和同事代码一样的关,甚至更严。原因不是不信任,而是自动生成的代码往往「看起来对」,错误处理、依赖、日志这些不显眼的地方最容易埋雷,而且扫一眼看不出来。
| 复核项 | 看什么 | 常见问题 |
|---|---|---|
| 依赖 | 有没有多引包、版本是否与项目一致 | 为了一个函数引入一整个库 |
| 错误处理 | 异常是被处理了还是被吞了 | catch 里只打日志不返回失败 |
| 日志与输出 | 有没有打印敏感信息 | 调试用的字段忘了删 |
| 测试 | 用例验证的是需求还是实现 | 测试只覆盖刚写的那条路径 |
| 接口与配置 | 用到的 API、配置项是否真实存在 | 虚构的方法名和参数 |
测试用例由你定范围、AI 补实现,反过来做很容易得到一堆只验证自己逻辑的假测试。对 AI 提到的每个库、API、配置项,都做一次存在性核对——虚构接口是最常见的返工来源,而且往往在联调时才暴露。
复核标准不需要复杂,问自己三个问题就行:这段代码出错时我看不看得到?它引入的东西我认不认得?它改动的范围和我理解的是否一致?三个都过关再合,有一个含糊就先放一放。
收尾 20 分钟:留下明天能用的东西
收尾不是写日报,是把今天有效的做法固化、把无效的做法归档。做的动作很少,但不做的话明天基本从零开始,同样的探索要再来一遍。二十分钟换第二天的起步速度,很划算。
- 沉淀有效提问模板把今天一次就通的提问方式、上下文组织方式记成两三条模板,放进随手能翻的地方,别存在脑子里。
- 给失败轮次分类是任务切错了、上下文给错了、还是这个任务本身不适合 AI。分类归档比记流水账有用。
- 一次只改一处针对反复出问题的环节做一个小调整:换切分粒度、加一条验收、换环节负责人。一次改多处,出了问题你分不清是哪处起的作用。
- 每周回看一次按自己的项目总结哪些任务类型适合交出去、哪些明显是浪费。别照搬别人的结论,项目差异比你想的大。
记录要短。写太长你不会坚持,写太泛又没法复用。判断标准是:明天早上你翻到这条记录,能不能在三十秒内决定「这个任务该用哪种方式起手」。能就是有效的,不能就重写。
什么时候该动流程,而不是继续硬扛
流程不是一次定好就不再变的。下面这些信号出现时,说明该调整的是编排本身,而不是再多试几个提问技巧。信号的价值在于它比「感觉今天不顺」更可验证,能逼你停下来改结构。
- 连续几天出现同类型返工:这是流程设计问题,不是运气问题
- 产出变慢但心理上「感觉在推进」:通常是复核环节被跳过了,攒着的问题在暗中累积
- 同一任务上下文越堆越长、开始反复重贴:该拆任务或换会话策略,硬撑只会更慢
- 每次都要重新解释同样的约束:说明约束没有沉淀进模板
- 排查一个错误超过你的时间上限:先自己走一遍调用链,再决定要不要继续问
反过来也要警惕过度流程化:如果你花在分堆、写验收口径、记记录上的时间已经接近写代码本身,那就是流程太重了。砍掉最不常用的那一两个环节,保留真正帮你减少返工的部分。
工具、套餐、额度这些会随时间变化的信息,别凭记忆下判断。需要选型或对比时,去站内目录看当时收录的工具清单,去价格与追踪页核对当时的数字,再决定这一轮用哪套组合。
下一步把你现在用的工具和真实额度对一遍,再决定这套编排里哪些环节交给谁,比凭印象选更省事。→常见问题
一定要一整天都用 AI 吗?半天行不行?
不必。这套流程的重点是环节顺序,不是时长。半天的话可以考虑只保留主力时段加收尾,上午的切分和下午的硬骨头压缩到一起。真正要保留的是「先定验收口径再动手」和「每段产出立刻验证」这两条,砍掉它们流程就散了。
AI 写的代码我不放心,应该逐行读吗?
逐行读在关键模块上是必要的,全量逐行读会吃掉你所有时间。比较实际的做法是分层:涉及数据、权限、钱的部分逐行看;纯转换、纯格式化的部分靠测试和小样本验证兜底,同时让它把不确定的地方标出来。
同一天里换好几个工具会不会更乱?
会。同一天里频繁换工具,最大的成本是你要重新建立上下文,效率反而下降。建议按任务类型固定分工,比如一类活固定用一个,具体选哪个去站内编程工具目录对比,别每天重新选一遍。
流程固定下来会不会变死板?
固定的是关键检查点和交接标准,不是每一步怎么写提示词。你可以每周围绕一个环节做小调整,观察是变好还是变差,再决定留下。一次只改一处,才分得清是流程的功劳还是任务本身变简单了。
怎么判断这套流程对我有没有用?
别看感觉,看两件事:同一类任务的返工次数有没有下降,以及你每天花在「想怎么问」上的时间有没有减少。这两个指标连续观察一两周就能看出趋势,比单次的爽感可靠。