8 行 spec 完胜 8 小时 prompt:spec-driven AI coding 的真正回报

行业变天 · 技术 · 2026-05-09

Prompt engineering 已经过气了。是时候承认这件事。

2025 整年都在卷 prompt 模板、CoT、ReAct、各种 emoji-marker 的 trick。2026 来看真正稳定胜出的团队,都不在卷这些——他们写 spec

一个对照实验

让 4 个工程师用同一个 AI(Claude Sonnet 4.6)做同一个任务:"给现有 Express API 加一个 rate limiting 中间件,要支持 per-user 和 per-ip"。

方法 平均迭代轮数 第一次通过测试 总耗时
纯 prompt(多轮对话) 7.2 轮 30% 2h 15m
Prompt + few-shot 4.8 轮 55% 1h 35m
写 8 行 spec 再让 AI 写 1.4 轮 85% 42 min(含写 spec 的 12 min)
让 AI 先写 spec、人再 review、再让 AI 写 1.6 轮 90% 38 min

最后一栏是反直觉的赢家:你只是审一份 spec,但代码自己出。

一份"8 行 spec"长什么样

Feature: rate limit middleware
Inputs: req.user.id (optional), req.ip
Output: allow / deny with Retry-After header
Limits:
  - per-user: 100 req / min (authenticated only)
  - per-ip: 30 req / min (all requests)
Storage: redis with EXPIRE
Failure mode: redis down → fail open, log warning
Test: include unit tests for both limit types and the fail-open path

8 行。但这 8 行精确到了 AI 无法再瞎猜

  • 输入输出明确
  • 限速值明确
  • 存储后端明确
  • 降级策略明确(这点 prompt 极少包含)
  • 测试要求明确

写这份 spec 用了 12 分钟。但你省下了和 AI 反复辩论 1.5 小时。ROI 7-10 倍

为什么 prompt 永远赢不了 spec

Prompt 的本质是「自然语言指令」。自然语言天然有歧义、有省略。AI 默认填空填错。

Spec 的本质是「结构化的需求 + 边界条件」。它去掉了 AI 需要"想象"的部分

把人类工程师的经验拆开看,资深和初级最大的差别不是写代码快,是**「描述清楚一个需要解决的问题」**这一步。AI 把"写代码"这一步外包了,所以「描述清楚问题」就变成了真正的瓶颈、也是真正稀缺的技能。

Prompt 在赌"AI 能猜对我的意图",Spec 在表达"我的意图是什么"

几条具体的 spec writing 原则

我在过去 3 个月让 6 个团队实践,沉淀出来的几条:

1. Spec 长度上限:1 个屏幕 超过 1 屏的 spec 等于又把 spec 写成 prompt 了。强制简洁。

2. 必须包含"失败模式" 所有 spec 至少回答 1 个问题:"如果依赖(数据库/外部 API/输入)失败,行为是什么"。AI 默认不会想这一步,prompt 也很少包含

3. 测试要求和实现写在同一份 spec 不要"先写代码再补测试"。和实现一起列:要测哪些 case、不需要测哪些。这一步会反向迫使 spec 作者把场景想清楚

4. spec 用代码 commit 进 repo,不要漂浮在 Slack 和你的 PR 绑定。下一次别人 review,他能看到 spec 来对照实现。长期是团队的 prompt 资产

5. AI 写完后做 spec 反向校验 让另一个 AI session(最好不同模型)拿 spec 和 PR 去检查"实现是否覆盖 spec、有没有偏离"。双模型互查的成本接近 0、bug 抓取率显著高

这件事是怎么改变工程师定位的

初级工程师以前的核心训练是"写代码"。现在要变成"写 spec"

后者难得多。它要求:

  • 业务理解
  • 边界 case sense
  • 失败模式想象力
  • 测试设计能力

AI 时代的"5 年经验"工程师,如果不会写好 spec,他和 AI 在同一个起点。会写好 spec 的初级,反而能轻松 leverage AI 干掉中级。

这就是过去说的「中级工程师被压」的真正机制——不是 AI 把中级活儿做了,是中级工程师没在 spec 这一层升级,把自己变成了和 AI 重叠的角色。

你公司里的"spec 文化"指标

判断一个团队有没有进入 spec-driven 阶段,看三个事:

  1. PR 描述里有没有结构化 spec——还是只有"做了 XX"一句话
  2. review 时是不是先看 spec 后看代码
  3. 失败模式有没有被写下来——还是默认"happy path 跑通就 ship"

三条全对 = 你团队 AI 用得很好。 两条 = 还在 prompt 时代。 一条以下 = 在卷 PR 数量,质量在悄悄塌

给在搞 AI Coding 的你

放弃 prompt engineering 的执念。最后赢的是先把工程结构化的人

你下一次让 AI 写代码之前,先停 5 分钟问自己:我能不能用 10 行字描述清楚我要的是什么?

如果不能,问题不在 AI,问题在你

赞赏

如果这篇对你有用,欢迎请我喝杯咖啡。仅支持支付宝,随意,不在乎金额。

← 工程方法 更多文章