大可的 AI Builder 手记
跟随系统
颜色主题
长沙小桌实战
大可 Dako
大可 Dako大可 DakoAI Builder · Agent 实践者用 AI 做真正能用的产品。专注探索 Agent 工程化落地、Vibe Coding 实践与商业化交付。
内容平台即将上线,敬请期待
审 AI 产出,照着一张固定清单打01对照接收标准完成了没,达标了没02扫结构数据流改动在哪、影响什么03查缺口边界校验、异常、权限、错误04给结论过、改、退——附位置与建议✓ 只报能行动的 finding,别凑数
有清单,审阅才快而不漏。

审阅检查点清单:只报能行动的

对照一套固定检查点审 AI 的产出;只报可行动的 finding,别拿风格和假设性问题凑数。

审 AI 写的代码,最怕的是「凭感觉觉得哪里不对劲」然后一行行找。更快、更稳的做法是:照着一张固定清单打,有就是有,没有就是没有。这样既不漏、也不过度。

读完你能回答:

  • 审 AI 产出,固定要点有哪些?
  • 什么才算「能行动的 finding」?
  • 怎么避免在 review 上过度投入?

一张固定检查单

① 对照接收标准

  • 前面定义的完成标准,逐条打钩
  • 「没达到」就直接判退,别在细节上绕

② 扫结构 + 数据流

  • 改动改了哪几处、影响哪些调用方
  • 有没有越界改了你不让动的地方

③ 查缺口与边界

  • 输入校验、异常处理、权限检查
  • 「该处理、但没处理」的地方

④ 依赖审查

  • 有没有引不认识/不必要的重依赖

⑤ 收尾给结论

  • 过 / 需改 / 退回,附上位置和具体建议

只报能行动的 finding

只报开发者能采取行动的问题:

  • 位置 + 具体建议 → 报
  • 风格偏好、假设性设计("如果未来需求变了")→ 不报
  • 无法验证的担忧 → 不报

一条 finding 能不能让 AI 或你「立刻动手改」?能,才值得报;只是嘴上担心,先憋着,别污染反馈清单。

别过度审

  • 不质疑已经定案的架构(那是设计评审的事,不是代码审)
  • 不给完美主义挑刺
  • 把精力留给「会出事」的 5%,别 100% 都当重点 google-patterns

审到第几轮该停

AI 写、AI 审的循环有个特点:两边都很勤快,于是能一直互相喂活。有团队实测过一个 PR 过夜跑了五十多轮;把「评审器反复标记的位置」逐个追查来源,发现约六成是第一轮就已经存在的旧代码——评审器不是在发现新 bug,只是每轮多翻出几个旧的。cc-review

所以「多审几轮总没坏处」是错觉。让它收敛有四条具体做法:

  • 设轮次上限。比如三轮之后停下来,要求作者退一步重新考虑方案,而不是继续在评论里小修。
  • 前几轮之后只审增量。第一次看完整 diff,之后只看这次新增的部分,避免反复重读同一片代码。
  • 把同类问题标成一类,让作者一次改完所有实例,而不是每条各改一处。
  • 不重复发布已发过的发现。上一轮提过、作者已驳回并说明理由的,不再出现。

判据不是「审了几轮」,而是每轮新增的有效发现是否在变少。如果第三轮还在大量报第一轮就该发现的问题,说明问题不在评审器,在源头的结构或需求。

按风险决定谁来审

不是所有改动都值得同样的人工投入。可行的分档是按改动本身定,而不是按作者是谁定:

风险 例子 人工介入
低 文档、文案、开关后的增量、仅内部使用 自动检查与安全扫描全绿即可合并
中 普通产品改动;缓存、自动更新、系统提示这类敏感区域 一人
高 最高风险代码;固定敏感路径(认证、计费、CI 工作流、安装器) 两人

配套两条纪律:审批绑定到具体提交——出现无法担保的新提交(agent 推的、人工解过冲突的)之后,原来的批准失效,要重新批;机器人的批准不能顶替必需的人工位,它可以清掉低风险变更,但不能填人的名额。

这套分档的价值在于把人的注意力换到真正需要判断的地方:该不该做、有没有碰高风险路径、架构会不会被人照着抄、证据够不够。至于「这段代码写得好不好」,交给专门做这件事的那层检查。

审完分两路

多轮审查要记账。每一轮报了哪些问题、哪些改了、哪些你驳回了、为什么驳回,都写下来;下一轮先读上一轮,别把已经驳回过的问题再提一遍。历史轮次不要改写——「第几轮放弃了什么」和「改了什么」一样,是下一步唯一用得上的信息。

审阅是「判断」环节的落地,验证是「证据」环节的落地。审完,就该让证据替你说话。

参考资料

  1. 4 engineering patterns behind the strongest AI agents (Google)
  2. How the Claude Code team does code review (Anthropic)