Kiro IDE 实战体验:亚马逊云科技的 Spec 驱动 AI 编程,写完需求自动出代码

上周在折腾一个内部工具的时候,同事甩过来一个链接:「试试 Kiro,写个 spec 就行了,后面的事它自己干。」

说实话我当时的反应是——又一个 AI 编程助手?凭什么再装一个?

但用了两天之后,我改主意了。

先说结论

Kiro 跟其他 AI IDE 的核心区别不在于「生成代码」这件事本身,而在于它要求你先把需求想清楚

听起来像废话对吧?但实际操作中你会发现,纯 chat 模式的 AI 编程——「随便写个 prompt 然后让 AI 猜」——遇到稍微复杂的项目就开始跑偏。你花 30 秒写的 prompt,AI 花 10 分钟生成代码,你再花 30 分钟改——来回几轮,效率还不如自己写。

Kiro 的思路是:你先写一个 spec(规格说明),它帮你把 spec 拆成 requirements → design → tasks,然后按 task 一个个实现。

这个流程强迫你在写代码之前把需求理清楚,听起来很烦,但实际体验下来反而更快。

Kiro 是什么

Kiro 是亚马逊云科技出品的 AI IDE,基于 VS Code 架构(用过 VS Code 的无缝切换),底层模型用的是 Claude。它有几个比较独特的东西:

Spec 驱动开发

这是 Kiro 的核心卖点。你在项目里创建一个 .kiro/specs/ 目录,写一段自然语言描述你要做什么,Kiro 会自动生成三层文档:

  1. Requirements(需求):把你的描述拆成具体的功能点,每个都有验收标准
  2. Design(设计):技术方案,包括数据结构、API 设计、依赖关系
  3. Tasks(任务):一个个可执行的代码任务,按顺序排好

然后你点一下,它就按 task 列表逐个实现。每个 task 完成后你可以 review,不满意就改 spec 重来。

跟纯 chat 模式比,这个流程最大的好处是可追溯。三个月后你看到一段代码,能仞 tasks → design → requirements 一路追回去,知道当初为什么这么写。

Hooks(自动触发器)

这个功能我觉得比 spec 还实用。你可以设置一些规则,比如:

  • 每次保存 .ts 文件自动跑类型检查
  • 每次修改 API 路由自动更新文档
  • 每次提交代码自动生成单元测试

它本质上是个「事件 → 动作」的自动化管道,但因为跑的是 AI agent,所以能做的事比传统的 git hooks 灵活得多。

比如我设了一个 hook:每次改了数据库 schema,自动更新对应的 TypeScript 类型定义和 API 文档。以前这种事要手动改三个地方,现在改一处自动同步。

Powers(能力插件)

类似 VS Code 的扩展市场,但面向 AI agent。官方和第三方提供了一堆预制能力包,比如:

  • Figma 设计稿转代码
  • Postman API 测试自动化
  • Netlify 一键部署
  • Amazon Bedrock 集成(可以在 Kiro 里直接调 Bedrock 的模型)
  • Stripe 支付集成

装一个 power,AI 就获得了对应的上下文和工具,不用你自己写 prompt 教它怎么用 Stripe API。

Autonomous Agent(自主代理)

这个是 Pro 以上才有的功能。你可以给 Kiro 一个任务,它在后台独立沙盒里干活,完了直接给你提 PR。

适合那种「改 50 个文件把日志格式统一」之类的苦力活。你安排完任务去喝杯咖啡,回来 review PR 就行。

CLI

终端党的福音。curl -fsSL https://cli.kiro.dev/install | bash 装完就能用,所有 IDE 里的功能在终端里也有。

我个人用 CLI 比较多,因为很多时候我在 SSH 到服务器上干活,开不了 GUI。

实际体验:用 Kiro 写一个 OpenClaw Skill

为了给你看看 Kiro 的完整流程,我拿一个实际需求演示:给 OpenClaw 写一个天气查询 Skill。

第 1 步:写 Spec

在项目目录下创建 .kiro/specs/weather-skill.md

## Weather Skill for OpenClaw 我要给 OpenClaw 写一个天气查询 Skill。 功能: - 用户说"北京天气"之类的话,自动查询当前天气 - 支持中国城市名(中文)和国际城市名(英文) - 返回温度、湿度、体感温度、风速 - 数据源用 Open-Meteo(免费,不需要 API Key) 技术要求: - SKILL.md 声明文件 - 主脚本用 Bash(OpenClaw 原生支持) - 用 curl + jq 解析 JSON - 城市名转坐标用 Open-Meteo 的 Geocoding API 

写完保存,Kiro 几秒钟内就生成了 requirements 文件。

第 2 步:Review Requirements

Kiro 生成的 requirements 大概长这样(节选):

### REQ-1: City Name Geocoding - 接收中文/英文城市名 - 调用 Open-Meteo Geocoding API 获取经纬度 - 处理多个匹配结果(取第一个) - 验收标准:输入"北京" → 返回 (39.9042, 116.4074) ### REQ-2: Weather Data Retrieval - 使用经纬度调用 Open-Meteo Forecast API - 获取 current_weather 字段 - 解析温度、湿度、风速、体感温度 - 验收标准:返回的 JSON 包含所有字段且值合理 ### REQ-3: Output Formatting - 中文城市名输出中文格式 - 包含天气图标(emoji) - 格式化为人类可读文本 - 验收标准:输出类似"北京 🌤️ 22°C / 体感 20°C / 湿度 45% / 北风 12km/h" 

看到没?它自动给每个需求加了验收标准。纯 chat 模式的 AI 编程工具通常不会做这一步——直接开写代码,写出来什么样看运气。

第 3 步:走完 Design 和 Tasks

Design 阶段它会画出文件结构、函数签名、数据流。Tasks 阶段拆成了 5 个可执行步骤:

  1. 创建 SKILL.md 声明文件
  2. 写 geocoding 函数
  3. 写 weather fetch 函数
  4. 写 output formatter
  5. 写集成入口 scripts/weather.sh

每个 task 点击执行,代码自动生成,生成完你可以看 diff。

第 4 步:看看生成的代码

geocoding 部分(节选):

#!/bin/bash# weather.sh - OpenClaw Weather Skillget_coordinates(){localcity="$1"local encoded_city encoded_city=$(python3 -c "import urllib.parse; print(urllib.parse.quote('$city'))")local response response=$(curl-s"https://geocoding-api.open-meteo.com/v1/search?name=${encoded_city}&count=1&language=zh")local lat lon name lat=$(echo"$response"| jq -r'.results[0].latitude // empty')lon=$(echo"$response"| jq -r'.results[0].longitude // empty')name=$(echo"$response"| jq -r'.results[0].name // empty')if[[-z"$lat"||-z"$lon"]];thenecho"找不到城市: $city"return1fiecho"${lat}|${lon}|${name}"}

代码质量不错,错误处理、URL 编码这些细节都考虑到了。

第 5 步:Hooks 自动跑测试

我提前设了一个 hook:每次 .sh 文件修改,自动用 shellcheck 跑一遍静态检查。Kiro 改完代码自动触发,发现了一个引号问题,自己修了。

整个过程大概 15 分钟,包括 review 时间。

Kiro 的核心优势

总结一下 Kiro 跟传统 chat 式 AI 编程的区别:

  • 开发方式:Spec → Requirements → Design → Tasks → Code,不是一句 prompt 直接出代码
  • 可追溯性:有完整的 spec → code 映射,三个月后还能追回设计意图
  • 后台任务:Autonomous Agent 在沙盒里独立工作,完成后提 PR
  • 扩展机制:Powers(AI 能力包),装一个就获得一个领域的完整上下文
  • 自动化:Hooks(事件驱动),保存文件自动跑检查、同步文档
  • CLI 支持:终端里也能用,SSH 到服务器照样跑

Kiro + Bedrock:为什么这个组合有意思

Kiro 本身内置了 Claude 模型,但它的 Powers 市场里有好几个 Bedrock 相关的能力包:

  • Build full-stack apps with AWS Amplify:用 Amplify Gen 2 构建全栈应用
  • Build applications with Aurora DSQL:serverless PostgreSQL 数据库应用
  • Observability:CloudWatch + CloudTrail 完整监控
  • IAM Policy Autopilot:分析代码自动生成 IAM 策略
  • Build an agent with Strands:用 Strands SDK 构建 AI Agent

特别是 IAM Policy Autopilot 这个——它分析你的应用代码,自动生成最小权限的 IAM 策略。以前手动写 IAM 策略要翻半天文档,现在装个 power 就搞定了。

如果你的项目本身就跑在亚马逊云科技上,Kiro 基本上是开箱即用的全家桶体验。Bedrock 的模型、Amplify 的全栈框架、Aurora 的数据库、CloudWatch 的监控——全部有对应的 Powers,不需要自己写 prompt 教 AI 怎么用。

几个槽点

说完优点也得说说问题:

  1. Spec 流程有门槛。如果你习惯了 chat 式的 AI 编程,Kiro 的 spec 流程会觉得繁琐。当然这其实是好事——强迫你想清楚再动手——但心理上需要适应。
  2. Powers 生态还不够大。跟 VS Code 的扩展市场比,Kiro 的 Powers 数量还很少。不过已有的质量不错,都是亚马逊云科技、Figma、Stripe 这些大厂官方出品。
  3. 国内网络可能有问题。Kiro 的服务器在海外,如果你在国内用可能需要配代理。ZEEKLOG 上看到有人在 WSL 里装 Kiro 做开发,绕过了一些网络限制。
  4. Autonomous Agent 目前还是 Preview。自主代理功能还在灰度中,Pro、Pro+、Power 用户优先,团队版需要排队。

怎么开始

  1. 用 AWS Builder ID 登录(免费注册就行)
  2. Free 套餐每月 50 credits,够体验核心功能。新注册送 500 bonus credits,30 天有效
  3. 在项目里试试 spec 流程:Cmd+Shift+P → Kiro: Create Spec

kiro.dev/downloads 下载 IDE,或者终端装 CLI:

curl-fsSL https://cli.kiro.dev/install |bash

套餐对比:

套餐月费Credits适合
Free$050体验
Pro$201,000个人开发者
Pro+$402,000重度用户
Power$20010,000团队 / 企业

总结

Kiro 不是又一个 AI 编程助手的翻版。它的 spec 驱动开发是一种不同的思路——不是让 AI 猜你要什么,而是让你先想清楚要什么,然后 AI 精确执行。

如果你做的是需要长期维护的正经项目,建议试试。


🔗 相关链接:Kiro 官网:https://aws.amazon.com/cn/campaigns/kiro/Kiro CLI 安装:https://cli.kiro.dev/installAmazon Bedrock:https://aws.amazon.com/cn/bedrock/Builder Center Kiro 专区:https://builder.aws.com(搜索 kiro)

Read more

35道常见的前端vue面试题,零基础入门到精通,收藏这篇就够了

35道常见的前端vue面试题,零基础入门到精通,收藏这篇就够了

来源 | https://segmentfault.com/a/1190000021936876 今天这篇文章给大家分享一些常见的前端vue面试题。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。 对于前端来说,尽管css、html、js是主要的基础知识,但是随着技术的不断发展,出现了很多优秀的mv*框架以及小程序框架。因此,对于前端开发者而言,需要对一些前端框架进行熟练掌握。这篇文章我们一起来聊一聊VUE及全家桶的常见面试问题。 1、请讲述下VUE的MVVM的理解? MVVM 是 Model-View-ViewModel的缩写,即将数据模型与数据表现层通过数据驱动进行分离,从而只需要关系数据模型的开发,而不需要考虑页面的表现,具体说来如下: Model代表数据模型:主要用于定义数据和操作的业务逻辑。 View代表页面展示组件(即dom展现形式):负责将数据模型转化成UI 展现出来。 ViewModel为model和view之间的桥梁:监听模型数据的改变和控制视图行为、处理用户交互。通过双向数据绑定把 View 层和 Model 层连接了起来,而View

【前端开发】HTML+CSS+JavaScript前端三剑客的基础知识体系了解

【前端开发】HTML+CSS+JavaScript前端三剑客的基础知识体系了解

前言 🌟🌟本期讲解关于HTML+CSS+JavaScript的基础知识,小编带领大家简单过一遍~~~ 🌈感兴趣的小伙伴看一看小编主页:GGBondlctrl-ZEEKLOG博客 🔥 你的点赞就是小编不断更新的最大动力                                        🎆那么废话不多说直接开整吧~~   目录 1.HTML  1.1什么是HTML 1.2HTML的基本结构 1.3HTML的快速入门 1.4HTML常见的标签 1.段落标签 2.图片标签 3.超链接标签 4.input标签 5.⽆语义标签: div&span  2.CSS  2.1什么是CSS 2.2CSS基础结构 2.3CSS选择器 1.标签选择器 2.class选择器 3.id选择器 4.通配符选择器  5.

梳理 Spring Boot Web 开发的几个概念

Web 技术栈概念梳理 本文档梳理 Spring Boot Web 开发中常涉及的几组概念:Servlet / WebFlux、Tomcat / Netty、HttpServletResponse / ServerHttpResponse,以及 spring-boot-starter-web / spring-boot-starter-webflux。 1. Servlet 与 WebFlux Servlet * 定义:Java EE 标准里的 Web API,采用「一个请求一个线程」的同步、阻塞模型。 * 技术栈:spring-boot-starter-web → 内嵌 Tomcat + Spring MVC。 * 特点:每个请求占用一个线程直到处理结束;请求/响应类型为 HttpServletRequest / HttpServletResponse;代码为同步写法。 WebFlux * 定义:Spring 的响应式 Web 框架,

Android WebView 版本升级方案详解

Android WebView 版本升级方案详解 目录 1. 问题背景 2. WebViewUpgrade 项目介绍 3. 升级方法详解 4. 替代方案对比 5. 接入与使用步骤 6. 注意事项与限制 7. 总结与建议 问题背景 WebView 版本差异带来的问题 Android 5.0 以后,WebView 升级需要去 Google Play 安装 APK,但即使安装了也不一定能正常工作。像华为、Amazon 等特殊机型的 WebView 的 Chromium 版本一般比较低,只能使用它自己的 WebView,无法使用 Google 的 WebView。 典型问题场景 H.265 视频播放问题: