首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >从Prompt到Spec——为什么AI编程需要一种新方法论

从Prompt到Spec——为什么AI编程需要一种新方法论

作者头像
烟雨平生
发布2026-04-28 20:19:57
发布2026-04-28 20:19:57
1930
举报

用AI写代码的人,大概率都经历过这种崩溃:

你对Claude Code说"帮我写个订单查询",它秒出一版代码。你一看,嗯,能用。合并。上线。

然后发现:排序逻辑没考虑分页、缓存失效策略不对、没有异常处理。

你回去改Prompt,加了一堆约束:"必须用QueryWrapper"、"排序下沉到SQL"、"缓存命中率要超80%"。AI又出了一版。这次好多了。但还有问题:缓存key设计不合理、没有SQL注入防护。

再改Prompt,再生成,再返工。

三次之后你发现一个事实:你在用Prompt教AI写代码,而教的时间比你自己写还长。

问题不在AI,在你跟AI的协作方式。

先搞清楚三个概念

在讲方法论之前,先把容易混淆的东西理清楚:

Harness Engineering。

Mitchell Hashimoto(Terraform创始人)在2026年初命名。定义:Agent = Model + Harness。 Harness是除了模型之外的一切——约束、工具、文档、反馈回路。

Martin Fowler网站上专门发了文章,OpenAI和Anthropic正式使用这个词。核心原则:"每次Agent犯错,你就设计一个方案确保它不再犯同样的错。"

SDD(Spec-Driven Development,规范驱动开发)。

不是新东西。思想根源可以追溯到1980年代Bertrand Meyer提出的Design by Contract(基于契约的设计)。

核心理念:先写规格说明,再写代码。 和TDD(Test-Driven Development,测试驱动开发)、BDD(Behavior-Driven Development,行为驱动开发)是一条线上的——TDD先写测试,BDD先写行为,SDD先写规格。2000年代就有人在敏捷开发中实践。

它们的关系不是替代,是互补。

Harness Engineering解决"怎么约束AI的执行行为",SDD解决"怎么定义需求"。Spec本质上就是需求层的Harness——你用spec约束AI的需求理解,用流程和工具约束AI的执行行为。

两种方式:Prompt驱动 vs Spec驱动

我之前写过一篇文章讲Harness Engineering——用结构化的Prompt约束AI的行为AI工具链效率提升——以ClaudeCode为例,从Demo代码到工程化落地

三层框架:上下文层、任务层、约束层。

管用。但有一个根本局限:你是"教练",AI是"执行者"。你需要告诉它每一步该怎么做。

SDD提供了一个不同的思路:

方式

你做什么

AI做什么

Prompt驱动(Harness的常见用法)

教AI怎么写代码

按你的指令执行

Spec驱动(SDD)

告诉AI要什么结果

自己决定怎么实现

从教练变成产品经理。从"用QueryWrapper写"变成"查询p99<200ms,你自己选技术方案"。

Claude Code生态里已经有两个验证了这条路线的成熟项目:

  • Superpowers

强制AI走Brainstorm → SDD(Plan)→ TDD → Review的完整流程,不跳步,将 SDD 作为流程核心。

  • gstack

/plan-eng-review 阶段即执行 SDD,先定架构与规约,再编码。把浏览器验证、QA测试、发版流程封装成一键命令

这两个项目的核心逻辑一致:

不是让AI更快地写代码,是让AI更对地写代码。

Spec驱动到底在做什么?

Superpowers的工作流程能说明白这件事:

第一步,AI不写代码,先提问。

你说"帮我加个登录功能",Superpowers会拦截AI,不让它直接动手。

它会先问:"登录方式是什么?手机号还是邮箱?失败重试几次?要不要图形验证码?需要记住登录状态吗?"

这些问题可能是你没想过的。

第二步,AI写计划,你确认。

把需求拆成2-5分钟可执行的小任务,每个任务有明确的输入输出。你确认了计划,AI才开始写代码。

第三步,TDD循环。

先写测试(RED),再写实现(GREEN),再重构。每段代码都有测试覆盖。

第四步,自动审查。

AI审查自己的代码——先过规范合规("你按spec来了吗?"),再过代码质量。

gstack补上最后一块:验证

/browse截图看页面渲染,/qa跑端到端测试,/ship发版。没有验证报告,不算完成。

整条链路的本质:人只负责定义"要什么",AI负责"怎么做"和"做得对不对"。

为什么Spec比Prompt强?

▪ 1. Spec是结构化的,Prompt是零散的

Prompt每次从头写,上次写的约束下次忘了。

Spec是一次写好、持续维护的。你不用每次都提醒AI"用QueryWrapper"、"加异常处理"——这些都在spec里。

▪ 2. Spec是唯一真相来源

传统开发最头疼的问题:代码和文档永远对不上。改了代码忘了改文档,改了文档忘了改代码。

Spec驱动的核心原则:代码跟着spec走,不是spec跟着代码走。 这不是新概念——Design by Contract(1980年代)、TDD(2000年)、BDD(2003年)都在说同一件事。只是现在被AI工具链实现了,效果放大了。

▪ 3. Spec让AI从"执行者"变成"合作者"

Prompt模式下,AI只是你的打字员。你说的它写,你没说的它不管。

Spec模式下,AI在brainstorming阶段会主动提问:"这个排序字段要不要做白名单校验?""缓存失效策略你考虑过订单状态变更场景吗?"

这些问题可能是你没想过的。

需要诚实说几点

Spec驱动在AI场景下的实践还不够成熟。 SDD本身是老概念,但用SDD配合AI编码工具的实践才刚开始。目前有一些框架(比如OpenSpec)试图把规范管理工具化,但用户量还很少,没有被大规模验证。

不是所有任务都需要Spec。 改个CSS、修个小bug、写个一次性脚本——直接干就行。有开发者在实战中总结了三级分流:轻量任务直接做,中任务简化流程,大任务走完整闭环。硬给轻量任务套完整流程是浪费。

Superpowers和gstack都强依赖Claude Code。 换别的编码Agent(比如Codex、Cursor),流程需要适配。

真正的前瞻:不是工具变了,是角色变了

工具会变——今天Superpowers+gstack,明天可能换成别的。但有一个趋势不会变:

用AI写代码的人,正在从"写代码的"变成"写需求的"。

这不是说代码不重要。而是说,当AI能按spec稳定地产出代码时,你的核心竞争力不是编码速度,是需求定义能力和架构判断力。

Harness Engineering教会我们约束AI的行为。SDD提醒我们先把需求想清楚。两个加在一起,才是完整的AI编程方法论。

说实话,从Prompt切换到Spec,最大的变化不是AI,是你自己。你得学会不教AI怎么做,而是想清楚你要什么。

这个转变不容易。但一旦习惯了,你会发现:你写的不是Prompt,是设计文档。你做的不是编程,是架构。

而AI,只是你的实现工具。

💡 一句话带走: 别教AI写代码了,把需求写清楚,让AI自己决定怎么实现。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2026-04-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 的数字化之路 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档