Kiro AI 编程助手使用指南
Kiro AI 编程助手使用指南
一、Kiro 是什么
Kiro 是一个 AI 驱动的开发环境,它能直接编写代码、运行命令、搜索文件、管理项目结构,让开发者专注于系统设计、方案探索和决策制定。Kiro 不只是一个聊天机器人,它是一个能实际操作你代码库的编程伙伴。
官网地址:
https://kiro.dev/
费用价格:
用量查询见右下角:
二、核心工作模式
2.1 Autopilot 模式(自动驾驶)
- Kiro 可以自主修改工作区内的文件,无需逐步确认
- 适合信任度高、任务明确的场景
- 子代理(Sub-Agent)功能仅在此模式下可用
2.2 Supervised 模式(监督模式)
- 每次修改后用户有机会回退变更
- 适合需要逐步审查的场景
三、聊天交互技巧
3.1 引用文件和文件夹
在聊天输入框中使用 # 前缀可以快速引用上下文:
| 语法 | 说明 |
|---|---|
#File |
引用指定文件,将其内容加入上下文 |
#Folder |
引用整个文件夹结构 |
#Problems |
引用当前文件的编译/lint 错误 |
#Terminal |
引用终端输出内容 |
#Git Diff |
引用当前 Git 变更差异 |
示例:
请帮我修复 #src/main/java/com/example/Service.java 中的空指针问题
3.2 附件支持
- 图片:拖拽图片文件到聊天框,或点击附件图标上传
- 文档:支持 PDF、DOCX 等格式,同样拖拽或点击上传
- Kiro 会自动识别并分析附件内容
3.3 高效提问技巧
| 场景 | 推荐写法 | 说明 |
|---|---|---|
| 修复 bug | “修复 #File 中第 45 行的 NPE” | 精确定位问题 |
| 重构代码 | “将这个方法拆分为两个独立方法” | 明确意图 |
| 生成代码 | “按照项目现有风格新增一个 Service” | 让 Kiro 匹配现有规范 |
| 理解代码 | “解释这个类的职责和调用链” | 获取分析而非修改 |
注:
博客:
https://blog.csdn.net/badao_liumang_qizhi
四、Spec(规格说明)功能
Spec 是 Kiro 中结构化构建和文档化功能的方式,适合复杂特性的增量开发。
4.1 Spec 的工作流程
- 需求阶段 — 与 Kiro 迭代讨论需求
- 设计阶段 — 确定技术方案和架构
- 任务拆分 — 将实现拆分为可执行的小任务
- 逐步实现 — Kiro 按任务逐个完成实现
4.2 Spec 中引用外部文件
在 Spec 文件中可以通过特殊语法引用其他文件:
参考 API 定义:#[[file:openapi.yaml]]
参考数据模型:#[[file:src/main/resources/schema.sql]]
这样 OpenAPI 规范、GraphQL Schema 等文档可以直接影响实现。
4.3 使用场景
- 新功能开发(多文件、多层级)
- 复杂重构(需要分步骤执行)
- 需要留下设计文档的场景
五、Steering(引导规则)
Steering 文件为 Kiro 提供额外的上下文和指令,确保生成的代码符合团队规范。
5.1 文件位置
.kiro/steering/*.md
5.2 三种引入方式
| 方式 | 配置 | 说明 |
|---|---|---|
| 始终引入 | 默认行为 | 每次对话都会加载 |
| 条件引入 | inclusion: fileMatch + fileMatchPattern |
当匹配文件被读取时加载 |
| 手动引入 | inclusion: manual |
用户通过 # 手动引用时加载 |
5.3 示例:条件引入
---
inclusion: fileMatch
fileMatchPattern: '**/*Mapper.java'
---
# MyBatis Mapper 编写规范
- 所有 Mapper 接口必须添加 @Mapper 注解
- 方法命名遵循 selectXxx / insertXxx / updateXxx / deleteXxx
- 复杂查询使用 XML 映射文件
5.4 常见用途
- 编码规范和团队约定
- 项目架构说明
- 构建/测试/部署命令说明
- 技术栈和依赖版本约束
六、Hooks(钩子自动化)
Hooks 让 Kiro 在特定 IDE 事件发生时自动执行操作。
6.1 支持的事件类型
| 事件 | 触发时机 |
|---|---|
fileEdited |
用户保存文件时 |
fileCreated |
新建文件时 |
fileDeleted |
删除文件时 |
promptSubmit |
发送消息给 Agent 时 |
agentStop |
Agent 执行完成时 |
preToolUse |
工具执行前 |
postToolUse |
工具执行后 |
preTaskExecution |
Spec 任务开始前 |
postTaskExecution |
Spec 任务完成后 |
userTriggered |
用户手动触发 |
6.2 支持的动作
- askAgent — 向 Agent 发送提示词(如代码审查提醒)
- runCommand — 执行 Shell 命令(如自动 lint、自动测试)
6.3 示例:保存时自动 Lint
{
"name": "Lint on Save",
"version": "1.0.0",
"when": {
"type": "fileEdited",
"patterns": ["*.java"]
},
"then": {
"type": "runCommand",
"command": "mvn checkstyle:check"
}
}
6.4 示例:任务完成后自动测试
{
"name": "Run Tests After Task",
"version": "1.0.0",
"when": {
"type": "postTaskExecution"
},
"then": {
"type": "runCommand",
"command": "mvn test"
}
}
6.5 管理方式
- 通过资源管理器中的 “Agent Hooks” 面板查看和管理
- 或使用命令面板搜索 “Open Kiro Hook UI”
七、MCP(Model Context Protocol)
MCP 允许 Kiro 连接外部工具服务器,扩展其能力。
7.1 配置文件位置
| 级别 | 路径 |
|---|---|
| 用户级(全局) | ~/.kiro/settings/mcp.json |
| 工作区级 | .kiro/settings/mcp.json |
优先级:用户配置 < 工作区配置
7.2 配置示例
{
"mcpServers": {
"aws-docs": {
"command": "uvx",
"args": ["awslabs.aws-documentation-mcp-server@latest"],
"env": {
"FASTMCP_LOG_LEVEL": "ERROR"
},
"disabled": false,
"autoApprove": []
}
}
}
7.3 安装 uvx
MCP 服务器通常通过 uvx 运行(Python 的 uv 包管理器的一部分):
# 使用 pip 安装
pip install uv
# 或使用 Homebrew
brew install uv
安装后,uvx 会自动下载并运行 MCP 服务器,无需额外安装。
八、Powers(能力扩展)
Powers 是打包好的文档、工作流引导和可选 MCP 服务器的集合。
8.1 操作方式
- list — 查看已安装的 Powers
- activate — 激活 Power,获取文档和工具列表
- use — 调用 Power 中的工具
- readSteering — 读取 Power 的工作流引导
- configure — 打开 Powers 管理面板
8.2 使用流程
- 先
activate获取 Power 的完整信息 - 查看
toolsByServer了解可用工具 - 通过
use调用具体工具
九、省 Token 技巧
9.1 精确引用
# 好的做法 — 精确指定文件
修复 #src/main/java/.../StockService.java 第 120 行的问题
# 不好的做法 — 模糊描述
帮我看看项目里有没有 bug
9.2 分步骤提问
复杂任务拆分为多个小请求,避免一次性加载过多上下文:
- “先帮我分析 StockService 的结构”
- “在 allocateStock 方法中添加库存不足的校验”
- “为新增的校验逻辑编写单元测试”
9.3 善用 Steering 文件
将重复性的规范说明放入 .kiro/steering/ 中,避免每次对话都重复描述:
- 编码规范 →
coding-standards.md - 项目结构 →
structure.md - 技术栈 →
tech.md
9.4 使用条件引入
对于只在特定场景需要的规则,使用 fileMatch 条件引入,避免始终占用上下文:
---
inclusion: fileMatch
fileMatchPattern: '**/*Controller.java'
---
# Controller 编写规范
...
9.5 利用 #Problems 和 #Git Diff
直接引用 IDE 已有的诊断信息,而不是让 Kiro 重新分析整个文件:
请修复 #Problems 中报告的所有类型错误
十、常用操作示例
10.1 生成文档
为 StockService 类生成 JavaDoc 文档注释
根据 #src/main/java/.../api/StockApi.java 生成 API 接口文档
10.2 代码生成
参照 DeliveryService 的模式,新建一个 TransferService,
包含 api 接口、controller、service、dao 全套代码
10.3 Bug 修复
#Terminal 中显示 NullPointerException,
堆栈指向 StockServiceImpl 第 234 行,请修复
10.4 重构
将 StockServiceImpl 中超过 200 行的 processOrder 方法
拆分为多个职责单一的私有方法
10.5 代码审查
审查 #Git Diff 中的变更,检查是否有潜在问题
10.6 数据库相关
根据以下表结构生成对应的 Entity、Mapper 接口和 XML:
表名:stock_transfer
字段:id, from_warehouse_id, to_warehouse_id, sku_code, quantity, status, created_at
十一、最佳实践总结
| 原则 | 说明 |
|---|---|
| 明确意图 | 告诉 Kiro 你要"做什么"而不是"怎么做" |
| 提供上下文 | 用 # 引用相关文件,减少 Kiro 猜测 |
| 分步执行 | 复杂任务拆分为小步骤,逐步推进 |
| 利用 Steering | 团队规范写入 steering 文件,一劳永逸 |
| 善用 Spec | 大功能用 Spec 管理,保持设计和实现的一致性 |
| 设置 Hooks | 重复性检查(lint、test)交给自动化 |
| 信任但验证 | Autopilot 模式高效,但关键变更建议审查 |
| 匹配项目风格 | Kiro 会自动读取现有代码匹配风格,但明确指出更好 |
十二、快速上手清单
- ✅ 了解两种工作模式(Autopilot / Supervised)
- ✅ 学会用
#引用文件、文件夹、Problems、Terminal、Git Diff - ✅ 在
.kiro/steering/中添加项目规范文件 - ✅ 尝试创建一个简单的 Hook(如保存时 lint)
- ✅ 对复杂功能使用 Spec 进行结构化开发
- ✅ 探索 Powers 面板,安装有用的扩展能力
- ✅ 根据需要配置 MCP 服务器连接外部工具
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐
所有评论(0)