-
• https://kiro.dev/[1]
目前在 Waitlist,大家可以去官网申请,或者下载内测安装包。
和别的AI编程工具不同,打开 Kiro 直接首先看到两种模式, Vibe 和 Spec:
我们今天给大家介绍一下 Spec 模式。
Spec 模式官方的定义式: 先计划,后构建。在编码开始之前创建需求和设计。
Plan first, then build. Create requirements and design before coding starts.
比较擅长:
-
• 深度思考 -
• 需要提前规划的项目 -
• 使用结构化的方式构建
首先说一下,Kiro 的聊天框是支持多Tab的,每个Tab可以是一个独立的任务(Session)。
开始一个 Session
选择 Spec 模式然后再对话框输入你的需求就可以了,比如:
实现 通知预警系统功能,为了简单起见只实现前端页面部分,数据展示和交互使用 Mock 数据。
Kiro 会在 .kiro/specs 目录下创建一个新的文件夹代表你的任务,然后创建一个 requirements.md 文件:
文件的内容就是AI给你生成的需求文档。
可以看到,文档上方有 1-2-3 三个步骤:
-
• 需求 -
• 设计 -
• 任务
以及一个重新生成的按钮。
如果生成的需求文档你不满意,一般下面四种方法类修改:
-
• 直接手动修改需求文档,直到自己满意 -
• 拷贝原有的需求文档替换,不一定要用 Kiro 生成的 -
• 使用重新生成功能 -
• 在聊天框中提出你的需求,让 Kiro 进行修改
确认文档无误,在聊天框中点击进入下一步,Kiro 会根据需求文档生成设计文档。
当然你也可以直接点击设计,在打开的文档里面点击重新生成按钮,或者内容的生成超链接。
AI 生成设计文档大概这样,因为文档很长,既然用了 AI,我想大部分人应该不会花太多时间手动修改。 而我也倾向于AI给我惊喜,除非出现错误的内容,一般很少改动。
任务阶段
确认了设计无误,在聊天框中点击进入下一步,Kiro 会根据设计文档生成任务文档。
在空白的任务文件中,进行操作也是一样的:
生成任务也是一个漫长的等待,
可以点击 Follow 跟踪查看当前任务的所有状态(生成进度和历史),AI 所有改过的文件都会在这里展示。
可能是大模型调用的流量问题,有时候会生成失败,比如下面这样的提示:
毕竟是预览版本,而且是免费的,这个问题我觉得算正常,我们重新执行生成就好。
重试两次之后总算成功了:
正常情况下 tasks.md 任务上方是有执行状态和执行操作的:
有的时候由于 Session 或者其他原因没显示执行任务按钮,也没关系:
你直接聊天框跟他说 执行任务 就可以了,他也会自动执行任务。
看着 Kiro 一顿操作猛如虎,不知道最后生成的代码会不会是二百五。
但是, Kiro 的 Terminal 集成似乎有些问题,NPM DEV 执行之后,等了好多分钟,一直没有结束。
打开浏览器看了看,实现一堆界面,但是全都是提示开发中:
不过看了下任务列表,第一个任务也只是注册菜单,没有说实现功能。
执行还是执行
有结构性的执行任务是好事,不过带来的核心体验就是:
-
• 任务执行的时间会比较长
带来的直接结果就是,实现同一个任务 Kiro 要比别的变成IDE时间长很多(不夸张的说可能是几倍或者是几十倍)。
如果出现我前面的执行失败,时间也都会变得更长。
IDE对用户来说不是竞争
无论怎么说,Spec 模式还是很棒的。
我使用下来唯一的问题就是前面提到的 慢,当然执行失败或者卡住也包含在内。
大家如果有 Cursor 等应用的会员的话,或者是别的 AI 辅助变成工具,那么我们可以把 Kiro 生成的 需求、设计,特别是任务清单和计划,丢给别的 IDE 执行,这样,不仅享受到了 SPEC 模式的优点, 还可以快速的完成任务。
限额
由于免费测试,而且还是用的很贵的 Claude 模型,Kiro 每天调用有一定限额, 达到限额会收到提示,大家就乖乖等明天继续用就好了。
构建效果
Kiro 整体的构建效果还不错,有文档、有步骤,基本功能都完成,毕竟是用的 Claude 最先进的编码模型。
比如用户界面和新增:
通知发送界面
新邮箱快捷提醒:
联系人快速编辑:
联系人选择预览等功能:
不同类型用户UI标识
Token用完,其他的很多功能都没实现(在别的项目中也小用了一些)。
最后
最后说一句,虽然 Kiro 写功能写的慢,经常让我误以为都觉得没我手写快。
不过感觉归感觉,看了看有50个文件,平均100行一个文件,也有 5000 行代码了,虽然我一般人现实中实现这些功能 不会写这么多代码,但是作为 AI 编程工具,效率还是比普通人高出太多了。不知道现在还有没有按代码行数考核发工资的企业存在。
引用链接
[1]: https://kiro.dev/

