Kiro,你真的很棒!

53 天前
 taylorr

先说我的“结论”:

[图一:游戏启动]

(项目仓库地址

个人编程经验

我个人算有一些编程的经验,近几年主要用 PHP 和 TypeScript 写我的个人站点,用 C++写一些算法题。对各类开发工具有一定了解,对当今技术趋势有一定了解。

总体过程

16 号晚上下载了 Kiro ,先用它对我现在在重写的“任氏有无轩”项目进行了一两个测试,感觉模型可以(直接 Claude 4 ),速度可以(不用等),结果可以。然后试图创建一个“大”程序……到晚上,放弃。但积累了一些过程性体验和经验。

17 号上午,决定用一个比较“小”的程序——也就是 Hangman 猜英文单词——入手。当天编程时间较多,估计在 7-8 个小时,进入基本可玩状态(但有一个后来发现的问题)。

18 号上午,修正了 AI 调用的问题,加入了一些修饰功能(如个人进度跟踪等),用时 3 小时左右。

全程 10 个小时中:

  1. 人工输入:确定需求、设计和任务(下文详述);手工干预一些设置;现场输入;点击“运行”让 Kiro 执行命令。也就是说,人工的输入已经来到了“最低”限度。
  2. AI 产出:分析、编码、纠错、提示人机交互。

详细过程

第一天

Kiro 的工作流程很有意思。Kiro 会提示你用“Spec”的方式来进行开发。

什么是“Spec”式开发?我的理解是,用户作为“甲方”只管提出要求,而 Kiro 会根据它的经验,进行进一步的分解,最终形成 3 个供后续开发使用的文件。

我的第一步工作(也算是最大的输入工作)是创建了一个spec.md文件,写下了我最根本、最基本的要求,全文如下[^1]:

# Objective

To build a retro Hangman game using latest technology and a beautiful UI.

# Tech requirements

1. Typescript, with framework support (say Nuxt)
2. Elegant UI, such as Tailwind, Flowbite
3. Use locally installed Ollama qwen3:1.7b to get a random word
4. Show correct letters and guessed letters.
5. Every failed attempt will decrease your "life" and show progress accordingly.
6. Display "Win" or "Lose" accordingly.

[^1]: 这里的模型需求后来被我 override 了,改用了豆包的 API 接入。

Kiro 看了这个文件,生成了三个新文件:requirements.mddesign.mdtasks.md

  1. requirements.md是一个比较结构化的文档,对于每个需求(requirement),有“用户叙事”( User Story )和“验收标准”( Acceptance Criteria )。对这个文件,用户应该花一些心思进行修订。
  2. design.md是一个技术设计文档。其中规定了应用使用到的技术栈,Kiro 还贴心地画出 Mermaid 流程图让“甲方”更好地理解程序整体架构。对这个文件,用户应该花很多心思进行审阅,因为技术栈的选择对整个程序的开发速度和难度至关重要。
  3. tasks.md是一个具体指导 Kiro 开发的详细技术文档。我这个 Hangman 程序,最终有 13 个一级任务,涉及项目自举、后台准备(如难度、游戏状态、游戏逻辑)、界面、AI 调用、个人成就、集成、单元测试、集成测试等重要节点。对于每个一级任务,Kiro 会将它分解为一些二级任务以及更小的待实现功能点。用户应该认真地审阅这个文件,但不用过细。我就只看了一级任务和一些二级任务。

这三个文件一旦确定,就可以进入 Kiro 自驱动的开发。

整体而言,第一天的开发还是比较顺利的。我只进行了两次代码提交,就已经有了一个还可以看的界面,游戏逻辑已经基本就位,还加入了一些音效反馈。

这一天的工作中,有不少是耗在了调用外部 AI 以及相关的工作上。我弃用了本地 Ollama 提供单词的想法,申请了豆包 API ,花了很多时间调试提供给豆包的提示词,调整参数(为的是在速度和准确度间找到平衡)。最终在测试中得到较好的结果。

第二天上午

在第二天上午的试用中,我发现了一个重大问题:程序在找单词的时候,一直在所谓 fallback 的词库里选择单词,游戏因此不具备了可玩性。

(我手动修改了程序中的 Fallback 词库,使其只包含无意义的一些中文字。这样,我就能判断程序是否真正用了 AI 提供的单词。)[^2]

[^2]: 另一种做法,是手工维护一个本地词库。但这样一来,这个程序本身就一点都和 AI 挂不上边了,对吧?

我和 Kiro 进行了长时间的对话,而 Kiro 也非常配合,通过不同的 API 调用方式,最终找到了问题,并完成了最有突破性的修订(见这个Git Commit)。之后我又对 UI 提出了一些改进意见,Kiro 也都一一完成。

第二天的另一个重要功能,是加入了所谓的“个人进度”:你玩了几次游戏?各个难度的准确率是多少?——这也是我一开始对 Kiro 的要求。而 Kiro 显然不满足于这么简单的一个进度系统。它主动加入了“成就”系统——虽然还很少,目前只有 5 个——并很快完成。

最终运行

游戏运行后,会出现“难度选择”(见图一)。选择难度后,进入初始界面:

[图二:游戏开始的初始界面]

随着用户的输入,界面不断更新:吊死鬼的状态、猜对/猜错的字母,当前游戏整体进度等。

[图三:游戏进行中]

这是游戏中的“个人进度”:

[图四:个人进度和成就]

写在最后

这几年,“用了 XXX ,0 代码一天我编写了一个????”的帖子是很能吸引眼球的。我做这样的一个“试验”,也是为了去验证这样的说法到底是不是成立。

你问我的结论?我的结论是:用了 AI ,0 代码一天写一个 app ,可行但不要过于乐观

“可行”在于,通过我的实践,我发现确实可以 0 代码用一天的时间写一个 app 。

“不要过于乐观”在于,我是一个有一定编程基础的“非程序员”。我可以不知道正确的代码、最好的做法是啥——这是 AI 的工作,但我知道:我想要什么,程序设计应有的结构,一些关键的“卡点”。

Kiro 和所有的 AI 一样,一般都会 over thinking (过度思考)。在不少场合,我必须打断它“无休止”的思考而提出强硬的要求,而如果没有一定(可能还是很深厚)的编程基础和实践,真的编程小白恐怕是无法做到这个的。

AI 编程的意义在哪里?

对于那些重复性的、可验证的、可参考性强的工作,AI 比人有着巨大的优势。无论是快速原型迭代还是功能、细节的改进,AI 的“知识库”一定胜过任何程序员。

如果一项任务可被验证,比如:应用启动时,应该显示一个“复古”界面就是一个可被验证的任务——Kiro“知道”复古界面是什么意思,应该有些什么元素。

人的优势在于,对于开发的进程以及一些关键节点(以及相应的干预)有着清楚的认识。在人的干( tiao )预( jiao )下,AI 不至于陷入“幻觉”或者“过度思考”。人在这个模式下,更像一个纯甲方+PM ,提出需求、迭代需求、适当干预、最终验收(方式各异)。

Kiro 还提供了 Vibe 模式——抽烟喝酒烫头式模式——进行开发,我会用这个模式试着开发下一个练手项目。

如果你已经看到这里,不妨访问我的代码仓库,clone 一份到本机执行,顺便加个 star 吧!

(原文连接: https://blog.rsywx.net/2025/07/18/kiro-you-are-really-good/)

4848 次点击
所在节点    程序员
24 条回复
klo424
53 天前
试了一下,有 bug ,Ctrl+L/Ctrl+I 快捷键不好使,直接卸载了,还没 cursor 的免费版好用呢。
taylorr
53 天前
@klo424 还以为你说我的程序有 bug……
EastLord
53 天前
提示 The model you've selected is experiencing a high volume of traffic. Try changing the model and re-running your prompt.
klo424
53 天前
@taylorr 哈哈哈哈,误会了
taylorr
53 天前
@EastLord 目前我感觉还行。但确实有朋友反应碰到。
iorilu
53 天前
这个 ui 都是 kiro 自己搞出来的? 看起来不错阿
raptor
53 天前
肾上 V5
taylorr
53 天前
@iorilu 是的。我只要求了:复古风,用 tailwind+flowbite
niubilewodev
53 天前
昨天装了 kiro ,用了一下午,帮了我一个大忙。

用 kiro ssh 到开发板上,想写个硬件编解码。结果每次连上几分钟就重启。
最后各种排查,发现是线材不达标,开发板功率大了之后,会断电……
kiro server 索引代码的功率比之前跑性能测试还要高。
然后用 kiro 测了几根线材,成功的区分了线材的好坏。
虽然代码一行没写……
darksword21
53 天前
对这种帖子已经疲劳了

一个产品经理拿着 AI 做个无聊的东西然后发个震惊贴说自己一行代码没写从零做了个 balabala (只是吐槽,没有针对此贴)

就像楼主自己也说过 “用了 XXX ,0 代码一天我编写了一个????” 这种标题的帖子

我现在每次看到只会心里默念一句 ‘**’
iorilu
53 天前
据说现在用的人太多崩了阿, 我看下来不错, 价格也合适, 以后用这个替代 cursor 应该时可行的
taylorr
53 天前
@darksword21 是的。所以我说:可行但不要太乐观。没有相当编程基础,是搞不定的。
taylorr
53 天前
@niubilewodev 开发板确实有这个问题。据说 Rasp 供电不足时,还会出现最低级的计算错误。
taylorr
53 天前
@iorilu 资瓷!
binggg
53 天前
看到 Kiro 我就进来了,Spec 这套设计非常合理

Spec 工作流让 AI 编程不再是“碰运气”,而是“有章可循”。

人类工程师的经验和判断,配合 AI 的高效执行,才能让开发真正提速、提质、可复盘。

在 Spec 工作流下,AI 负责:

模糊需求 → 需求方案
技术设计文档
任务清单
编码实现
验收测试
人只需参与:

需求输入
需求/技术/任务/测试评审

----

前天中午使用了下 Kiro ,被他那一套 spec 工作方式给吸引到了,无奈经常网络报错
下午尝试写了一套提示词来复刻了 Kiro 的工作方式,结果在 Cursor 中 的 Auto 模型下也工作良好,一下子帮我搞定了好几个需求(要知道,以前我是不屑于用 Auto 模式的,感觉完全不能用)

然后当天发了拆解和复刻 Kiro 的推文,结果爆了(一天我的账号多了十万的阅读)
https://x.com/being99/status/1945432092441272656

昨晚上又肝了下写了篇完整的长文,大家可以看看

AI 编程不靠运气,Kiro Spec 工作流复刻全攻略
https://mp.weixin.qq.com/s/3j6lG50isbuSH4p64TsNag

P.S. 今天很多群友在 Cursor/ Claude Code 等工具都复现了这套工作流,都非常兴奋😄
taylorr
53 天前
@binggg 我明天会试试用 Vibe Coding 。通过深度交流,让 Kiro 实现一个我到现在还不知道怎样实现的游戏。
binggg
53 天前
@taylorr 👍期待你的后续分享
kelvinji2009
53 天前
这个 UI 效果看起来还是可以的
zeromovie
52 天前
你们都咋下载的,我看目前官网只能是加入 waitlist 的形式
taylorr
52 天前
@zeromovie 下手要早……

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1146167

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX