Kiro 上手实测:亚马逊这个‘先写需求再写代码‘的 AI IDE,到底好不好用

发布时间:2026/6/9 19:31:07
Kiro 上手实测:亚马逊这个‘先写需求再写代码‘的 AI IDE,到底好不好用 一句话总结亚马逊出了个 AI IDE 叫 Kiro和 Cursor、Claude Code 最大的区别是它让你先写需求文档再让 AI 写代码。我花了一个周末把它装上跑了两个项目说说真实感受。Kiro 是个什么东西Kiro 是亚马逊今年推的 AI IDE底层是 VS Code 改的和 Cursor、Windsurf 一样。它有两种模式Vibe 模式和 Cursor 差不多对话式写代码Spec 模式Kiro 独有的先把需求拆成用户故事和技术设计再一步步生成代码Spec 模式是 Kiro 的卖点。官方管这叫Spec-Driven Development——用规格文档驱动开发。说白了就是先做产品经理的活再做程序员的活。目前 Kiro 免费用底层跑的是 Claude Sonnet 4.5 和 Opus 4 模型。亚马逊累计往 Anthropic 投了 80 亿美元所以用 Claude 不心疼。安装过程5 分钟搞定去 kiro.dev/downloads 下载安装包macOS、Linux、Windows 都有。安装完打开界面和 VS Code 几乎一样。登录支持 Google 和 GitHub 账号。第一次打开会问你要不要导入 VS Code 的配置和插件。我原来 VS Code 里装了 RooCode 和 AMP都能直接导过来。Augment 导不进来得手动装 VSIX。# 也可以用命令行安装curl-fsSLhttps://cli.kiro.dev/install|bash装完之后终端里也能用kiro命令功能和 Claude Code 类似——在终端里跟 AI 对话写代码。Spec 模式实战做一个待办事项 API我拿一个简单的待办事项 API 来试 Spec 模式。第一步输入需求在 Kiro 里新建一个 Spec输入需求描述做一个待办事项 REST API用 Node.js Express。 功能增删改查待办事项每个待办有标题、描述、状态未完成/已完成、创建时间。 用 SQLite 存数据。就这么几行够模糊的。第二步Kiro 生成需求文档点了Generate Requirements之后Kiro 在.kiro/specs/目录下生成了一个requirements.md。它把我的三行描述拆成了 4 个用户故事每个故事都带验收标准。比如### 需求 1**用户故事**作为用户我想创建待办事项记录我需要完成的任务。#### 验收标准1.POST /api/todos 接收 title 和 description 字段2.title 为空时返回 400 错误3.创建成功返回 201 和新建的待办对象4.status 默认值为 pending5.created_at 自动填充当前时间比我自己写的需求文档靠谱多了。它补了很多我没想到的边界条件——比如标题为空怎么办、批量删除需不需要确认。第三步生成技术设计点Generate DesignKiro 又生成了一份design.md里面有技术栈选择Express Prisma SQLite数据库表结构API 接口定义请求格式、响应格式、状态码一张 Mermaid 架构图CREATETABLEtodos(idTEXTPRIMARYKEY,titleTEXTNOTNULL,descriptionTEXT,statusTEXTDEFAULTpendingCHECK(statusIN(pending,completed)),created_atDATETIMEDEFAULTCURRENT_TIMESTAMP,updated_atDATETIMEDEFAULTCURRENT_TIMESTAMP);这一步我改了一个地方它默认用 UUID 做主键我改成了自增 ID。在 Kiro 里直接编辑 design.md 就行下一步生成代码时会按修改后的设计来。第四步生成任务列表并执行最后一步Kiro 生成了一个tasks.md列出了 8 个开发任务每个任务带具体的实现步骤。然后可以让 Kiro 一个一个执行这些任务。我选了全部执行。大概 3 分钟跑完生成了完整的项目代码├──prisma/│└──schema.prisma├──src/│├──index.ts│├──routes/││└──todos.ts│├──controllers/││└──todoController.ts│├──services/││└──todoService.ts│└──middleware/│└──validation.ts├──tests/│└──todos.test.ts├──package.json└──tsconfig.json代码质量比我预期的好。分层清楚controller 不直接操作数据库service 层做业务逻辑validation 中间件单独抽出来。测试文件也生成了覆盖了主要的增删改查场景。跑了一下npm test8 个测试用例全过。npm run dev启动服务用 curl 试了几个接口都正常。和 Cursor、Claude Code 对比用了两天之后我的感受是这样的Kiro Spec 模式适合什么场景从零开始做一个新项目的时候Spec 模式很有用。它帮你把需求理清楚了再动手生成的代码结构比较规范。特别是做 CRUD 类的后端服务Spec 模式一步到位。Kiro 不如 Cursor 的地方改已有代码的时候Spec 模式太重了。我想改一个函数的逻辑不需要先写需求文档。这时候 Vibe 模式更合适但 Vibe 模式和 Cursor 差别不大而 Cursor 的上下文管理更成熟。Kiro 不如 Claude Code 的地方终端体验。Kiro CLI 也能在终端里用但指令集和交互体验和 Claude Code 比还有差距。Claude Code 的 SubAgent、Hooks 系统更灵活。真正的区别在思路上Cursor 和 Claude Code 的思路是你告诉我做什么我直接做。Kiro 的思路是你告诉我做什么我先帮你想清楚要做什么然后再做。前者效率高后者质量稳。Hooks保存文件自动跑任务Kiro 还有个 Hooks 功能——你可以设置触发规则比如每次保存 .ts 文件时自动更新对应的测试文件。配置方法是在.kiro/hooks/目录下创建一个 hook 文件# 自动更新测试## 触发条件当src/目录下的 TypeScript 文件被保存时触发## 执行动作检查对应的测试文件是否需要更新如果源文件有新增的函数或修改了函数签名自动更新测试用例用 Markdown 写 hook 规则这个设计挺有意思的。实测下来简单的场景能用比如自动补测试、自动更新 README。复杂场景还是会出错比如我改了一个函数的返回值类型它更新测试的时候把原来好的断言也改了。几个踩坑记录插件兼容性Kiro 基于 Code OSS大部分 VS Code 插件能用但有些依赖 VS Code 私有 API 的插件装不上。我常用的 GitLens 能用Augment 暂时不行。Spec 文件别删.kiro/specs/目录下的文件是 Kiro 的上下文来源。我有一次不小心删了 design.md后面让 Kiro 改代码时它找不到设计文档生成的代码和之前的风格不一致。模型切换Kiro 支持 Claude Sonnet 4.5 和 Auto 模式混合多个模型。我测下来 Sonnet 4.5 生成代码更稳定Auto 模式偶尔会在设计阶段和编码阶段用不同的模型导致前后不一致。中文支持需求文档用中文写没问题生成的代码注释也是中文的。但有时候中英文混排的需求会让它搞混。比如我写用 Express 框架它偶尔会理解成用 Express 的中文文档去写。我的建议如果你满足这些条件可以试试 Kiro经常从零开始新建项目项目是后端 API 或全栈应用团队里有人不写代码但需要参与需求定义如果你主要做以下事情继续用 Cursor 或 Claude Code在现有大型代码库上改代码需要终端里灵活操作项目类型多样不只是 Web 开发Kiro 现在免费装一个试试不亏。等它收费了再决定要不要长期用。安装地址kiro.dev/downloads 文档地址kiro.dev/docshumanizer-zh 五维评分维度评估标准得分直接性开门见山说产品是什么、怎么用没有铺垫废话9/10节奏长短句混合代码块和文字交替阅读节奏变化多8/10信任度没有读者朋友们式的解释直接上操作步骤9/10真实性有踩坑记录、有对比优劣、有具体场景建议9/10精炼度每段都有信息量没有重复和废话8/10总分43/50