Kiro AI IDE 深度使用指南:从入门到高效开发

17 阅读15分钟

Kiro AI IDE 深度使用指南:从入门到高效开发

本文系统梳理了 Kiro 的核心功能与最佳实践,帮助开发者快速上手并充分发挥 AI 编程助手的潜力。无论你是刚接触 Kiro,还是想进一步提升使用效率,都能从中找到实用的技巧。

一、Kiro vs Cursor vs Claude Code:三款 AI 编程工具横评

在选择 AI 编程工具之前,先搞清楚它们各自的定位和差异。

1.1 基本定位

对比项KiroCursorClaude Code
产品形态独立 IDE + VS Code/JetBrains 插件 + CLI基于 VS Code 的独立 IDE纯命令行工具
底层模型Claude(Anthropic 官方深度集成)多模型(Claude / GPT / 自定义)Claude(Anthropic 官方)
核心理念Spec 驱动的结构化开发快速代码生成与编辑终端中的 AI 编程助手
付费方式Credit 制Token / 订阅制Token 消耗制

1.2 核心功能对比

功能KiroCursorClaude Code
Spec 模式(需求→设计→任务→实现)✅ 原生支持
Steering(团队规范约束)✅ 多模式(始终/条件/手动)⚠️ 有 Rules,但较简单⚠️ 有 CLAUDE.md,功能有限
Hooks(自动化触发器)✅ 丰富的事件类型
Powers(按需技能包)✅ 语义检索,按需加载
MCP 支持
Checkpoint(代码回滚)✅ 精确到每一步
CLI 工具✅ 支持并行多任务✅ 这是它的主要形态
代码补全
多模型切换⚠️ Claude 系列内切换✅ 支持多家模型❌ 仅 Claude
图片/设计稿理解✅ 支持 Figma MCP⚠️ 有限支持

1.3 Kiro 的核心优势

1. Spec 模式——真正的「需求驱动开发」

这是 Kiro 与其他工具拉开差距最大的地方。Cursor 和 Claude Code 本质上都是「你说一句,AI 做一步」的对话模式。而 Kiro 的 Spec 模式将开发流程结构化为 需求分析 → 技术设计 → 任务拆解 → 逐步实现,每一步都可以人工审核。这意味着:

  • 复杂功能不再是一句 prompt 赌运气
  • 设计决策有据可查,可追溯
  • 团队协作时,Spec 文档本身就是沟通载体

2. Hooks——开发流程自动化

Cursor 和 Claude Code 都没有类似机制。Kiro 的 Hooks 可以在文件保存、创建、删除、工具调用前后等多种事件上自动触发任务,比如:

  • 保存代码时自动跑 lint
  • 新建文件时自动补充注释
  • 提交前自动安全扫描

这让 AI 从「被动响应」变成了「主动协作」。

3. Powers——上下文的智能管理

MCP 的问题是全量加载,所有注册的工具在每次会话中都会占用上下文。Kiro 的 Powers 通过语义检索按需加载,只在 AI 判断需要时才调用对应的技能包。这在大型项目中优势明显——上下文更精准,Token 消耗更低。

4. Steering——更精细的规范控制

Cursor 的 Rules 和 Claude Code 的 CLAUDE.md 都只支持全局加载。Kiro 的 Steering 支持三种模式:

  • 始终加载(团队通用规范)
  • 条件加载(匹配特定文件类型时才生效)
  • 手动加载(按需引用)

还支持通过 #[[file:xxx]] 引用外部文档,灵活度高出一个量级。

5. 同等任务,Token 消耗更低

实测对比,完成同样的开发任务,Kiro 消耗的 Credit 低于 Cursor 消耗的 Token。同样 20 美金的预算,Kiro 能做更多事。

6. 国内网络友好

Kiro 在国内可以直接使用,无需翻墙,不存在封号风险。Cursor 和 Claude Code 在国内使用都需要特殊网络环境,且有被封号的风险。

1.4 什么时候选哪个?

场景推荐工具
企业级项目,需要规范化开发流程Kiro(Spec + Steering + Hooks)
快速原型,追求极致的代码生成速度Cursor(多模型 + 快速编辑)
运维/DevOps,习惯命令行工作Claude CodeKiro CLI
团队协作,需要统一开发规范Kiro(Steering + Powers)
想用非 Claude 模型(如 GPT-4)Cursor(多模型支持)
国内网络环境Kiro(无需翻墙)

💡 一句话总结:Cursor 像一个反应快的结对编程伙伴,Claude Code 像一个住在终端里的高级助手,而 Kiro 更像一个懂流程、守规范、会自动化的 AI 技术经理。


二、Steering:给 AI 立规矩

Steering 是 Kiro 的「行为准则」机制,通过 .kiro/steering/*.md 文件来约束和引导 AI 的行为。可以理解为:你给 AI 写的团队开发规范

2.1 为什么需要 Steering?

AI 不怕规则多,就怕规则模糊。一个好的示例胜过 1000 字的描述。

没有 Steering 的 AI 就像一个能力很强但不了解你们团队规范的新人——代码能写,但风格、架构、命名可能完全不符合预期。

2.2 Steering 的三种加载模式

模式配置方式适用场景
始终加载默认行为,无需额外配置团队通用规范、代码风格要求
条件加载front-matter 中设置 inclusion: fileMatch + fileMatchPattern特定文件类型的规范,如 *.vue 文件的组件规范
手动加载front-matter 中设置 inclusion: manual,聊天时用 # 引用按需使用的参考文档,如 API 规范

2.3 Steering 编写最佳实践

像写代码一样写 Steering——模块化、可读、可维护。

<!-- .kiro/steering/vue-standards.md -->
---
inclusion: fileMatch
fileMatchPattern: "**/*.vue"
---

# Vue 组件开发规范

## 命名规则
- 组件文件名使用 PascalCase:`UserProfile.vue`
- prop 命名使用 camelCase:`userName`

## 组件结构
按 `<template>` → `<script>` → `<style>` 顺序排列

## 示例
```vue
<template>
  <div class="user-profile">{{ userName }}</div>
</template>

<script>
export default {
  name: 'UserProfile',
  props: {
    userName: { type: String, required: true }
  }
}
</script>

**关键原则:**

- 用具体示例代替抽象描述
- 不要在 Steering 中放 API 密钥等敏感数据
- 建议整个团队统一维护 Steering,纳入版本管理
- 可以通过 `#[[file:openapi.yaml]]` 引用外部规范文件,让 AI 在生成代码时参考你的接口定义


## 三、MCP:扩展 AI 的工具箱

MCP(Model Context Protocol)让 Kiro 能够调用外部工具和服务,相当于给 AI 装上了「外挂」。

### 3.1 常见 MCP 场景

| MCP 类型 | 用途 | 示例 |
|----------|------|------|
| AWS Docs | 查询 AWS 服务文档,生成更准确的云服务代码 | 查询 S3 版本控制如何开启 |
| Git | 代码仓库操作 | 自动提交、分支管理 |
| Playwright | 浏览器自动化 | UI 测试、页面截图 |
| Web Search | 网络搜索 | 查询最新技术文档 |
| 框架文档 | 加载特定框架的文档 | Strands Agent 等框架的 MCP |

### 3.2 MCP 配置

MCP 配置文件位于 `.kiro/settings/mcp.json`(项目级)或 `~/.kiro/settings/mcp.json`(用户级)。

```json
{
  "mcpServers": {
    "aws-docs": {
      "command": "uvx",
      "args": ["awslabs.aws-documentation-mcp-server@latest"],
      "env": {
        "FASTMCP_LOG_LEVEL": "ERROR"
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}

配置优先级:用户级 < 工作区级,工作区配置会覆盖用户级配置。

3.3 MCP 使用技巧

⚠️ 按需启用,避免浪费上下文

MCP 每次会话都会加载到上下文中,加载越多 = 消耗越多 Token。建议:

  • 当前项目需要什么就启用什么,不用的设置 "disabled": true
  • 按项目级别、工作区级别分层管理
  • 不常用的 MCP 平时关闭,需要时再打开

⚠️ 密钥安全

// ❌ 不要这样做
{
  "env": {
    "API_KEY": "sk-xxxxxxxxxxxx"
  }
}

// ✅ 使用环境变量
{
  "env": {
    "API_KEY": "${MY_API_KEY}"
  }
}

永远不要在 MCP 配置中明文存储密钥,使用系统环境变量传递。

四、Powers:让通用 AI 变成领域专家

Powers 是 Kiro 的「技能包」机制,比 MCP 更智能——它不会一股脑加载所有工具,而是通过语义检索按需调用。

4.1 Powers vs MCP

对比项MCPPowers
加载方式会话开始时全部加载按需语义检索,用到才加载
上下文消耗较高(全量加载)较低(按需加载)
适用场景通用工具调用领域专家能力封装

4.2 Powers 的实际应用场景

想象你有 A、B、C 三个微服务,B 需要同时对接上游 A 和下游 C:

  1. 将 A 的接口文档、规范封装成一个 Power
  2. 将 C 的接口文档、规范封装成另一个 Power
  3. 开发 B 时,AI 会自动识别你在对接哪个服务,按需查询对应的 Power

这样 AI 就从「什么都懂一点的通才」变成了「了解你项目上下文的专才」。

4.3 企业级 Powers 实践

  • 将内部知识库封装成 Power,AI 可以检索产品信息来完善功能
  • 将各项目的文档手册封装成 Power,供其他调用方参考
  • 在 Kiro 右侧面板的 Powers 图标中可以浏览和安装社区 Powers

五、Hooks:自动化你的开发流程

Hooks 是 Kiro 的自动化触发器,可以在特定事件发生时自动执行任务。

5.1 支持的触发事件

事件类型触发时机
fileEdited文件被保存时
fileCreated新文件被创建时
fileDeleted文件被删除时
promptSubmit发送消息给 Agent 时
agentStopAgent 执行完成时
preToolUse / postToolUse工具执行前/后
preTaskExecution / postTaskExecutionSpec 任务执行前/后
userTriggered手动触发

5.2 实战案例

案例 1:保存时自动安全扫描

{
  "name": "Security Scan on Save",
  "version": "1.0.0",
  "description": "Go 文件保存时自动执行安全扫描",
  "when": {
    "type": "fileEdited",
    "patterns": ["*.go"]
  },
  "then": {
    "type": "runCommand",
    "command": "gosec ./..."
  }
}

案例 2:代码变更后自动更新接口文档

{
  "name": "Auto Update API Docs",
  "version": "1.0.0",
  "description": "接口文件变更后自动更新文档",
  "when": {
    "type": "fileEdited",
    "patterns": ["src/api/**/*.ts"]
  },
  "then": {
    "type": "askAgent",
    "prompt": "检测到接口文件变更,请根据变更内容更新 docs/api.md 中对应的接口文档"
  }
}

案例 3:自动补充代码注释

{
  "name": "Enrich Comments",
  "version": "1.0.0",
  "description": "新建文件后自动补充注释",
  "when": {
    "type": "fileCreated",
    "patterns": ["src/**/*.ts", "src/**/*.vue"]
  },
  "then": {
    "type": "askAgent",
    "prompt": "为新创建的文件补充必要的代码注释,包括文件说明、函数说明和关键逻辑注释"
  }
}

更多 Hooks 应用思路:

  • 多语言国际化:编辑 i18n 文件后自动翻译其他语言版本
  • 自动生成单元测试:代码保存后基于变更生成测试用例
  • Git 提交前安全扫描:提交代码前对整个项目进行安全检查
  • 写操作审查:在所有写入操作前检查是否符合编码规范

六、Spec 模式:从需求到代码的全链路

Spec 是 Kiro 最具特色的功能之一,它将开发流程结构化为:需求 → 设计 → 任务拆解 → 逐步实现

6.1 Spec 的工作流程

需求文档 → AI 生成需求分析
         → AI 生成技术设计文档
         → AI 拆解实现任务
         → 逐个任务执行实现

每一步都可以人工审核和修改,确保方向正确后再进入下一步。

6.2 Spec 使用技巧

不要一次性把需求丢给 AI 就不管了。 正确的做法是:

  1. 发送需求后,先让 AI 列出它不理解的地方
  2. 通过多轮对话澄清模糊点
  3. AI 确认没有疑问后,再生成设计文档
  4. 审核设计文档,确认后再进入实现阶段
你:这是我的需求文档(附上需求)
你:对于这个需求,你有什么不理解或需要我澄清的地方?请列出来。
AI:我有以下几个问题...
你:(逐一回答)
AI:明白了,现在我可以开始生成技术设计文档了。

引用外部文档增强上下文:

在 Spec 文件中可以通过 #[[file:docs/api-spec.yaml]] 引用 OpenAPI、GraphQL 等规范文件,让 AI 在设计和实现时参考你的接口定义。

七、上下文管理:AI 的记忆术

无论上下文窗口多大,面对企业级长期项目,总会有用完的一天。塞进去的信息越多,AI 越容易产生幻觉。

7.1 核心思路:把记忆从 AI 的脑子转到硬盘上

多轮对话记录 → 阶段性总结 → 持久化为 .md 文件 → 纳入 Git 管理
                                                    ↓
新会话中通过 #File 加载 ← ← ← ← ← ← ← ← ← ← ← ←

7.2 具体做法

1. 阶段性总结

在关键节点让 AI 生成当前进度的总结文档,保存为 .md 文件。避免 Session 结束后信息丢失。

2. 按需加载上下文

新会话中使用 #File 加载相关的阶段性总结文档:

# 在聊天中引用
#File docs/phase1-summary.md
#File docs/api-design.md

继续上次的工作,现在需要实现用户认证模块...

3. 上下文压缩

让 AI 将之前的多轮对话记录压缩成精炼的总结文档,只保留关键决策和结论。

4. 任务隔离

不同任务使用独立的会话,避免不同项目之间的上下文干扰。每个会话专注一件事,减少 Token 消耗。

7.3 上下文快捷操作

快捷方式作用
#File加载指定文件到上下文
#Folder加载整个文件夹到上下文
#Problems加载当前文件的诊断问题
#Terminal加载终端输出
#Git Diff加载当前 Git 变更
Ctrl + L将选中代码块发送到聊天窗口
Ctrl + I在编辑器内打开内联对话

八、Kiro CLI:轻量级的命令行助手

除了 IDE,Kiro 还提供 CLI 工具,适合并行执行多个任务。

8.1 CLI vs IDE

对比项Kiro IDEKiro CLI
资源占用较高轻量
并行任务会话排队可同时开多个终端
适用人群日常开发运维、批量任务、快速查询
MCP 支持✅(继承 IDE 配置)

8.2 CLI 实战场景

# 生成前端项目并上传 Git
kiro "用 React 创建一个 Todo 应用,完成后提交到 Git"

# 查询 AWS 文档
kiro "S3 的版本控制如何开启?"

# 分析项目并生成部署配置
kiro "分析当前 Java 项目,生成 ECS 部署所需的 CDK 代码和 Dockerfile"

# 排查 K8s 问题
kiro "当前 EKS 集群中使用 Karpenter 做弹性扩缩容,有个 Pod 拉不起来,帮我排查原因"

# 日志分析 + 代码定位
kiro "Prometheus 地址是 xxx,ES 日志地址是 xxx,帮我找到所有 5XX 错误,定位到具体代码行"

# MySQL 慢查询分析
kiro "连接 MySQL(地址 xxx),分析 slow log,给出优化建议"

CLI 的核心优势:可以并发执行多个任务,不像 IDE 中会话需要排队。

九、Checkpoint:你的代码后悔药

AI 生成的代码不符合预期?别慌。Kiro 的 Checkpoint 机制让你可以随时回滚到任意一步。

9.1 使用方式

在聊天记录中,每一步操作旁边都有 Restore 按钮。点击即可回滚到该步骤之前的状态。

典型场景:

  • AI 把原有代码改坏了 → 点击 Restore 回到修改前
  • 尝试了一种方案不满意 → 回滚后尝试另一种
  • 多步操作中某一步出了问题 → 精确回滚到那一步

9.2 修改建议

当你发现 AI 生成的内容需要调整时:

✅ 推荐:在聊天窗口中告诉 AI 怎么改(AI 能同步更新上下文)
⚠️ 可以但需注意:直接在源文件中手动修改(AI 的上下文不会自动更新)

如果你手动修改了文件,又需要 AI 继续基于修改后的内容工作,最好用 #File 重新加载该文件,保持上下文一致。

十、开发技巧与最佳实践

10.1 语言选择

Claude 模型对英文的支持优于中文。建议:

  • 技术术语、API 名称、框架名称 → 用英文
  • 复杂业务场景描述 → 用中文
  • 支持中英文混合书写
// ✅ 推荐的混合写法
"使用 Express 框架创建一个 RESTful API,实现用户注册和登录功能,
密码使用 bcrypt 加密,JWT 做 token 认证"

10.2 善用内置工具

Kiro 内置了丰富的开发工具,不需要额外安装:

  • 代码搜索与分析(AST 级别)
  • Shell 命令执行
  • 文件读写与重构
  • 诊断与错误检查
  • 浏览器自动化(Playwright)
  • 网络搜索

10.3 模型选择策略

模型能力Credit 消耗适用场景
Claude Opus最强~2x复杂架构设计、疑难 Bug
Claude Sonnet均衡~1.5x日常开发、代码生成
Claude Haiku快速1x简单查询、代码补全

根据任务复杂度选择合适的模型,避免用大炮打蚊子。

10.4 高效提示词技巧

1. 先问后做

你:我要给这个 Vue 项目添加权限管理功能
你:在开始之前,请先分析当前项目结构,告诉我你打算怎么做,以及有什么需要我确认的

2. 分步执行

// ❌ 一次性丢一个大需求
"帮我做一个完整的电商系统"

// ✅ 拆分为可控的小任务
"先帮我设计用户模块的数据库表结构"
"基于这个表结构,生成对应的 Model 和 CRUD 接口"
"为这些接口添加参数校验和错误处理"

3. 提供足够的上下文

// ❌ 模糊的需求
"帮我修一下这个 Bug"

// ✅ 提供具体信息
"这个接口返回 500 错误,错误日志如下:xxx
期望行为是:xxx
当前代码逻辑是:#File src/api/user.ts"

10.5 代码补全

Kiro 的代码补全默认未开启,需要手动启用:

Settings → 搜索 "code completion" → 勾选启用

启用后,在编写代码时 AI 会实时提供补全建议。

总结

功能一句话总结
Steering给 AI 写团队规范,像代码一样维护
MCP扩展 AI 的工具能力,按需启用
Powers把通用 AI 变成领域专家,即插即用
Hooks自动化开发流程,减少重复操作
Spec结构化的需求到代码全链路
Checkpoint随时回滚,大胆尝试
CLI轻量并行,适合批量任务
上下文管理把记忆存到硬盘,按需加载

AI 编程工具是能力和效率的放大器。用好 Steering 定规矩,用好 Spec 理需求,用好 Hooks 做自动化,用好上下文管理控成本——工具用得好,下班回家早~