上周在折腾一个内部工具的时候,同事甩过来一个链接:「试试 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 会自动生成三层文档:
- Requirements(需求):把你的描述拆成具体的功能点,每个都有验收标准
- Design(设计):技术方案,包括数据结构、API 设计、依赖关系
- 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:
markdown
## 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 大概长这样(节选):
markdown
### 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 个可执行步骤:
- 创建
SKILL.md声明文件 - 写 geocoding 函数
- 写 weather fetch 函数
- 写 output formatter
- 写集成入口
scripts/weather.sh
每个 task 点击执行,代码自动生成,生成完你可以看 diff。
第 4 步:看看生成的代码
geocoding 部分(节选):
bash
#!/bin/bash
# weather.sh - OpenClaw Weather Skill
get_coordinates() {
local city="$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" ]]; then
echo "找不到城市: $city"
return 1
fi
echo "${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 怎么用。
几个槽点
说完优点也得说说问题:
-
Spec 流程有门槛。如果你习惯了 chat 式的 AI 编程,Kiro 的 spec 流程会觉得繁琐。当然这其实是好事------强迫你想清楚再动手------但心理上需要适应。
-
Powers 生态还不够大。跟 VS Code 的扩展市场比,Kiro 的 Powers 数量还很少。不过已有的质量不错,都是亚马逊云科技、Figma、Stripe 这些大厂官方出品。
-
国内网络可能有问题。Kiro 的服务器在海外,如果你在国内用可能需要配代理。CSDN 上看到有人在 WSL 里装 Kiro 做开发,绕过了一些网络限制。
-
Autonomous Agent 目前还是 Preview。自主代理功能还在灰度中,Pro、Pro+、Power 用户优先,团队版需要排队。
怎么开始
-
去 kiro.dev/downloads 下载 IDE,或者终端装 CLI:
bashcurl -fsSL https://cli.kiro.dev/install | bash -
用 AWS Builder ID 登录(免费注册就行)
-
Free 套餐每月 50 credits,够体验核心功能。新注册送 500 bonus credits,30 天有效
-
在项目里试试 spec 流程:
Cmd+Shift+P → Kiro: Create Spec
套餐对比:
| 套餐 | 月费 | Credits | 适合 |
|---|---|---|---|
| Free | $0 | 50 | 体验 |
| Pro | $20 | 1,000 | 个人开发者 |
| Pro+ | $40 | 2,000 | 重度用户 |
| Power | $200 | 10,000 | 团队 / 企业 |
总结
Kiro 不是又一个 AI 编程助手的翻版。它的 spec 驱动开发是一种不同的思路------不是让 AI 猜你要什么,而是让你先想清楚要什么,然后 AI 精确执行。
如果你做的是需要长期维护的正经项目,建议试试。
🔗 相关链接:
- Kiro 官网:https://aws.amazon.com/cn/campaigns/kiro/
- Kiro CLI 安装:https://cli.kiro.dev/install
- Amazon Bedrock:https://aws.amazon.com/cn/bedrock/
- Builder Center Kiro 专区:https://builder.aws.com(搜索 kiro)