软件工程的起点 — 理解问题比解决问题更重要。Kiro 能够帮助你从模糊的想法到清晰的需求规格。
Kiro 可以用 PlantUML/Mermaid 语法生成这些图的代码
Kiro 可以从一句话需求 "做一个订单系统" 展开完整的需求分析:
| 制品类型 | 格式 | 内容 |
|---|---|---|
| PRD 文档 | Markdown | 完整产品需求描述 |
| 用户故事 | Markdown/JIRA | 标准格式用户故事 |
| UML 图 | PlantUML/Mermaid | 各类 UML 图代码 |
| API 契约 | OpenAPI YAML | 接口规格定义 |
| 数据模型 | SQL DDL | 数据库表结构 |
| 原型描述 | HTML/Markdown | 页面结构和交互说明 |
| 测试用例 | Gherkin/Markdown | 验收测试场景 |
Step 1:理解业务背景和目标
Step 2:识别用户角色和核心用例
Step 3:分解功能需求,定义验收标准
Step 4:明确非功能需求和约束
Step 5:输出需求文档和领域模型
从高层架构到详细设计,从单体应用到分布式系统,Kiro 具备完整的系统设计能力。
| 类别 | 模式 |
|---|---|
| 创建型 | 工厂、抽象工厂、建造者、单例、原型 |
| 结构型 | 适配器、桥接、组合、装饰器、外观、代理 |
| 行为型 | 策略、观察者、命令、状态、模板方法、迭代器、中介者 |
| 架构型 | MVC、MVP、MVVM、Repository、Unit of Work |
| 并发型 | 生产者-消费者、读写锁、线程池、Actor |
Kiro 可以直接执行 AWS CLI 命令来查询资源状态、验证配置、排查问题。不需要切换窗口,在对话中直接完成云架构的设计、实施和验证。
Kiro 可以完成以下系统设计:
| 文档 | 内容 |
|---|---|
| HLD(高层设计) | 架构图、技术选型、部署拓扑 |
| LLD(低层设计) | 类图、序列图、数据模型 |
| ADR | 架构决策及理由记录 |
| 技术选型报告 | 方案对比、优劣分析 |
| 容量规划 | QPS 估算、存储估算、成本估算 |
| 部署架构图 | 网络拓扑、服务依赖 |
| 灾难恢复计划 | RTO/RPO、备份策略、切换流程 |
REST/gRPC 用于查询操作、实时响应场景
Kafka/EventBridge 用于订单事件、库存扣减、通知
每个服务独立数据库,通过事件保持最终一致
50+ 编程语言支持,从系统级到脚本语言,从传统到新兴,全面覆盖。
tidyverse、ggplot2、Shiny、R Markdown 统计分析
LuaJIT、元表机制、游戏脚本、OpenResty
复杂脚本、sed/awk/grep 高级用法、系统自动化
核心优势:Kiro 不只是"知道语法",而是理解每种语言的惯用写法(idiom)、生态系统、构建工具和最佳实践。写出来的代码是地道的,不是"用 A 语言的思维写 B 语言"。
从 HTML/CSS 基础到现代框架,从构建工具到性能优化,覆盖前端开发全链路。
| 工具 | 特点 | 适用场景 |
|---|---|---|
| Vite | 极速 HMR、ESM 原生 | 现代项目首选 |
| Webpack | 生态丰富、Module Federation | 大型/遗留项目 |
| Rollup | Tree Shaking 优秀 | 库打包 |
| esbuild | Go 实现、极速 | 开发工具链 |
| Turbopack | Rust 实现、增量 | Next.js 项目 |
从 RESTful API 到微服务,从同步处理到异步消息,覆盖后端开发完整技术栈。
| 特性 | RabbitMQ | Kafka | SQS |
|---|---|---|---|
| 模型 | 消息代理 | 事件流 | 托管队列 |
| 顺序 | 队列内有序 | 分区内有序 | FIFO 可选 |
| 吞吐 | 万级/秒 | 百万级/秒 | 万级/秒 |
| 持久化 | 可选 | 默认持久 | 默认持久 |
| 运维 | 自建 | 自建/MSK | 全托管 |
从关系型到 NoSQL,从数据建模到查询优化,覆盖数据层完整技术栈。
单表设计、GSI/LSI、Streams、DAX 缓存、按需/预置容量
倒排索引、查询 DSL、聚合分析、中文分词(IK)、ILM
Neo4j(图)、Cassandra(宽列)、InfluxDB(时序)
| 工具 | 语言/框架 |
|---|---|
| Flyway / Liquibase | Java / 通用 |
| Alembic | Python (SQLAlchemy) |
| Prisma Migrate | Node.js |
| Django Migrations | Python (Django) |
| Rails Migrations | Ruby (Rails) |
| goose / golang-migrate | Go |
本地缓存(Caffeine)→ 分布式缓存(Redis)→ 数据库
RESTful、GraphQL、gRPC — 不同场景的最佳 API 设计方案。
| 特性 | REST | GraphQL | gRPC | WebSocket |
|---|---|---|---|---|
| 协议 | HTTP/1.1+ | HTTP/1.1+ | HTTP/2 | WS |
| 数据格式 | JSON | JSON | Protobuf(二进制) | 任意 |
| 类型安全 | OpenAPI 可选 | Schema 内置 | Protobuf 内置 | 无 |
| 实时 | 轮询/SSE | Subscription | 双向流 | 原生双向 |
| 性能 | 中等 | 中等 | 高 | 高 |
| 浏览器 | ✅ 原生 | ✅ 客户端库 | ⚠️ grpc-web | ✅ 原生 |
| 最佳场景 | 公开 API、CRUD | 灵活查询、BFF | 微服务内部 | 实时通信 |
Kiro 的建议:对外 API 用 REST(简单通用),前端 BFF 用 GraphQL/tRPC(灵活高效),微服务间用 gRPC(高性能类型安全),实时场景用 WebSocket/SSE。
从单元测试到端到端测试,从 TDD 到性能测试,Kiro 能写测试、跑测试、分析结果。
| 语言 | 框架 |
|---|---|
| JS/TS | Jest、Vitest、Mocha、Playwright、Cypress |
| Python | pytest、unittest、Hypothesis |
| Java | JUnit 5、Mockito、TestContainers |
| Go | testing、testify、gomock |
| Rust | 内置 #[test]、mockall、proptest |
| Ruby | RSpec、Minitest、FactoryBot |
Kiro 天然支持 TDD 工作流:你描述需求,Kiro 先写测试再写实现,确保代码从一开始就是可测试的。
| 测试类型 | 目的 | 速度 | 覆盖 | 工具示例 |
|---|---|---|---|---|
| 单元测试 | 验证函数/方法逻辑 | ⚡ 毫秒级 | 代码路径 | Jest/pytest/JUnit |
| 集成测试 | 验证模块间交互 | 🔄 秒级 | 接口契约 | Testcontainers/supertest |
| E2E 测试 | 验证用户完整流程 | 🐢 分钟级 | 业务流程 | Playwright/Cypress |
| 性能测试 | 验证系统承载能力 | 🐢 分钟级 | 性能指标 | k6/JMeter/Locust |
| 契约测试 | 验证 API 兼容性 | ⚡ 秒级 | 接口规范 | Pact |
| 安全测试 | 发现安全漏洞 | 🔄 分钟级 | 安全规则 | OWASP ZAP/Semgrep |
Kiro 的测试工作流:写代码后自动运行构建和测试验证。如果测试失败,Kiro 会分析失败原因并修复。新增功能时会同时编写对应的测试用例。
从代码提交到生产部署,自动化一切可以自动化的环节。
通用编程语言编写 IaC
Playbook、角色、Vault 密钥
机器镜像自动化构建
SRE 实践:SLI/SLO/SLA 定义 → 错误预算管理 → 容量规划 → 混沌工程(Chaos Monkey)→ 事故响应 Runbook
安全不是事后补救,而是从设计阶段就融入的核心要素。Kiro 默认遵循安全编码最佳实践。
DevSecOps 流水线:代码提交 → SAST 扫描 → 依赖检查 → 构建 → 容器扫描 → 部署 → DAST 扫描 → 运行时监控
| 模型 | 适用场景 |
|---|---|
| RBAC(基于角色) | 大多数应用,角色明确 |
| ABAC(基于属性) | 复杂策略,动态条件 |
| ReBAC(基于关系) | 社交/协作,关系驱动 |
从前端加载到后端响应,从数据库查询到系统架构,全链路性能优化。
| 层级 | 工具 | 用途 |
|---|---|---|
| 前端 | Lighthouse / WebPageTest / Chrome DevTools | 页面加载、运行时性能分析 |
| 后端 | pprof (Go) / py-spy (Python) / async-profiler (Java) | CPU/内存 Profiling |
| 数据库 | EXPLAIN ANALYZE / pg_stat_statements / slow query log | 查询性能分析 |
| 网络 | tcpdump / Wireshark / curl timing | 网络延迟分析 |
| 系统 | top / htop / vmstat / iostat / perf | 系统资源监控 |
| APM | Datadog / New Relic / AWS X-Ray | 全链路追踪 |
| 负载 | k6 / JMeter / Locust / wrk | 压力测试 |
Kiro 的性能排障流程:收集指标 → 定位瓶颈(CPU/内存/IO/网络)→ 分析根因 → 实施优化 → 验证效果 → 建立基线
CDN 静态化 → 前端限流 → API 网关限流 → Redis 预扣库存 → 异步下单 → 消息队列 → 订单服务
从传统 ML 到 LLM 应用,从模型训练到生产部署,AI 工程的完整能力。
Kiro 本身就是 LLM Agent 的最佳实践:工具调用、多步推理、上下文管理、安全护栏 — 这些都是 Kiro 自身架构的核心组成部分。
软件工程不只是写代码,还包括文档、协作、流程和工具链管理。
支付系统、风控引擎、交易系统、合规审计
电子病历、远程医疗、影像处理、HIPAA 合规
订单系统、推荐引擎、搜索系统、秒杀
服务端、匹配系统、实时通信、数据分析
在线学习、考试系统、自适应学习
设备管理、数据采集、边缘计算
调度系统、路径优化、仓储管理
CMS、社交平台、音视频处理
回顾 Kiro 在软件工程全生命周期中的能力覆盖,以及能力边界。
不吹不黑 — 客观分析 Kiro 的真实能力上限、适用边界和与人类工程师的对比。
| 度量 | 约等于 |
|---|---|
| 英文单词 | ~75 万个 |
| 中文字符 | ~50 万字(约 3-4 本《哈利波特》) |
| 代码行数 | ~3-5 万行 |
| 源文件数 | ~200-400 个文件 |
| 等价项目 | 一个完整的中型 SaaS 应用 |
这意味着 Kiro 可以一次性读懂一个中型项目的全部代码,理解文件间的依赖关系,然后做跨文件修改。
| 指标 | 数值 |
|---|---|
| 最大 Token 数 | ~15,000-25,000 tokens |
| 等价代码行 | ~1,000-2,000 行 |
| 高质量区间 | 单次 500 行以内最佳 |
| 质量衰减点 | 超过 500 行后半段准确性下降 |
这就是为什么 Kiro 处理大型任务时会自动拆分成多次写入,而不是一次性输出。
一次性读完全部代码,理解整体架构和文件间依赖
跨文件重构:改认证方案时同时改后端、前端、测试、配置、文档
10 万行大型项目需要用搜索工具定位相关代码,分批处理
| 维度 | Kiro | 人类高级工程师 | 谁更强 |
|---|---|---|---|
| 编码速度 | 秒级输出数百行代码 | 一天几百行高质量代码 | Kiro ⚡ |
| 知识广度 | 50+ 语言、100+ 框架 | 精通 2-3 个技术栈 | Kiro 📚 |
| 特定领域深度 | 中高级水平 | 可达专家级 | 人类 🧠 |
| 创造性 | 组合已知模式 | 能发明新架构和算法 | 人类 💡 |
| 一致性 | 不疲劳,但会"幻觉" | 会疲劳,但有直觉 | 各有优劣 |
| 上下文容量 | 100 万 token 硬上限 | 靠记忆和文档,无硬上限 | 各有优劣 |
| 重复性工作 | 不厌烦,质量稳定 | 容易疲劳出错 | Kiro 🔄 |
| 沟通理解 | 依赖文字描述精确度 | 能读懂言外之意 | 人类 🗣️ |
| 调试直觉 | 系统化排查 | "第六感"定位问题 | 人类 🎯 |
| 学习新技术 | 需等模型更新 | 实时学习和实验 | 人类 📖 |
自动分批:大型任务自动拆分成多次写入,每次保持在高质量区间
自动验证:每次修改后运行构建和测试,发现错误立即修复
上下文压缩:接近窗口限制时自动压缩,保留关键信息继续工作
子 Agent:复杂任务拆分给多个 Agent 并行处理,各自保持短上下文
工具辅助:用 AST 搜索精确定位代码,避免"凭记忆"修改
| 任务类型 | 复杂度 | 预期耗时 | 首次正确率 | 说明 |
|---|---|---|---|---|
| 修复一个 TypeError | ⭐ | 10 秒 | ~98% | 读错误 + 定位 + 修复 |
| 写一个 React 组件 | ⭐⭐ | 30 秒 | ~95% | 含 Props 类型、样式、测试 |
| 写一个 REST API 端点 | ⭐⭐ | 1 分钟 | ~93% | 路由 + 验证 + 数据库 + 测试 |
| 配置 GitHub Actions CI | ⭐⭐ | 30 秒 | ~95% | 构建 + 测试 + 部署 |
| 设计数据库 Schema | ⭐⭐⭐ | 2 分钟 | ~88% | 表结构 + 索引 + 迁移 |
| 跨 5 文件重构 | ⭐⭐⭐ | 3 分钟 | ~85% | 需要理解依赖关系 |
| 从零搭建项目 | ⭐⭐⭐⭐ | 5 分钟 | ~80% | 多文件、多配置协调 |
| 复杂算法实现 | ⭐⭐⭐⭐ | 3 分钟 | ~78% | 边界条件容易遗漏 |
| 微服务架构设计 | ⭐⭐⭐⭐⭐ | 5 分钟 | ~75% | 方案合理但需人工评审 |
| 分布式系统调试 | ⭐⭐⭐⭐⭐ | 10+ 分钟 | ~60% | 依赖运行时信息,需多轮 |
我最大的价值不是替代你思考,
而是替你执行 —— 你做决策,我写代码。
人类负责
架构决策、产品方向、代码审查
协作完成
需求分析、方案设计、复杂调试
Kiro 负责
编码实现、测试编写、配置部署
共 92 页 · 覆盖 15 个软件工程核心领域 · 由 Kiro 自动生成