Vibe Coding再迎重磅玩家,AWS发布AI IDE:Kiro,你可以直接通过自然语言来生成代码,创建网站、游戏或者程序了。
Kiro 是一款AWS刚发布的、具有代理(agentic)能力的集成开发环境(IDE),它的目的是希望通过简化的开发者体验,帮助开发者从概念原型无缝过渡到生产级别的应用。它的核心理念是“规格驱动开发”(spec-driven development),以解决当前 AI 编程从有趣的原型到可靠的生产系统之间存在的鸿沟。

简单来说,Kiro是一个AI Agent,它不仅能帮你写代码,更能帮你思考和规划,确保你的项目从一个原型(一个初步的、能运行的草稿)顺利变成一个能稳定运行、可供用户使用的生产级应用(正式产品)。
Kiro通过规划设计来提高Vibe Coding的准确性
Vibe Coding是最近很火的一个编程概念,主要的方式就是你输入指令,让大模型调用各种工具帮你编程。此前,Cursor、windsurf等都是类似的产品,将传统的IDE转成AI IDE。而Claude Code这种命令行的Vibe Coding工具更激进,直接将传统IDE界面去除,你只能通过命令行让模型帮你干活。而此次AWS新发布的Kiro,也是希望在这个领域有所突破。
为了让Kiro区别于其它产品,AWS做了很多设计,主要的目标就是提升大模型编程的准确性,降低不确定性。
许多开发者体验过通过与 AI 反复对话(prompt)快速生成一个可用应用程序的“魔法”(Vibe Coding),但这个过程存在诸多问题,导致产品难以投入生产:
- 隐性假设:AI 模型在构建应用时会做出许多假设,而这些决策过程没有被记录下来。
- 需求模糊:初始需求通常不清晰,导致无法判断最终的应用是否满足了这些需求。
- 设计黑盒:难以快速理解系统的设计原理,以及该设计对环境和性能的影响。
- 维护困难:由于缺乏清晰的文档和设计思路,后续的维护和迭代变得非常困难。
Kiro 通过引入“规格”和“钩子”这两大核心功能,旨在解决以上所有问题,为开发过程带来严谨性和清晰度。其中前者类似需求分析和规格设计,就是在动手之前先做好规划的逻辑。而后者则是一些自动化规则,例如每次做完代码的更正都做单元测试。
Kiro 工作流程实战:以添加“产品评论系统”为例
为了具体展示Kiro的工作方式,官方给了一个案例,以一个为手工艺品电商应用添加“产品评论系统”的案例,详细演示了其“规格驱动开发”的流程。
首先是从单一指令到明确需求 (From single prompt to requirements)
第一步工作就是我们输入一个指令,这个指令可能是很模糊的简单的指令。例如:
> `"Add a review system for products"` (为产品添加一个评论系统)
然后,Kiro就可以自动化输出:Kiro 不会直接开始写代码,而是首先将这个模糊的需求具体化:
* **生成用户故事**:自动分解出多个详细的用户故事,例如:**查看评论、创建评论、筛选评论、为评论打分**。
* **明确验收标准**:更关键的是,每个用户故事都附带了使用 **EARS 标记法** (Easy Approach to Requirements Syntax) 编写的验收标准。这是一种结构化的自然语言语法,能清晰定义需求,覆盖开发者在实际工作中必须处理的各种**边缘情况**。
* **价值**:这一步将开发者的“意图”和 AI 的“理解”显式化,确保双方对要构建的功能有共同的、无歧义的认知。
其次是基于需求生成技术设计 (Technical design based on requirements)
在需求规格获得批准后,Kiro 进入设计阶段。它会分析你现有的代码库和上一步生成的需求规格。并自动创建一份全面的技术设计文档,其中包含:
* **数据流图 (Data flow diagrams)**:使用 Mermaid 等工具可视化数据如何在系统中流动。
* **TypeScript 接口**:例如,为评论系统创建 `Review` 等接口定义。
* **数据库模式 (Database schemas)**:设计存储评论数据所需的表结构。
* **API 端点 (API endpoints)**:定义与评论系统交互所需的所有 API 接口。
* **价值**:这个过程消除了传统开发中为明确技术细节而进行的漫长沟通和返工,直接从需求过渡到清晰、可执行的技术蓝图。
如下图所示的样例:

最终,Kiro会为你实现任务 (Implement tasks)
有了清晰的设计后,Kiro 将其实施过程也结构化了。主要包括以下几个步骤来实现上面的功能
- Kiro 的任务分解:
- 生成任务列表:自动生成实现该功能所需的所有任务和子任务。
- 智能排序:根据任务间的依赖关系进行正确排序。
- 需求追溯:将每个任务链接回最初的需求规格,确保开发过程中的每一步都有据可循,不会遗漏任何功能点。
- 任务的丰富细节:每个任务都不仅仅是“写代码”,而是包含了一整套生产级要求:
- 单元测试 (Unit tests)
- 集成测试 (Integration tests)(例如,产品和评论之间的交互测试)
- 加载状态 (Loading states)
- 移动端响应式设计 (Mobile responsiveness)
- 无障碍性要求 (Accessibility requirements)
- 可控的执行与审计:
- 开发者可以在任务界面逐个触发任务,并实时查看进度条。
- 任务完成后,可以内联查看完成状态,并通过查看代码差异 (code diffs) 和代理执行历史来审计 AI 的工作,确保一切尽在掌控。
此外,Kiro 的一个重要特性是,规格文档会与代码库保持同步。开发者既可以先写代码,然后让 Kiro 更新规格;也可以反过来,先更新规格,让 Kiro 刷新任务列表。这完美解决了传统开发中设计文档在项目开始后就无人更新,最终导致文档与代码不一致的顽疾。
Kiro通过提供钩子 (Hooks)功能来提高质量保障
在上述案例的代码开发完成后,进入提交前的检查阶段,这时“钩子”就派上了用场。
“钩子”这个概念听起来可能有点技术化,但其实非常简单:
想象一下,我们需要下面这样一个规则:“每当我保存一个文件时,就自动帮我检查一下有没有错别字。” 这个“每当……就……”的自动化机制,就是钩子 (Hook)。它就像一个时刻待命的智能管家,在你进行特定操作时,自动触发一个预设好的任务。
在前面的开发评论系统时,假设我们希望团队遵循一个最佳实践:“一个代码文件只做一件事”(即单一职责原则),以保证代码的整洁。那么,我们只需要用自然语言告诉 Kiro 这个规则。Kiro 会创建这个“钩子”,并设置触发条件为“当有新组件文件被创建或保存时”。
这个规则一旦建立,团队里的任何人,在添加新组件时,Kiro 的智能代理都会自动在后台进行检查,确保代码符合规范。它能自动化地执行各种检查,比如:
* **自动更新测试**:改了组件,自动更新测试用例。
* **自动更新文档**:改了 API,自动更新说明文档。
* **安全扫描**:提交代码前,自动检查有没有忘记删除的密码等敏感信息。
这个功能其实真的很实用。在一些大的原则和系统设定上会简化很多操作。
DataLearnerAI对Kiro实际测试的案例
为了测试Kiro的能力,我们下载安装了一下Kiro,从零开始创建一个我们DataLearnerAI网站的原型。首先,Kiro应该是基于VS Code进行研发的。进入之后的界面和VSCode完全一样。此时,我们连环境都没有配置,直接输入了第一个命令(生成DataLearnerAI的网站,有首页、模型列表和模型详情页面三个页面),结果非常令人震惊,作为原型,Kiro生成的网站这个完成度和细节很高。如下图所示:

右上角就是我们的命令,然后Kiro开始创建构建目录结构,创建原型页面。并最终给了一个解释说它做了什么

结束之后,我们给出命令,让它把这个项目运行起来,最后可以在浏览器访问,最终截图如下:



可以看到,页面非常美观,且每个页面的细节都很丰富。模型列表页可以根据类型筛选,而模型详情页的每个具体的tab页,如Overview、Document等都是可以点击查看具体详情的。可以说,非常满意!
Kiro底层模型是Claude Sonnet,当前可以免费使用
目前Kiro处于预览阶段,可以免费使用(有一定限制)。它底层的模型目前是Claude Sonnet 4和Claude Sonnet 3.7。它支持的系统也很多,包括 Mac、Windows 和 Linux。可以说,这次AWS发布的Kiro非常有诚意,推荐大家尝试使用。感受一下未来的编程方式和魔力!
欢迎大家关注DataLearner官方微信,接受最新的AI技术推送
