白嫖完两个 Kiro 账号,我终于搞懂Spec驱动的AI编程范式了

最近一个月白嫖完了两个Krio 账号,正在用第三个。

Kiro 是亚马逊推出的AI编辑器,而亚马逊是Claude的最大金主。所以Kiro对新用户真的非常慷慨,注册账号就送500积分,Claude Opus 4卯足劲,甩开膀子用,也能很长时间。

Kiro支持谷歌账号和Github账号注册,而且不受地域限制,在中国大陆可以流畅使用。作为一个拥有10个Google账号的男人,我实在拒绝不了这种送上门的福利。

现在的AI编程软件真是比大模型都还多,但是Kiro却是一个很有独特想法的产品,因为它引入了一个新的概念:规范驱动开发(Spec-driven Development)。

好家伙,又是一个新概念,当初MCP我就研究了几天才鼓捣明白。自从研究AI大模型后,我了解的概念和产品名字,比我高中三年学的英文单词都多了!

那什么是规范驱动开发(Spec-driven Development)呢?它和Vibe Coding又有什么区别呢?

我们先来聊聊Vibe Coding的弊端。

之前刷到过一个非常有意思的排行榜,AI编程提示词排行榜,这里贴出来大家乐呵一下,反正我第一次看到,差点喷饭,真的太经典了!

在Vibe Coding开发范式下,"给我生成完整可运行的代码"遥遥领先!

只要是重度使用过AI编程工具的人,上面20个提示词,不说100%,80%都经常输入过,我甚至在对话框喷过GPT-5,神奇的是,严辞批评后,有些Bug竟然神奇修复成功了!

其实这些排行榜上的提示词就是Vibe Coding最大的弊端。氛围编程其实说白了就是凭感觉走,而凭感觉的代价就是失控。一旦逻辑稍微复杂一点,Agent 就容易像脱缰的野马,不仅误解上下文,还需要你像保姆一样步步引导。最麻烦的是,整个开发过程中的决策理由完全是断层的------代码是写出来了,但"为什么这么写"却无从追溯,这简直是团队协作的噩梦,唯一的解决办法就是推倒了重来。

通过Vibe Coding去完成一个小单元或者一个函数,现在变得异常简单,但是让它一开始先完成一个产品功能需求和技术的完整架构,靠我们输入一段不超过100字的提示词,就天真的以为,喝杯咖啡的功夫,一个完整的MVP Demo就跑出来了。

但凡这么说的,基本就是自己没有动手用AI编程软件开发过产品的人。

这就是写代码和软件工程开发最本质的区别,前者有手就行,后者必须有严格的规矩和质量规范控制。

AI 可以帮你写出一段漂亮的代码,但它无法帮你通过一段 100 字的废话读懂整个产品的灵魂。

代码是生成的,但架构是"生长"出来的,后者无法被压缩进一个 Prompt 里。

于是规范驱动开发(Spec-driven Development)出现了。

其实Cursor和Trae等产品已经有了这样的意图,他们都在自己的产品上增加了Rules功能。这个功能就是用来编写限制性的提示词,用来约束编程Agent,防止其跑偏或者重复犯同样的错误。

但是Rules并没有从根本上解决Vibe Coding在完整产品开发中面临的问题:细致到函数功能级别的明确需求。

Rules 是贴在施工单位门口的"规矩"和"警告",Specs 才是"施工图"。Rules解决的是 How(怎么写),而Specs解决的是 What & Why(做什么、业务逻辑是什么)。

比如:这个函数输入是什么?如果用户未登录,应该抛出异常还是重定向?数据更新后是否需要刷新缓存?

现在我们用一个万年历网页的简单示例来看一下Kiro的Spec 编程方式。

在Krio中打开一个空白项目文件夹,我们会看到如下界面。

Kiro提供了两种编程思路,一种是Vibe,就是边聊边构建代码,这个其它产品都有类似的功能。我们重点看一下Spec模式。

sql 复制代码
Plan first, then build. Create requirements and design before coding starts.

上面这段英文通读易懂,用中文解释就是先规划设计,最后编写代码,设计先行,代码殿后。

我们在下方的聊天框输入这么一段提示词,看看Kiro的Spec模式做了什么?

xml 复制代码
```xml<rules><role>你是一名Web应用开发专家,最擅长使用NextJs开发全栈应用。</role>
<goal>开发一个万年历应用,选中某一天,就能显示前100年和将来100的这一天有哪些中国传统节日,比如元旦,冬至。</goal>
<keywords>万年历、阳历、阴历、中国传统节日、历史的今天</keywords>
</rules>```

我们看一下Kiro做了什么工作。

上面动图的字太小,我把Kiro的总结贴到下面。

javascript 复制代码
我来帮你创建一个万年历应用的规格说明。让我先基于你的需求生成初始的需求文档。Createdrequirements.md我已经基于你的需求创建了初始的需求文档。文档包含了以下主要需求:日历界面与日期选择 - 用户可以查看日历并选择任意日期,同时显示阳历和阴历信息节日查询功能 - 选中日期后显示前后100年内该日期对应的中国传统节日阴阳历转换 - 准确的农历公历转换,包括闰月处理和JSON序列化/反序列化节日数据集 - 完整的中国传统节日定义,包括固定阳历节日和农历节日性能要求 - 响应时间和加载速度的具体指标响应式设计 - 支持手机、平板和电脑等不同设备需求文档看起来是否符合你的期望?如果没问题,我们可以继续进行设计阶段。你可以提出修改意见,比如:添加更多节日类型调整日期范围增加其他功能需求

这里面最重要的是创建了需求文档requirements.md,但是这个不是普通的Markdown文件,实际包含了三个过程:Requirements、Design和Task List。目前Kiro只完成了第一个过程,这个需求文档你可以继续提出修改意见。

我们直接进入第二个Desigh环节,我们看一下Kiro做了什么工作。点击聊天框右上角的 Move to Design phase按钮即可。

这个阶段Kiro做了什么事情?生成了一个新的设计文档Design.md

sql 复制代码
设计文档看起来是否符合你的期望?如果没问题,我们可以继续创建实现任务列表。
设计文档包含:
基于Next.js 14的架构设计核心组件和接口定义数据模型(农历日期、节日、节气)10个正确性属性用于验证系统行为错误处理策略使用Vitest + fast-check的测试策略

我们来大致看一下Design.md的内容。针对需求文档,Design.md提供了这个的技术整体架构,包括核心组件和接口的标准。

接下来我们进入最后一个过程,生成开发任务的Task List,并询问你要不要开发Faster Mvp产品。

最后这个过程,Kiro交出了一份开发任务清单,总共13个大任务和几十个子任务。我这里放个局部细节图。

大家注意看上图中,我框选出的符号,一个箭头和Start task标记,然后下面是具体的任务项,这个任务要完成什么事情以及怎么测试。

至此,一份完整的Spec文档就完毕了,包含三部分:需求文档、设计文档和任务文档。

这个过程是不是很规范严谨,其实如果细心的话,这个过程是一直可以聊天修改的,也就是说,先不写代码,先把这三个文档跟Kiro聊清楚聊明白。

最后一步,我们直接让Kiro把所有的开发任务全部完成,看看能做成什么产品出来。我们先不让Kiro去做测试任务,先把核心功能开发出来。

你可以输入提示词让Kiro 去干活,也可以直接点击Start task那个闪电图标,一个任务一个任务的去完成。

当前开发在进行哪些任务,在Task.md也能实时看到。

开发的过程是漫长的,我们就不详细说了。不过这个过程中,你是可以悠闲喝咖啡的,因为需要你动脑的事情已经不多了。

除了一开始安装开发环境我需要点几下鼠标进行授权,剩下的时间我都在窗户旁来回踱步晒太阳,等待Kiro完成开发。

终于开发完毕,我们启动这个一下,看看最终的效果。

完美,一步到位,没有任务Bug!!

当然很多细节功能需要优化,比如我想选中阴历生日,再帮我查找;没有对应节日的年份直接过滤等等,细节的优化就比较花费时间了。

至此,我们完成了整个Spec模式的开发探索,整个过程消耗了Kiro 账号40个积分,因为我全程用的Claude Opus 4.5,积分按2.2倍计算。

这篇文章终于要结尾了!做个总结吧。

让我们告别"开盲盒"的代码生成,Kiro 用 Spec 模式证明了:磨刀不误砍柴工,教会 和告诉AI明确的需求和开发规范,比逼它瞎干活要靠谱得多。

Vibe Coding 让我们享受了"脑洞大开"的玩具Demo快感,而 Spec 模式则补全了从"玩具"到"产品"之间最关键的工程拼图。

从跟 AI 互相扯皮改 Bug,到变成喝着咖啡监工它按文档施工,这才是AI编程用户该有的体面生活。

完。

相关推荐
Hector_zh9 分钟前
JiuwenClaw 持久化存储落地:从方案到生产的实践验证
人工智能·ai编程
马可菠萝22 分钟前
“More Than Coding”不只是口号:SOLO Mobile 让我在手机上就完成了数据分析
trae
vistaup1 小时前
claude code 安装 Superpowers(token消耗多但是流程规范化)
ai编程
AskHarries1 小时前
我用 AI 写了一首歌,并把它上传到了 QQ 音乐、酷狗音乐、酷我音乐
openai·ai编程
甲维斯2 小时前
worktree是什么鬼?Codex和Claude双修把我搞晕了!
人工智能·ai编程
DashVector2 小时前
Zvec v0.4.0 正式发布
数据库·嵌入式·ai编程
玄尺2 小时前
【opencode】opencode插件
ai编程
码途漫谈2 小时前
Easy-Vibe高级开发篇阅读笔记(二十)——多平台开发之个人网页与博客开发
人工智能·笔记·ai·开源·ai编程
码途漫谈3 小时前
Easy-Vibe高级开发篇阅读笔记(二十一)——AI能力强化之RAG 与企业级智能客服
人工智能·笔记·ai·开源·ai编程
维诺菌3 小时前
claude code安装
java·开发语言·ai编程·calude