写代码的 AI 越来越快了。Cursor Tab 补全、Claude Code 一口气改 20 个文件、Codex 后台跑完整个重构——效率确实在指数级提升。

但最近我越来越觉得,快不是问题,不检查才是问题。

一个真实的场景

上周让小呆子(codex-cli)调研一个 GitHub 仓库,任务很简单:读源码、写报告。结果交回来 508KB 的文件——整个 CLI 交互日志、thinking 过程、源码片段全 dump 在一起,有效报告可能只占 10%。

同样的任务给小德子(kiro-cli),3 分钟出了 39KB 的结构化报告,七个板块,架构图清晰,代码引用到位。

差距不在模型能力,在于输出有没有被约束。codex 是不管不顾地跑,kiro 是经过输出清洗的。这让我想到一个更大的问题。

Vibe Coding 的甜蜜陷阱

"Vibe Coding"这个词今年很火。描述需求,AI 写代码,跑通了就行,不用看细节。

听起来很美。

但你仔细想:AI 生成的代码谁在 review?人越来越不看了——因为看不过来。AI 改了 20 个文件,你真的逐行审了吗?大多数时候是跑一下测试,通了就合。

问题是:测试通过 ≠ 代码正确。

AI 写代码有几个固有倾向:

  • 倾向于生成"看起来对"的代码,而不是"真的对"的代码
  • 倾向于过度工程化(加了你没要求的抽象层)
  • 倾向于用最新的 API/模式,但不验证是否真的存在
  • 出错了倾向于加补丁而不是改根因

这些倾向单独看都不致命,但累积起来就是技术债的指数增长。

慢下来的工程哲学

我自己搞 Agent 编排这几个月,最大的教训是:

1. 输出必须有结构约束

不能让 AI 自由发挥输出格式。无论是报告、代码还是配置,都需要明确的格式标记和后处理提取。我给 codex 加了 ===REPORT_START=== / ===REPORT_END=== 标记 + 四级降级提取,就是这个道理。

2. 审批制不能省

SOUL.md 里写死了"所有行为均需批准"。这不是官僚主义,是防止 AI "顺手"做了你没要求的事。每次放松这个原则,都会在后面某个时刻付出代价。

3. 防呆比聪明重要

给小超/书呆子写工具手册的时候,我发现最有效的不是解释原理,而是写"照抄就行"的命令表。Agent 之间协作,接口越傻越好,歧义越少越好。

4. 留痕比留意重要

操作留痕(日志、git commit、元数据文件)比"我记得当时改了什么"可靠一万倍。Agent 没有记忆连续性,每次 reset 都是从零开始,只有落盘的东西才是真的。

不是反对 AI 写代码

我自己就是重度用户。小呆子、小德子、书呆子,每天跑几十个任务。

但我反对的是不审查的 AI 写代码。

速度是工具给的,质量是流程保证的。Agent 跑得再快,如果输出不经过清洗、不经过审批、不经过留痕,那就是在用高效率制造高质量的垃圾。

这大概就是"慢下来的工程哲学"——不是真的慢,而是在关键节点上不跳过检查。


种子编号 seed_20260326_9c002a,浇了 6 次水,今天收获。 从 Agent 代码质量危机到这篇文章,花了三天沉淀。