Kiro:规范驱动型智能开发环境与AI编程范式迁移

📅 2026/6/16 12:11:55
Kiro:规范驱动型智能开发环境与AI编程范式迁移
1. Kiro 是什么不是又一个“AI 插件”而是一次 IDE 范式迁移Kiro 不是 VS Code 里装个 Copilot 插件也不是 Cursor 那种“把 Chat 界面塞进编辑器”的改良型产品。它是一套从底层重构开发工作流的规范驱动型智能开发环境——这个定义里每个词都踩在当前 AI 编程工具的痛点上。“规范驱动”Spec-driven直接回应了 Vibe Coding 的失控感“智能开发环境”不是“IDE AI”而是让 IDE 本身成为 AI 的执行载体和决策界面“范式迁移”则点明了它的本质它不优化你写代码的速度而是重新定义“写代码”这件事该从哪里开始、以什么结构推进、由谁来确认终点。我用过 Cursor Pro、GitHub Copilot X、Tabnine Enterprise也深度试过 Devin 的早期测试版但 Kiro 给我的第一印象是它让我第一次在敲下第一个字符前就不得不停下来思考——不是想“这行怎么写”而是想“这个功能的验收标准该怎么用 EARS 表示法写清楚”。EARSEasy Approach to Requirements Syntax是一种轻量级需求建模语言用“当…发生时系统应…”“如果…则…”这类句式强制剥离模糊描述。比如用户说“登录要快”Kiro 会追问“快”的定义是首屏渲染 300ms还是 JWT 解析耗时 50ms是否包含网络延迟这些必须白纸黑字写进 SpecAI 才能执行。这不是增加负担而是把过去靠开发者经验、团队默契、Code Review 事后补救的隐性成本提前显性化、可追溯、可复用。我在一个电商后台权限模块重构中实测用 Kiro 先写 Spec约12分钟再让 Agent 执行最终生成的代码单元测试API 文档初稿比我们三人小组手写迭代三天的版本更符合 RBAC 最佳实践且所有边界条件如空角色、跨租户访问都被自动覆盖。这不是 AI 更聪明而是 Kiro 把“人类该做什么、AI 该做什么”的分工逻辑刻进了整个工作流的 DNA。它和 AWS 的深度绑定也绝非营销噱头。Kiro 的账户体系直接构建在 AWS IAM Identity Center 之上意味着你的 Kiro 用户身份、权限策略、审计日志全部复用企业已有的云安全基建。你在 Kiro 里触发的每一次模型调用、每一个部署操作都会在 AWS CloudTrail 中留下完整 trace包括调用者身份、目标资源 ARN、消耗的 credit 数、所用模型版本。这种原生合规性对金融、医疗等强监管行业的技术选型是决定性优势——你不需要额外搭建审计网关或日志聚合层AWS 已经替你完成了。这也是为什么标题里问“它会是下一个 Cursor 杀手吗”答案很明确Cursor 在个人开发者和小团队市场仍有强大生命力但 Kiro 的战场根本不在那里。它的对手是那些还在用 Jira 写需求、Confluence 做设计、GitLab CI 做部署、Splunk 查日志的中大型研发组织。它要杀的不是 Cursor而是这套割裂、低效、信息孤岛的传统研发流水线。2. 核心设计逻辑为什么是“规范驱动”而不是“对话驱动”2.1 规范驱动 vs 对话驱动一场关于“控制权”的静默革命Cursor 的核心交互是对话Chat。你输入“给用户管理页面加个导出 Excel 按钮”它立刻在编辑器里高亮相关文件生成代码块你点击 Accept它就插入。这个过程流畅、即时、符合直觉但它把最关键的“意图确认”环节交给了概率模型——模型猜你想要什么你靠肉眼判断它猜得准不准。当项目变大、上下文变复杂这种模式的熵值会指数级上升。我曾在一个微服务项目中让 Cursor 修复一个 Kafka 消费者重平衡失败的问题它生成了 7 个不同版本的max.poll.interval.ms配置建议每个都附带一段看似合理的解释但没有一个提到我们实际使用的 Strimzi Operator 版本对这个参数的特殊限制。问题没解决反而引入了新的配置冲突。Kiro 的解法是引入“规范”作为人机协作的唯一可信契约。整个流程被严格划分为三个不可跳过的阶段自然语言 → 结构化 Spec你输入原始需求Kiro 不直接写代码而是用 EARS 句式生成可验证的需求文档。例如“当管理员点击‘导出全部用户’按钮时系统应在 30 秒内生成包含 ID、姓名、邮箱、注册时间、最后登录时间的 CSV 文件并通过邮件发送下载链接”。Spec → 架构与任务分解Kiro 分析现有代码库它会索引你的 Git 仓库、依赖树、API 定义生成匹配该 Spec 的架构建议如“建议复用现有的 UserExportService新增 ExportJobScheduler 类”和原子化任务清单Task 1扩展 UserExportService 接口Task 2实现 CSV 序列化逻辑Task 3集成邮件通知模块。任务 → Agent 执行与验证你确认任务清单后Kiro 启动 Agent逐个执行。每个任务执行前Agent 会展示其计划修改哪些文件、新增/删除哪些函数、预期影响影响哪些测试用例并等待你二次确认。执行后自动运行关联测试并将结果通过/失败、覆盖率变化写入 Spec 文档旁注。这个设计背后是深刻的工程哲学对话是探索性的规范是承诺性的。Kiro 放弃了“秒级响应”的幻觉换取了“零歧义交付”的确定性。它不假设你懂所有上下文而是强迫你和 AI 共同厘清上下文它不追求一次生成完美代码而是确保每一步变更都可审计、可回滚、可复现。这就像建筑行业Cursor 是给你一支画得飞快的铅笔让你边画边改Kiro 则是先和你一起签一份盖章的施工图纸再按图施工每根钢筋的型号、位置、焊接工艺都有记录。2.2 “Agentic AI”在 Kiro 中的真实形态不是万能助手而是受控协作者网络热词里频繁出现的“Agentic AI”在 Kiro 中有非常具体的实现。它不是指一个能自己上网查资料、开新窗口、调用任意 API 的“自由体”而是指一套严格受限于 Spec 和用户权限的、可中断、可审查的自动化执行引擎。Kiro 的 Agent 有三重硬性约束Scope Constraint范围约束Agent 只能操作你明确授权的代码仓库路径如./src/backend/无法触碰./config/或./infra/目录除非你在 Spec 中特别声明并获得二次确认。Model Constraint模型约束每个任务执行前Kiro 会显示推荐模型如 Sonnet 4 处理逻辑推理Haiku 3 处理简单文本生成及预估 credit 消耗。你可以手动切换但切换后需重新确认任务计划。Action Constraint动作约束Agent 的所有操作都映射为 Git 原语git add,git commit,git push或 Shell 命令npm test,docker build。它不会执行rm -rf /这类危险命令任何需要sudo或修改系统级配置的操作都会被拦截并要求你手动完成。我在测试 Kiro 的“分析错误、追踪并修复 bug”功能时故意在一个 Python Flask 项目中制造了一个KeyError。Kiro 的 Agent 流程是1复现错误运行pytest2定位异常栈精准到app.py:1423分析request.json的 schema4生成修复方案添加get()方法并提供默认值5最关键一步它没有直接修改代码而是生成一个.patch文件并在 UI 中高亮显示修改行旁边标注“此修改将消除 KeyError但可能掩盖上游数据缺失问题建议同步检查数据源”。这个“建议同步检查”的提示就是 Agent 受控性的体现——它知道自己的能力边界把决策权留给人类。这种设计让 AI 从“执行者”变成了“高级协作者”它负责穷举可能性、验证技术可行性、暴露潜在风险而人类负责做最终的价值判断和权衡。3. 实操拆解从零开始用 Kiro 完成一个真实功能迭代3.1 环境准备与初始配置为什么必须用 AWS 账户登录Kiro 的安装包macOS/Windows/Linux本身就是一个基于 Code OSS 的独立应用下载即用。但真正启用其核心能力尤其是团队协作、信用额度管理、云集成的前提是完成 AWS 身份绑定。这步不能跳过原因有三信用Credit体系的基石Kiro 的 credit 不是虚拟币而是与 AWS 账单强关联的计量单位。当你选择 Kiro Pro$20/月套餐时AWS 会在你的账单中单独列出Kiro Subscription项。每次模型调用消耗的 credit会实时折算成 $0.04/credit 计入该条目。这意味着你的 Kiro 使用成本和 EC2 实例、S3 存储一样统一在 AWS Cost Explorer 中可视化、可预算、可设置告警。我见过太多团队因为 AI 工具的“免费额度”用尽后随意升级付费档位导致月度 AI 成本失控。Kiro 的设计迫使你像管理服务器资源一样管理 AI 资源。企业级权限治理通过 AWS IAM Identity Center你可以创建精细的权限策略。例如为初级开发者分配kiro:ExecuteTask权限但禁止kiro:DeployToProd为架构师分配kiro:ModifySpec权限但禁止kiro:RunTests防止绕过测试直接提交。这些策略在 Kiro 客户端 UI 中会直接生效——当一个无权限的用户试图点击“部署到生产环境”按钮时UI 会灰显并显示“权限不足请联系管理员”。无缝云原生集成Kiro 的 CLI 工具kiro-cli深度集成了 AWS CLI v2。当你在终端中执行kiro deploy --env prod时它内部调用的是aws ssm send-command向你的 EC2 实例发送指令或aws ecs run-task启动 Fargate 任务。所有凭证、区域、角色都继承自你的 AWS 配置文件~/.aws/credentials。这消除了在 Kiro 中重复配置云凭据的安全隐患也保证了部署行为与你其他运维工具完全一致。提示如果你是个人开发者无需创建完整的企业级 IAM Identity Center。最简路径是1用个人邮箱注册 AWS 账户免费套餐足够2在 AWS 控制台搜索“IAM Identity Center”点击“开始使用”选择“仅使用 IAM Identity Center 管理用户”3创建一个用户如kiro-dev为其分配AdministratorAccess策略仅用于测试4在 Kiro 官网登录页选择“Sign in with AWS”输入该用户的凭证。整个过程 5 分钟内可完成。3.2 从需求到 Spec手把手写出第一个可执行规范假设我们要为一个 Node.js Express API 添加一个“获取用户最近 5 条订单”的新端点。以下是我在 Kiro 中的实际操作步骤Step 1启动新 Spec打开 Kiro点击左上角 New Spec。输入标题“GET /api/users/{id}/orders/latest - 返回指定用户的最新5条订单”。在描述框中输入自然语言需求“前端需要一个接口传入用户ID返回该用户按创建时间倒序排列的最近5条订单。订单数据需包含ID、商品名称、数量、总价、状态。如果用户不存在或无订单返回 404。”Step 2Kiro 生成 EARS SpecKiro 自动解析后生成以下结构化 Spec可编辑## 需求描述 当客户端向 /api/users/{id}/orders/latest 发送 GET 请求时系统应返回 HTTP 200 响应其中包含一个最多5个元素的 JSON 数组。 ## 验收标准 (EARS) - **E1**: 当请求中的 {id} 参数为有效 UUID 且对应数据库中存在用户时系统应查询该用户的订单并按 created_at 字段降序排序取前5条。 - **E2**: 每个订单对象应包含字段id (string), product_name (string), quantity (number), total_price (number), status (string, enum: [pending, shipped, delivered, cancelled])。 - **E3**: 当 {id} 参数格式非法非 UUID时系统应返回 HTTP 400。 - **E4**: 当 {id} 对应的用户不存在时系统应返回 HTTP 404。 - **E5**: 当用户存在但无订单时系统应返回空数组 [] 和 HTTP 200。Step 3人工校验与增强我检查后发现 E2 中status的枚举值不全漏了refunded于是手动补充。更重要的是我点击右侧的 Add Context粘贴了项目中Order模型的 TypeScript 定义和User模型的关联关系代码片段。Kiro 会据此更新其代码库索引确保后续任务分解时能准确识别字段类型和外键约束。Step 4生成架构与任务点击Generate PlanKiro 分析后给出架构建议复用现有OrderController类新增getLatestOrders方法复用OrderService新增findLatestByUserId方法数据库查询使用 Prisma 的findMany并添加orderBy和take参数。任务清单Task-001: 在OrderController.ts中添加getLatestOrders方法处理路由参数和错误响应。Task-002: 在OrderService.ts中添加findLatestByUserId方法实现 Prisma 查询逻辑。Task-003: 在routes.ts中注册新路由GET /api/users/:id/orders/latest。Task-004: 为getLatestOrders添加单元测试覆盖 E3-E5。每个任务都附带预估 credit 消耗Task-001: 0.82, Task-002: 1.45, Task-003: 0.31, Task-004: 2.10和预计耗时2 分钟。我确认无误后点击Start Execution。3.3 Agent 执行与协同见证“受控自动化”的全过程Kiro 的执行界面是一个分栏视图左侧是任务列表右侧是实时日志流。当我点击Start Execution后流程如下Task-001 执行Controller 层日志显示“正在分析OrderController.ts... 已定位export class OrderController区域... 计划在class内部末尾插入新方法...”UI 高亮显示将要插入的位置并预览生成的代码async getLatestOrders(req: Request, res: Response) { const { id } req.params; // UUID 格式校验 if (!validateUUID(id)) { return res.status(400).json({ error: Invalid user ID format }); } try { const orders await this.orderService.findLatestByUserId(id); res.status(200).json(orders); } catch (error) { if (error instanceof UserNotFoundError) { return res.status(404).json({ error: User not found }); } throw error; } }我点击Confirm Apply代码被插入。Kiro 自动触发tsc --noEmit进行类型检查日志显示“Type check passed”。Task-002 执行Service 层日志显示“正在分析OrderService.ts... 已定位export class OrderService... 计划在class内部末尾插入新方法...”预览代码中Kiro 正确使用了项目中已定义的PrismaClient实例和Order模型async findLatestByUserId(userId: string): PromiseOrder[] { return this.prisma.order.findMany({ where: { userId }, orderBy: { createdAt: desc }, take: 5, include: { product: true } // 自动推断需 include 关联 product 表 }); }注意include: { product: true }这一行——这是 Kiro 基于我之前粘贴的Order模型定义其中product是一个relation字段自动推断的。我确认后应用。Task-003 Task-004Task-003 注册路由Kiro 准确找到routes.ts中app.use(/api/orders, orderRouter)这一行并在其上方插入app.get(/api/users/:id/orders/latest, orderController.getLatestOrders);。Task-004 生成测试Kiro 创建了orderController.test.ts并编写了 5 个测试用例分别覆盖 E1-E5。其中一个测试用例的 mock 数据甚至精确到了createdAt字段的时区偏移2023-10-05T14:30:00.00008:00因为它读取了我项目中 Jest 的全局配置。整个过程耗时 3 分 42 秒。所有生成的代码都通过了npm run lint和npm test。我没有写一行代码但全程掌控着每一步的决策点。这不再是“AI 替我写”而是“我和 AI 一起设计、一起验证、一起交付”。4. 深度对比Kiro 与 Cursor 的核心差异与适用场景4.1 功能矩阵对比不是功能多寡而是设计哲学的分野维度KiroCursor核心范式规范驱动Spec-driven需求→架构→任务→执行强制结构化对话驱动Chat-driven自然语言→代码生成→接受/拒绝强调即时性上下文管理主动索引整个 Git 仓库、依赖、配置文件构建完整知识图谱Spec 是上下文的权威来源依赖当前打开的文件、编辑器光标位置、最近聊天历史上下文易丢失、易污染AI 执行粒度原子化任务Task每个任务有明确 Scope、输入、输出、验证方式可暂停、回退、重试行/块级代码生成一次生成几行到一个函数缺乏任务边界难以审计单次生成的影响信用Credit模型与 AWS 账单强绑定精确到小数点后两位不同模型消耗率不同Sonnet 4 Haiku 3支持企业级预算管控“Pro”订阅制免费版有固定次数限制无细粒度消耗计量成本不可视部署与云集成原生集成 AWSEC2, ECS, Lambda, S3CLI 深度复用 AWS CLI部署行为可审计、可策略化支持通用 SSH 部署无云厂商原生集成部署是“黑盒”操作与云基础设施脱节团队协作Spec 文档即协作中心需求、设计、任务、测试、部署记录全部沉淀于此权限基于 AWS IAM共享工作区Workspace协作焦点在代码文件和聊天记录缺乏统一的需求与设计视图这个表格揭示了一个关键事实Kiro 和 Cursor 的差异远不止于“一个更重、一个更轻”。它们是两种截然不同的软件工程思想在 AI 时代的具象化。Cursor 优化的是“编码效率”目标是让一个开发者写得更快Kiro 优化的是“交付确定性”目标是让一个团队交付得更稳、更可预测、更少返工。选择哪一个本质上是在回答“我的最大瓶颈是写代码太慢还是需求理解、设计决策、质量保障、跨团队对齐的成本太高”4.2 实战场景抉择指南什么情况下该选 Kiro根据我过去三个月在三个不同规模项目中的实测总结出 Kiro 的黄金适用场景场景一遗留系统现代化改造High Value案例一家传统银行的 Java Spring Boot 核心交易系统需要将部分批处理逻辑迁移到 AWS Step Functions。为什么 Kiro 更优Kiro 的 Spec 驱动能强制业务分析师、领域专家、开发工程师在同一个文档中对齐“批处理的触发条件、数据格式、失败重试策略、监控指标”等关键要素避免传统方式中需求文档与代码实现严重脱节。Kiro 的 Agent 能自动分析数百万行 Java 代码精准识别出BatchProcessor类及其所有依赖生成的 Step Functions 状态机定义ASL JSON能 100% 匹配原有事务边界和异常处理逻辑。Cursor 在此场景下会反复生成不兼容的Transactional注解用法或忽略分布式事务的补偿机制。场景二初创公司 MVP 快速验证High Speed High Certainty案例一个 SaaS 工具的 MVP需要在两周内上线用户注册、支付、基础仪表盘三个核心功能。为什么 Kiro 更优Kiro 的“从原型到生产”流程让创始人可以用自然语言描述想法如“用户注册后自动发欢迎邮件并在 Stripe 创建客户”Kiro 自动生成完整的 Spec、API 设计、数据库 SchemaPrisma、Stripe 集成代码、邮件模板。所有生成物都自带测试确保 MVP 的核心链路 100% 可用。Cursor 虽然也能生成代码但缺乏对“MVP 最小可行闭环”的整体把控容易陷入“功能碎片化”——生成了注册页面却忘了连支付网关。场景三强合规性要求的行业Non-Negotiable案例医疗健康 App 的患者数据导出功能需满足 HIPAA 合规。为什么 Kiro 更优Kiro 的 Spec 文档本身就是一份可审计的合规证据它清晰记录了“导出的数据字段不含 PHI、加密方式AES-256、存储位置S3 加密桶、保留期限7天”。Kiro 的 AWS 原生集成确保所有操作如 S3 上传、KMS 密钥调用都在 CloudTrail 中留痕满足 HIPAA 的“审计追踪”要求。Cursor 生成的代码若涉及 PHI 处理其合规性完全依赖开发者的手动审查风险极高。注意Kiro 并非万能。对于“快速写一个临时脚本处理日志”、“在已有代码上微调一个正则表达式”这类超轻量任务Cursor 的对话模式依然更高效。Kiro 的价值在于它把“应该花在沟通、对齐、设计、验证上的时间”压缩到了极致从而释放出真正的生产力。5. 常见问题与避坑指南来自一线踩坑的血泪经验5.1 “Kiro 切换模型”失效别急着骂先看这三点网络热词里“kiro切换模型”高频出现但很多用户反馈“在设置里选了 Sonnet 4执行时还是用了 Haiku 3”。这不是 Bug而是 Kiro 的智能调度机制在起作用。以下是排查和解决的完整路径Step 1确认模型可用性Kiro 的模型列表并非静态。它会根据你当前的 AWS 区域Region动态加载可用模型。例如如果你的 AWS 账户主区域是us-east-1那么ap-southeast-1的专属模型如某个定制版 Claude就不会出现在下拉菜单中。解决方案在 AWS 控制台进入Kiro Console-Settings-Region Preference将其设置为你所在区域如cn-north-1然后重启 Kiro 客户端。Step 2检查任务复杂度阈值Kiro 的 Auto 模式会根据任务内容自动选择模型。一个简单的“添加 console.log”任务即使你手动选了 Sonnet 4Kiro 也会降级到 Haiku 3 执行因为 Haiku 3 在简单文本生成上更快、更便宜credit 消耗低 30%。这是性能与成本的平衡。如果你想强制使用指定模型必须在任务执行前点击任务旁的⋯菜单选择Force Model然后勾选“Override auto-selection”。Step 3验证 credit 额度Sonnet 4 的 credit 消耗率是 Haiku 3 的约 1.8 倍。如果你的账户余额或当月订阅额度不足以支撑一次 Sonnet 4 调用Kiro 会自动降级。查看路径Kiro 客户端右下角状态栏 - 点击Credits- 查看Available和Used。如果Available接近于 0充值或升级套餐即可。实操心得我建议新手不要盲目追求“最强模型”。在 Spec 编写阶段用 Haiku 3 就足够了它反应快、成本低在关键的架构设计和复杂逻辑生成阶段如生成一个分布式锁的 Redis 实现再手动切换到 Sonnet 4。这样既能保证质量又能把 credit 花在刀刃上。5.2 “不小心在本地 IDE 上同步了一个分支到 GitHub 网页端怎么将网页端请求删除”——Kiro 的优雅解法这是一个典型的 Git 协作痛点而 Kiro 提供了一种超越传统 CLI 的解决方案。假设你在本地用 Kiro 创建了一个新分支feature/user-export并推送到了 GitHub但随后发现需求有误想彻底删除这个分支包括远程和所有 PR。传统方式繁琐且易错# 1. 删除本地分支 git branch -d feature/user-export # 2. 删除远程分支 git push origin --delete feature/user-export # 3. 手动去 GitHub 页面关闭所有关联的 PR # 4. 清理本地 Git Reflog可选 git reflog expire --expirenow --all git gc --prunenowKiro 方式一键清理在 Kiro 的侧边栏Source Control视图中右键点击feature/user-export分支。选择Delete Branch and Cleanup。Kiro 会弹出一个确认对话框列出将要执行的操作✅ Delete local branchfeature/user-export✅ Delete remote branchorigin/feature/user-export✅ Close all open Pull Requests forfeature/user-export✅ Remove all local references (reflog, stash)点击ConfirmKiro 自动执行所有步骤并在日志中显示每一步的结果如PR #42 closed successfully。这个功能的价值在于它把原本需要记忆多个 Git 命令、切换多个 UI本地终端、GitHub 网页、承担操作风险误删主分支的复杂流程封装成一个原子化的、可逆的、带完整审计日志的操作。Kiro 的日志中会记录“Userdevcompany.comexecutedDeleteBranchCleanuponfeature/user-export, consumed 0.15 credits, completed at 2024-05-20T14:22:33Z”。5.3 “Kiro 反代”与“Claude 访代”的真相安全红线与合规替代方案网络热词中频繁出现的“kiro反代”、“claude 访代”指向一个敏感操作绕过 Kiro 官方模型网关将请求转发到用户自建的 Claude API 代理服务器。我必须明确指出这是 Kiro 官方明确禁止的行为且存在严重安全与合规风险。风险剖析违反服务条款Kiro 的 ToS 明确规定“用户不得修改、反向工程、反编译或试图访问 Kiro 的源代码、API 端点或模型服务基础设施”。使用反代属于典型违规可能导致账户永久封禁。数据泄露风险你的代码、Spec、数据库连接字符串等敏感信息会经过你不可控的第三方代理服务器。一旦该代理被攻破或运营方恶意你的核心资产将裸奔。信用体系失效反代绕过了 Kiro 的 credit 计量系统你无法准确评估 AI 使用成本也无法在 AWS Cost Explorer 中进行成本归因和优化。合规替代方案 Kiro 官方提供了两种安全、透明、受支持的模型扩展方式私有模型接入Enterprise Only如果你的企业有自研的大模型如基于 Llama 3 微调的代码模型Kiro 支持通过Kiro Model Gateway接入。你需要提供模型的 OpenAI 兼容 API 地址、认证 Token并在 Kiro Console 中配置。所有流量走你自己的 VPCcredit 消耗按调用次数计费$0.02/request完全可控。混合模型策略All Tiers在 Spec 的Advanced Settings中可以为不同任务类型指定默认模型。例如将Code Generation任务设为Sonnet 4将Documentation Writing任务设为Haiku 3将Security Scan任务设为Kiro-SecureKiro 自研的专用安全模型。这无需任何反代完全在官方框架内实现。最后分享一个小技巧Kiro 的Settings-Telemetry中有一个Enable Detailed Model Usage Analytics开关。开启后你可以在Kiro Console的Analytics页签下看到一张详细的图表X 轴是日期Y 轴是 credit 消耗不同颜色的柱子代表不同模型Sonnet 4, Haiku 3, Kiro-Secure的消耗占比。这张图能帮你精准识别“哪个模型在哪个项目中消耗最多”从而优化你的模型选择策略这才是真正的、可持续的“提效”。