1、Kiro是什么?


Kiro自己的回答:
Kiro 是一个 AI 助手和集成开发环境(IDE),专门用来帮助开发者进行编程工作。

我可以帮你做这些事情:

代码编写和修改 - 理解你的代码库,帮你写新功能或修改现有代码
问题诊断 - 分析错误、查看日志、找出问题根源
项目理解 - 快速理解项目结构、技术栈和业务逻辑
重构优化 - 改进代码质量、性能优化、架构调整
文档生成 - 根据代码生成文档(当然会先问你是否需要)
命令执行 - 运行构建、测试等命令
多文件操作 - 同时处理多个文件的修改


2、Kiro是什么?

我的理解:
Kiro是一个IDE形式的会编程的智能体。采用的大模型是Claude。
目前还可以免费注册薅点羊毛,当然我自己既薅羊毛,也注册了付费用户。
对项目的当前开发语言和框架不太熟练时,会比较费token点数。


3、Kiro可以直接交流

有任何问题可以直接问。
能指定精确的文件最好,不能指定,也可以让Kiro帮忙查找。

他是一位既严谨、又充满创意的开发者。
但他太强了,所有有时候会过度帮助你。
这时候可以设置好steeing,告诉他应该做什么,不应该做什么。

4、什么是Specs?

Specs(规格说明)是 Kiro 中一个结构化的功能开发方式,特别适合复杂功能的开发。

Specs 的作用
把复杂功能拆解成可控的步骤:

需求阶段 - 先明确要做什么
设计阶段 - 规划怎么做(架构、技术方案)
实现阶段 - 拆分成多个小任务,逐个完成

适用场景
大功能开发 - 比如新增一个完整的支付通道
复杂重构 - 比如改造商户进件流程
多模块协作 - 涉及 Controller、Service、DAO、配置等多层修改
需要反复确认 - 每个阶段都可以和你讨论、调整方案

实际例子

假设你要"新增一个银联支付通道":

传统方式:直接说"帮我加个银联支付",我可能一次性改很多文件,中间出问题不好回滚

用 Specs:

先写需求文档 - 银联支付要支持哪些功能?
设计方案 - 需要哪些类?数据库表要加什么字段?
拆分任务 -
任务1:创建 UnionPayService
任务2:添加配置文件
任务3:实现支付接口
任务4:添加回调处理
逐个完成,每步都可以测试和调整
特殊功能
Specs 文件支持引用其他文档,比如:

参考接口文档:#[[file:docs/银联支付API文档.md]]
这样我就能直接读取你的 API 文档来实现功能,不用你反复粘贴说明。

什么时候用?
简单修改(改个字段、修个 bug)- 直接说就行,不用 Specs
复杂功能(新模块、大重构)- 用 Specs 更清晰可控
你现在有什么复杂功能要开发吗?可以试试用 Specs 的方式。


5、什么是 Agent Steering ?

Agent Steering 是 Kiro 中的一个强大功能,用于为 AI 助手提供额外的上下文和指导规则。

什么是 Steering
Steering 文件是存放在 .kiro/steering/ 目录下的 Markdown 文件,它们可以:

定义项目规范 - 比如代码风格、命名约定、架构模式
提供项目信息 - 技术栈、项目结构、关键配置
设置开发规则 - 安全规范、最佳实践、团队标准
补充领域知识 - 业务逻辑说明、特定功能的处理方式
三种包含模式
始终包含(默认) - 每次对话都会自动加载
条件包含 - 当读取特定文件时才加载(通过 front-matter 配置)
手动包含 - 用户通过 # 上下文键手动引用

6、什么是 Agent Hooks?

Agent hooks 是一种自动化触发机制,让我能在特定事件发生时自动执行任务,省去你手动操作的麻烦。

简单来说
就像给项目设置"自动化小助手",当某个事件发生时,自动帮你做一些重复性工作。

实际例子
例子1:保存文件时自动运行测试
场景:你修改了 MerchantService.java,保存后想立即知道有没有破坏现有功能。

Hook 配置:

触发事件:文件保存
文件匹配:src/**/*.java
执行动作:运行相关单元测试
这样每次保存 Java 文件,自动跑测试,不用手动执行 mvn test。

例子2:提交代码前自动检查
场景:你经常忘记检查代码中是否有敏感信息(密码、密钥)。

Hook 配置:

触发事件:发送消息给 agent
关键词匹配:包含 "提交" 或 "commit"
执行动作:扫描暂存文件,检查是否有 password=、privateKey= 等敏感字符串
例子3:更新配置文件时同步文档
场景:你修改了 config.properties,希望自动更新 docs/配置说明.md。

Hook 配置:

触发事件:保存文件
文件匹配:config/*.properties
执行动作:发送消息给我 "请更新配置文档,反映最新的配置变更"
例子4:新建 JSP 页面时自动生成模板
场景:每次新建 JSP 页面都要复制粘贴相同的头部、引入 CSS/JS。

Hook 配置:

触发事件:新建文件
文件匹配:WebRoot/**/*.jsp
执行动作:自动插入标准的 JSP 页面模板(包含 Bootstrap、jQuery 引入)
怎么使用
你可以通过两种方式创建 hooks:

在侧边栏找到 "Agent Hooks" 区域
打开命令面板,搜索 "Open Kiro Hook UI"

7、怎样使用agent hook?


可以直接问kiro,让他生成一个hook即可。
也可以直接添加一个。

例,
复制以下内容粘贴即可。

Hook 名称:

字段变更同步检查
触发事件:

When a message is sent to the agent (消息发送时)
触发条件(消息内容匹配):

新增字段|添加字段|修改字段|删除字段|字段调整
执行动作:

Send a message to agent (发送消息给 agent)
消息内容:

请检查以下内容是否需要同步更新:
1. 相关的 PO 类(src/com/pay/po/)- 实体类字段
2. 相关的 DTO 类(如果有)- 数据传输对象字段
3. 相关的 Mapper 接口(src/com/pay/dao/)- 查询方法
4. 相关的 Mapper XML(src/com/pay/mapping/)- SQL 语句和 resultMap
5. 相关的 Service 类 - 业务逻辑处理
6. 相关的 Action 类 - 接口参数和返回值
7. 相关的 JSP 页面 - 表单字段和显示字段

请列出需要修改的文件清单,并询问是否需要帮助修改。


8、Kiro开发小技巧


Kiro虽然已经很聪明了,但有时候要么会过度修改代码,要么会理解能力不足。
遇到这种情况,赶紧cancel打断,然后告诉他应该怎么办。
或者干脆恢复代码,关闭当前的Chat,新开Chat。

当功能每推进一小步时,通过简单测试后,都git commit一次代码。
然后再进行下一步修改。
这样,当Kiro出现理解错误时,可以很轻松的git checkout . 恢复到上一次满意的状态。


9、当出现如编译报错,响应报错时怎么处理

不用慌,把错误日志发给Kiro,他会直接处理问题。
要么是直接解决了。要么添加更多日志,方便调试。


10、复杂任务处理

当遇到复杂任务时,一定先只处理一个,打通一个。
不要一次处理多个或多条。
这样,当调试好一个任务后,类似的任务,就可以让Kiro参考着做了。

当然,也可以直接用Specs的方式处理。


总结:

Kiro是一位全系全通的程序专家,但他还需要你这位真正的专家指导一下方向,选择一下方案。


 

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐