KIRO AI · SOFTWARE ENGINEERING

软件工程全能力深度解析

从需求分析到部署运维,覆盖软件开发生命周期每一个环节
50+
编程语言
100+
框架/库
15
工程领域
200+
AWS 服务
使用 ← → 方向键或底部按钮翻页 · 按 F 全屏
1

📑 目录总览

01需求分析与建模
02系统设计与架构
03编程语言精通
04前端工程
05后端工程
06数据库工程
07API 设计与集成
08软件测试
09DevOps 与 CI/CD
10安全工程
11性能工程
12AI 辅助工程
13项目管理与协作
14总结与展望
15能力极限深度剖析
2
01

需求分析与建模

软件工程的起点 — 理解问题比解决问题更重要。Kiro 能够帮助你从模糊的想法到清晰的需求规格。

3
01 · 需求分析

📋 需求获取与分析

🎯 需求类型识别

  • 功能需求:用户故事编写(As a... I want... So that...)、用例图描述、功能点分解、验收标准定义(Given-When-Then)
  • 非功能需求:性能指标(响应时间/吞吐量/并发数)、可用性目标(99.9%/99.99%)、安全要求、可扩展性、可维护性
  • 约束条件:技术栈限制、预算约束、合规要求(GDPR/HIPAA/PCI-DSS)、时间线

📝 需求文档生成

  • PRD(产品需求文档):完整的产品需求描述,包括背景、目标、用户画像、功能列表、优先级排序
  • SRS(软件需求规格说明):IEEE 830 标准格式,详细的功能和非功能需求描述
  • 用户故事地图:按用户旅程组织的功能分解,识别 MVP 范围
  • 竞品分析报告:功能对比矩阵、技术栈分析、差异化策略
4
01 · 需求分析

🔍 领域建模

📐 UML 建模能力

  • 用例图:Actor 识别、用例关系(include/extend/generalization)
  • 类图:实体关系、继承层次、接口定义、关联/聚合/组合
  • 序列图:对象交互时序、同步/异步消息、循环/条件片段
  • 状态图:状态转换、事件触发、守卫条件
  • 活动图:业务流程、并行分支、决策节点

Kiro 可以用 PlantUML/Mermaid 语法生成这些图的代码

🏛️ 领域驱动设计(DDD)

  • 战略设计:限界上下文(Bounded Context)划分、上下文映射(Context Map)、通用语言(Ubiquitous Language)定义
  • 战术设计:聚合根(Aggregate Root)、实体(Entity)、值对象(Value Object)、领域服务、领域事件
  • 仓储模式:Repository 接口设计、持久化策略
  • 防腐层:外部系统集成的隔离层设计
5
01 · 需求分析

📊 需求分析实战示例

场景:电商平台订单系统需求分析

Kiro 可以从一句话需求 "做一个订单系统" 展开完整的需求分析:

👤 用户故事

作为买家,我想要: • 将商品加入购物车 • 选择收货地址和支付方式 • 提交订单并在线支付 • 查看订单状态和物流信息 • 申请退款/退货 作为卖家,我想要: • 接收和处理订单 • 管理发货和物流 • 处理退款申请

🔄 状态机设计

待支付 → 已支付 → 待发货 ↓ ↓ ↓ 已取消 退款中 已发货 ↓ ↓ 已退款 已签收 ↓ 已完成/退货中

📏 非功能需求

  • 下单接口 <200ms 响应
  • 支持 1000 QPS 并发下单
  • 订单数据保留 3 年
  • 支付信息 PCI-DSS 合规
  • 99.99% 可用性
  • 支持水平扩展
6
01 · 需求分析

🛠️ 需求分析工具链

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:输出需求文档和领域模型

7
02

系统设计与架构

从高层架构到详细设计,从单体应用到分布式系统,Kiro 具备完整的系统设计能力。

8
02 · 系统设计

🏗️ 架构模式精通

单体架构

  • 分层架构:Controller → Service → Repository → Database,职责清晰分离
  • 模块化单体:按业务域划分模块,模块间通过接口通信,为未来拆分微服务做准备
  • 六边形架构:端口与适配器模式,业务逻辑与外部依赖解耦
  • 适用场景:中小型项目、团队规模 <10 人、快速迭代期

微服务架构

  • 服务拆分:按业务能力/限界上下文拆分,单一职责
  • 通信模式:同步(REST/gRPC)+ 异步(消息队列/事件总线)
  • 数据管理:每服务独立数据库、Saga 分布式事务、最终一致性
  • 基础设施:服务发现、配置中心、API 网关、熔断限流、链路追踪

事件驱动架构

  • Event Sourcing:事件溯源,完整审计追踪
  • CQRS:命令查询职责分离,读写独立优化
  • Event Bus:松耦合的服务间通信

Serverless 架构

  • FaaS:AWS Lambda / Azure Functions
  • BaaS:托管数据库、认证、存储
  • 编排:Step Functions 状态机
9
02 · 系统设计

📐 设计原则与模式

SOLID 原则

S — 单一职责:一个类只有一个变化的原因
O — 开闭原则:对扩展开放,对修改关闭
L — 里氏替换:子类可以替换父类使用
I — 接口隔离:客户端不应依赖不需要的接口
D — 依赖倒置:依赖抽象而非具体实现

常用设计模式

类别模式
创建型工厂、抽象工厂、建造者、单例、原型
结构型适配器、桥接、组合、装饰器、外观、代理
行为型策略、观察者、命令、状态、模板方法、迭代器、中介者
架构型MVC、MVP、MVVM、Repository、Unit of Work
并发型生产者-消费者、读写锁、线程池、Actor
10
02 · 系统设计

☁️ 云原生架构设计

容器化设计

  • Docker 多阶段构建优化
  • 镜像安全(非 root、最小基础镜像)
  • 健康检查与优雅关闭
  • 资源限制(CPU/Memory Limits)
  • 日志标准化(stdout/stderr)

Kubernetes 编排

  • Deployment 滚动更新策略
  • HPA/VPA 自动扩缩
  • Service Mesh(Istio)
  • Ingress 流量管理
  • ConfigMap/Secret 配置管理

AWS 云架构

  • Well-Architected 五大支柱
  • 多 AZ / 多 Region 高可用
  • Auto Scaling 弹性伸缩
  • CDN + 边缘计算
  • 成本优化策略

Kiro 的独特优势:直接调用 AWS CLI

Kiro 可以直接执行 AWS CLI 命令来查询资源状态、验证配置、排查问题。不需要切换窗口,在对话中直接完成云架构的设计、实施和验证。

11
02 · 系统设计

🔄 分布式系统设计

核心挑战与解决方案

  • 一致性:强一致(2PC)、最终一致(Saga/补偿事务)、因果一致
  • 可用性:主从复制、多活架构、故障转移、降级策略
  • 分区容错:CAP 定理权衡、网络分区处理
  • 幂等性:请求去重、幂等键设计、重试安全
  • 分布式锁:Redis Redlock、ZooKeeper、数据库乐观锁
  • 分布式 ID:Snowflake、UUID v7、数据库序列

经典系统设计题

Kiro 可以完成以下系统设计:

  • URL 短链接服务(哈希 + 分布式存储)
  • 消息推送系统(WebSocket + 消息队列)
  • 秒杀系统(限流 + 缓存 + 异步下单)
  • Feed 流系统(推拉结合 + 时间线)
  • 搜索引擎(倒排索引 + 分词 + 排序)
  • 文件存储系统(分片 + 副本 + 一致性哈希)
  • 实时聊天系统(长连接 + 消息存储 + 已读回执)
  • 支付系统(幂等 + 对账 + 分布式事务)
12
02 · 系统设计

📄 架构文档输出

C4 模型文档

  • Level 1 — System Context:系统与外部用户/系统的关系
  • Level 2 — Container:系统内部的容器(Web App、API、DB、MQ)
  • Level 3 — Component:容器内部的组件和职责
  • Level 4 — Code:关键组件的类图/代码结构

架构决策记录(ADR)

## ADR-001: 选择 PostgreSQL 作为主数据库 **状态**: 已接受 **上下文**: 需要支持复杂查询和事务 **决策**: 使用 PostgreSQL 15+ **理由**: JSON 支持、扩展生态、性能 **后果**: 需要 DBA 运维能力

Kiro 可生成的设计文档

文档内容
HLD(高层设计)架构图、技术选型、部署拓扑
LLD(低层设计)类图、序列图、数据模型
ADR架构决策及理由记录
技术选型报告方案对比、优劣分析
容量规划QPS 估算、存储估算、成本估算
部署架构图网络拓扑、服务依赖
灾难恢复计划RTO/RPO、备份策略、切换流程
13
02 · 系统设计

🧩 系统设计实战:微服务电商平台

┌─────────────┐ ┌──────────────┐ ┌──────────────┐ │ CDN/WAF │────▶│ API Gateway │────▶│ Auth Service │ └─────────────┘ └──────┬───────┘ └──────────────┘ │ ┌────────────────┼────────────────┐ ▼ ▼ ▼ ┌─────────────┐ ┌───────────┐ ┌──────────────┐ │ User Service│ │Order Svc │ │Product Svc │ │ (PostgreSQL)│ │(PostgreSQL)│ │(PostgreSQL) │ └─────────────┘ └─────┬─────┘ └──────────────┘ │ Event ┌─────▼──────┐ │ Kafka / │ │ EventBridge│ └─────┬──────┘ ┌───────────────┼───────────────┐ ▼ ▼ ▼ ┌────────────┐ ┌───────────┐ ┌────────────┐ │Payment Svc │ │Inventory │ │Notification│ │ (Stripe) │ │ Service │ │ Service │ └────────────┘ └───────────┘ └────────────┘

同步通信

REST/gRPC 用于查询操作、实时响应场景

异步通信

Kafka/EventBridge 用于订单事件、库存扣减、通知

数据隔离

每个服务独立数据库,通过事件保持最终一致

14
03

编程语言精通

50+ 编程语言支持,从系统级到脚本语言,从传统到新兴,全面覆盖。

15
03 · 编程语言

🐍 Python & JavaScript/TypeScript

Python(能力 98%)

  • 版本:3.8 → 3.12 全特性支持
  • 类型系统:typing 模块、Pydantic、mypy 静态检查
  • 异步:asyncio、async/await、aiohttp
  • Web:FastAPI、Django、Flask、Starlette
  • 数据:Pandas、NumPy、Polars、PySpark
  • ML:PyTorch、TensorFlow、scikit-learn、HuggingFace
  • 工具:Poetry、Ruff、Black、pytest

TypeScript/JavaScript(能力 97%)

  • TS 类型体操:条件类型、映射类型、模板字面量、递归类型
  • 运行时:Node.js、Deno、Bun
  • 前端:React、Vue、Angular、Svelte
  • 后端:Express、Fastify、NestJS、tRPC
  • 构建:Vite、Webpack、esbuild、Rollup
  • 测试:Jest、Vitest、Playwright
  • 包管理:npm、yarn、pnpm
16
03 · 编程语言

☕ Java / Kotlin & Go

Java/Kotlin(能力 95%)

  • Java 8→21:Lambda、Stream、Records、Sealed Classes、Virtual Threads
  • Spring 全家桶:Boot、Cloud、Security、Data、WebFlux
  • Kotlin 特性:协程、Flow、空安全、扩展函数、Compose Multiplatform
  • 构建:Maven、Gradle(Kotlin DSL)
  • JVM 调优:GC 策略、内存分析、JIT 编译优化

Go(能力 94%)

  • 并发:goroutine、channel、select、sync 包、context 传播
  • 泛型:Go 1.18+ 类型参数、约束接口
  • Web:Gin、Echo、Fiber、标准库 net/http
  • 数据库:database/sql、sqlx、GORM、ent
  • 工具:cobra(CLI)、viper(配置)、zap(日志)
  • gRPC:Protocol Buffers、流式通信、拦截器
17
03 · 编程语言

🦀 Rust & C/C++

Rust(能力 93%)

  • 所有权系统:借用检查、生命周期标注、智能指针
  • Trait 系统:泛型约束、关联类型、动态分发
  • 异步:async/await、Tokio、async-std
  • Web:Actix-web、Axum、Tower 中间件
  • 数据库:SQLx(编译时检查)、Diesel
  • :声明式宏、过程宏(derive/attribute/function-like)
  • WASM:wasm-bindgen、wasm-pack

C/C++(能力 92%)

  • C:C99/C11/C17、POSIX API、系统调用、内存管理、多线程(pthread)、网络编程(socket)
  • C++ 现代特性:C++11→C++23、智能指针、移动语义、概念、协程、Ranges
  • 模板:模板元编程、SFINAE、Concepts
  • 构建:CMake、Bazel、Meson、Makefile
  • :STL、Boost、Qt、OpenCV
  • 内存安全:缓冲区溢出检测、ASAN/MSAN/TSAN
18
03 · 编程语言

💎 Ruby / PHP / Swift / Dart

Ruby(能力 90%)

  • Ruby 2.7→3.3、模式匹配、Ractor 并发
  • Rails 7(Turbo/Hotwire)、RSpec、Sidekiq
  • 元编程、DSL 构建、Gem 开发

PHP(能力 90%)

  • PHP 7.4→8.3、类型声明、枚举、Fiber
  • Laravel、Symfony、WordPress 插件开发
  • Composer 包管理、PSR 标准

Swift(能力 88%)

  • Swift 5.x、async/await、Actor、Macro
  • SwiftUI、UIKit、Combine、SPM
  • iOS/macOS 应用、Vapor 服务端

Dart(能力 88%)

  • Dart 3.x、空安全、Records、Patterns
  • Flutter Widget 系统、状态管理
  • Platform Channel、插件开发
19
03 · 编程语言

🔬 函数式 & 其他语言

Scala

  • Scala 2/3、类型类、Monad
  • Cats、ZIO、Akka Actor
  • Apache Spark Scala API
  • Play Framework

Elixir

  • OTP(GenServer/Supervisor)
  • Phoenix LiveView
  • Ecto 数据库层
  • 高并发容错系统

Haskell

  • 纯函数式、Monad/Functor
  • GADT、类型族
  • Stack/Cabal 构建
  • lens、aeson、servant

R

tidyverse、ggplot2、Shiny、R Markdown 统计分析

Lua

LuaJIT、元表机制、游戏脚本、OpenResty

Shell/Bash

复杂脚本、sed/awk/grep 高级用法、系统自动化

20
03 · 编程语言

📊 语言能力总览

Python98%
TypeScript/JavaScript97%
Java/Kotlin95%
Shell/Bash95%
Go94%
Rust93%
C/C++92%
Ruby/PHP90%
Swift/Dart88%
Elixir/Haskell/Scala85%

核心优势:Kiro 不只是"知道语法",而是理解每种语言的惯用写法(idiom)、生态系统、构建工具和最佳实践。写出来的代码是地道的,不是"用 A 语言的思维写 B 语言"。

21
04

前端工程

从 HTML/CSS 基础到现代框架,从构建工具到性能优化,覆盖前端开发全链路。

22
04 · 前端工程

⚛️ React 生态深度

核心能力

  • Hooks 全集:useState/useEffect/useContext/useReducer/useMemo/useCallback/useRef/useId
  • 自定义 Hooks:useDebounce、useFetch、useLocalStorage 等复用逻辑封装
  • 性能优化:React.memo、useMemo、useCallback、代码分割、虚拟列表
  • React 19:use() Hook、Server Components、Actions、useFormStatus、useOptimistic

生态系统

  • 状态管理:Redux Toolkit / Zustand / Jotai / Recoil
  • 数据获取:TanStack Query / SWR / tRPC
  • 路由:React Router v6 / TanStack Router
  • 表单:React Hook Form + Zod 验证
  • SSR:Next.js(App Router + Server Actions)
  • 测试:React Testing Library + Vitest
23
04 · 前端工程

💚 Vue & Angular & 其他框架

Vue 3

  • Composition API / <script setup>
  • ref/reactive/computed/watch
  • Pinia 状态管理
  • Vue Router 4 导航守卫
  • Nuxt 3 SSR/SSG
  • Element Plus / Naive UI

Angular

  • Standalone Components
  • Signals 响应式
  • @defer 延迟加载
  • RxJS 响应式编程
  • NgRx 状态管理
  • Angular Material

其他

  • Svelte/Kit:Runes、编译时优化
  • Astro:Islands Architecture
  • Solid.js:细粒度响应式
  • htmx:超媒体驱动
  • Qwik:可恢复性
24
04 · 前端工程

🎨 CSS 与视觉实现

现代 CSS 特性

  • 布局:Grid(Subgrid)、Flexbox、Container Queries
  • 新特性:CSS Nesting、:has()、@layer 级联层、Scroll-driven Animations、View Transitions
  • 变量:Custom Properties 主题系统
  • 响应式:移动优先、流式布局、clamp()、视口单位

CSS 工具链

  • Tailwind CSS:自定义配置、插件开发、JIT
  • Sass/SCSS:变量、混入、函数、模块系统
  • CSS-in-JS:Styled Components、Emotion
  • 动画:Framer Motion、GSAP、Lottie
  • 3D/Canvas:Three.js、Canvas API、SVG 动画
  • 可访问性:ARIA、语义化 HTML、键盘导航、对比度
25
04 · 前端工程

📦 构建工具与工程化

构建工具

工具特点适用场景
Vite极速 HMR、ESM 原生现代项目首选
Webpack生态丰富、Module Federation大型/遗留项目
RollupTree Shaking 优秀库打包
esbuildGo 实现、极速开发工具链
TurbopackRust 实现、增量Next.js 项目

工程化配套

  • Monorepo:Turborepo、Nx、pnpm Workspaces
  • 代码质量:ESLint(自定义规则)、Prettier、Stylelint
  • Git Hooks:Husky + lint-staged + Commitlint
  • 包管理:npm/yarn/pnpm 锁文件机制、幽灵依赖处理
  • 类型检查:tsconfig 全配置项、Project References
26
04 · 前端工程

📱 移动端与跨平台

Flutter

  • Widget 系统(Stateless/Stateful)
  • 状态管理:Riverpod/Bloc/Provider
  • 导航:GoRouter
  • Platform Channel 原生交互
  • 自定义绘制 CustomPainter
  • 动画系统(隐式/显式/Hero)

React Native

  • 核心组件与 FlatList 优化
  • React Navigation 导航
  • 原生模块桥接
  • New Architecture(Fabric)
  • Expo 工具链
  • Reanimated 动画

原生开发

  • iOS:SwiftUI、UIKit、Combine、Core Data
  • Android:Jetpack Compose、ViewModel、Room、Hilt
  • KMP:Kotlin Multiplatform 共享逻辑
  • 推送通知、深度链接、生物识别
27
04 · 前端工程

⚡ 前端性能优化

加载性能

  • 代码分割:路由级/组件级 lazy loading
  • 资源优化:图片压缩(WebP/AVIF)、字体子集化、SVG 精灵图
  • 缓存策略:Service Worker、HTTP 缓存头、CDN 配置
  • 预加载:prefetch/preload/preconnect
  • SSR/SSG:首屏服务端渲染、静态生成
  • Bundle 分析:webpack-bundle-analyzer、source-map-explorer

运行时性能

  • 虚拟列表:react-virtuoso、TanStack Virtual
  • 防抖节流:输入防抖、滚动节流
  • Web Workers:计算密集任务离线处理
  • 渲染优化:减少重排重绘、will-change、合成层
  • 内存管理:避免内存泄漏、WeakRef/WeakMap
  • Core Web Vitals:LCP/FID/CLS 优化
28
04 · 前端工程

🖥️ 前端代码示例

React + TypeScript 自定义 Hook

function useFetch<T>(url: string) { const [data, setData] = useState<T|null>(null); const [loading, setLoading] = useState(true); const [error, setError] = useState<Error|null>(null); useEffect(() => { const ctrl = new AbortController(); fetch(url, { signal: ctrl.signal }) .then(r => r.json()) .then(setData) .catch(setError) .finally(() => setLoading(false)); return () => ctrl.abort(); }, [url]); return { data, loading, error }; }

Vue 3 Composition API

<script setup lang="ts"> import { ref, computed, onMounted } from 'vue' const count = ref(0) const doubled = computed(() => count.value * 2) async function fetchData() { const res = await fetch('/api/data') // handle response... } onMounted(fetchData) </script> <template> <button @click="count++"> {{ count }} × 2 = {{ doubled }} </button> </template>
29
05

后端工程

从 RESTful API 到微服务,从同步处理到异步消息,覆盖后端开发完整技术栈。

30
05 · 后端工程

🚀 Node.js & Python 后端

Node.js 框架

  • Express:中间件、路由、错误处理、请求验证
  • Fastify:Schema 验证、插件系统、高性能序列化
  • NestJS:模块化、DI、Guard/Interceptor/Pipe、微服务、CQRS
  • tRPC:端到端类型安全 API
  • ORM:Prisma、TypeORM、Drizzle、Mongoose
  • 实时:Socket.io、WebSocket、SSE
  • 队列:BullMQ(Redis)、Agenda

Python 框架

  • FastAPI:自动 OpenAPI、Pydantic 验证、依赖注入、异步
  • Django:ORM、Admin、DRF 序列化器、Channels、信号
  • Flask:Blueprint、扩展生态、应用工厂
  • Celery:异步任务、定时任务、结果后端
  • 部署:Uvicorn/Gunicorn 配置调优
31
05 · 后端工程

☕ Java Spring & Go & Rust 后端

Spring 生态

  • Boot 自动配置 + Actuator
  • Cloud 微服务全家桶
  • Security OAuth2/JWT
  • Data JPA/MongoDB/Redis
  • WebFlux 响应式
  • Batch 批处理

Go 后端

  • Gin/Echo/Fiber 框架
  • 标准库 net/http
  • gRPC + Protobuf
  • Worker Pool 并发模式
  • sqlx / GORM / ent
  • cobra CLI 工具

Rust 后端

  • Actix-web / Axum
  • Tokio 异步运行时
  • SQLx 编译时检查
  • Tower 中间件抽象
  • Serde 序列化
  • 零成本抽象高性能
32
05 · 后端工程

🔌 认证授权 & 中间件

认证方案

  • JWT:签发/验证/刷新令牌轮换、密钥管理、Claims 设计
  • OAuth 2.0:授权码流程、PKCE、客户端凭证、设备授权
  • OIDC:ID Token、UserInfo 端点、SSO 集成
  • Session:安全 Cookie(HttpOnly/Secure/SameSite)、Redis 存储
  • MFA:TOTP(Google Authenticator)、WebAuthn/FIDO2
  • API Key:密钥生成、速率限制、作用域控制

常用中间件

  • 缓存:Redis 缓存策略(Cache-Aside/Write-Through/Write-Behind)
  • 消息队列:RabbitMQ、Kafka、SQS/SNS
  • 搜索引擎:Elasticsearch 集成、全文搜索
  • 文件存储:S3 上传/下载、预签名 URL
  • 邮件/短信:SES、SendGrid、Twilio 集成
  • 日志:结构化日志、ELK Stack、CloudWatch
33
05 · 后端工程

💡 后端代码示例

FastAPI + Pydantic

from fastapi import FastAPI, Depends from pydantic import BaseModel app = FastAPI() class UserCreate(BaseModel): email: str password: str @app.post("/users", status_code=201) async def create_user( user: UserCreate, db: Session = Depends(get_db) ): hashed = hash_password(user.password) db_user = User(email=user.email, password=hashed) db.add(db_user) db.commit() return {"id": db_user.id}

Go Gin + 中间件

func main() { r := gin.Default() r.Use(authMiddleware()) r.Use(rateLimiter(100)) api := r.Group("/api/v1") { api.GET("/users", listUsers) api.POST("/users", createUser) api.GET("/users/:id", getUser) } r.Run(":8080") } func authMiddleware() gin.HandlerFunc { return func(c *gin.Context) { token := c.GetHeader("Authorization") claims, err := validateJWT(token) if err != nil { c.AbortWithStatus(401) return } c.Set("user", claims) c.Next() } }
34
05 · 后端工程

🔄 消息队列与异步处理

消息队列对比

特性RabbitMQKafkaSQS
模型消息代理事件流托管队列
顺序队列内有序分区内有序FIFO 可选
吞吐万级/秒百万级/秒万级/秒
持久化可选默认持久默认持久
运维自建自建/MSK全托管

异步模式

  • 发布/订阅:一对多广播,解耦生产者消费者
  • 工作队列:任务分发,负载均衡
  • 事件溯源:事件日志,状态重建
  • Saga 模式:分布式事务编排/协调
  • 死信队列:失败消息隔离处理
  • 延迟队列:定时任务、超时处理
35
05 · 后端工程

🌐 实时通信

WebSocket

  • 全双工持久连接
  • 心跳保活机制
  • 断线重连策略
  • 房间/频道管理
  • 消息广播与定向推送

Server-Sent Events

  • 服务端单向推送
  • 自动重连
  • 事件类型过滤
  • 适合通知、实时数据流
  • 比 WS 更简单轻量

gRPC 流

  • Server Streaming
  • Client Streaming
  • Bidirectional Streaming
  • Protobuf 高效序列化
  • 适合微服务间通信
36
06

数据库工程

从关系型到 NoSQL,从数据建模到查询优化,覆盖数据层完整技术栈。

37
06 · 数据库

🐘 关系型数据库

PostgreSQL(首选推荐)

  • 高级 SQL:窗口函数、递归 CTE、LATERAL JOIN、GROUPING SETS
  • JSON:jsonb 类型、路径查询、GIN 索引
  • 索引:B-tree/GIN/GiST/BRIN、部分索引、表达式索引、覆盖索引
  • 分区:Range/List/Hash 分区表
  • 扩展:PostGIS(地理)、pgvector(AI 向量)、TimescaleDB(时序)
  • 调优:EXPLAIN ANALYZE、PgBouncer 连接池、vacuum 策略

MySQL & SQLite

  • MySQL 8.0+:窗口函数、CTE、JSON 增强、InnoDB 优化
  • 主从复制、分库分表(ShardingSphere)
  • 慢查询分析、索引优化建议
  • SQLite:嵌入式数据库
  • WAL 模式、FTS5 全文搜索
  • 适合移动端/桌面端/小型 Web

ORM 工具

PrismaTypeORMSQLAlchemyHibernateGORMDrizzleDiesel
38
06 · 数据库

🍃 NoSQL 数据库

MongoDB

  • 文档模型设计(嵌入 vs 引用)
  • 聚合管道($match/$group/$lookup/$unwind)
  • 索引策略(复合/文本/地理空间/TTL)
  • Change Streams 实时监听
  • 分片集群设计

Redis

  • 数据结构:String/Hash/List/Set/ZSet/Stream
  • 缓存策略:Cache-Aside/Write-Through
  • 分布式锁:Redlock 算法
  • 限流:令牌桶/滑动窗口
  • 集群/哨兵/持久化(RDB/AOF)

DynamoDB

单表设计、GSI/LSI、Streams、DAX 缓存、按需/预置容量

Elasticsearch

倒排索引、查询 DSL、聚合分析、中文分词(IK)、ILM

其他

Neo4j(图)、Cassandra(宽列)、InfluxDB(时序)

39
06 · 数据库

📐 数据建模与迁移

建模方法

  • ER 建模:实体关系图、范式化(1NF→BCNF)与反范式化权衡
  • 文档建模:嵌入模式 vs 引用模式、数据冗余策略
  • 宽表建模:Cassandra 查询驱动设计
  • 图建模:节点/边/属性、遍历模式
  • 数仓建模:星型模型、雪花模型、维度建模

迁移工具

工具语言/框架
Flyway / LiquibaseJava / 通用
AlembicPython (SQLAlchemy)
Prisma MigrateNode.js
Django MigrationsPython (Django)
Rails MigrationsRuby (Rails)
goose / golang-migrateGo
40
06 · 数据库

⚡ SQL 优化实战

优化前(慢查询)

-- 全表扫描 + 子查询,耗时 3.2s SELECT * FROM orders WHERE user_id IN ( SELECT id FROM users WHERE created_at > '2024-01-01' ) ORDER BY created_at DESC;

优化后

-- JOIN + 索引,耗时 12ms SELECT o.* FROM orders o JOIN users u ON o.user_id = u.id WHERE u.created_at > '2024-01-01' ORDER BY o.created_at DESC LIMIT 20; -- 配套索引 CREATE INDEX idx_users_created ON users(created_at); CREATE INDEX idx_orders_user_created ON orders(user_id, created_at DESC);

Kiro 的 SQL 优化能力

  • 分析 EXPLAIN ANALYZE 输出
  • 识别全表扫描、临时表、文件排序
  • 推荐合适的索引策略
  • 重写低效查询(子查询→JOIN)
  • 分页优化(Cursor vs Offset)
  • 批量操作优化

高级 SQL 能力

  • 窗口函数(ROW_NUMBER/RANK/LAG/LEAD)
  • 递归 CTE(树形结构遍历)
  • LATERAL JOIN(相关子查询优化)
  • GROUPING SETS / CUBE / ROLLUP
41
06 · 数据库

🏗️ 数据架构模式

读写分离

  • 主库写入、从库读取
  • 读写路由中间件
  • 复制延迟处理策略
  • 适用:读多写少场景

分库分表

  • 水平分片(按用户 ID/时间)
  • 垂直分库(按业务域)
  • 分布式 ID 生成
  • 跨分片查询处理

缓存架构

  • Cache-Aside:应用层控制缓存读写
  • Write-Through:写入同时更新缓存
  • Write-Behind:异步批量写入数据库
  • 缓存穿透:布隆过滤器/空值缓存
  • 缓存雪崩:随机过期时间/熔断
  • 缓存击穿:互斥锁/逻辑过期

多级缓存

本地缓存(Caffeine)→ 分布式缓存(Redis)→ 数据库

42
07

API 设计与集成

RESTful、GraphQL、gRPC — 不同场景的最佳 API 设计方案。

43
07 · API 设计

🌐 RESTful API 设计

设计规范

  • 资源命名:名词复数(/users, /orders)、嵌套资源(/users/:id/orders)
  • HTTP 方法:GET 查询、POST 创建、PUT 全量更新、PATCH 部分更新、DELETE 删除
  • 状态码:200/201/204/400/401/403/404/409/422/429/500
  • 版本控制:URL(/v1/)、Header(Accept-Version)
  • 分页:Cursor 分页(推荐)vs Offset 分页
  • 过滤排序:?status=active&sort=-created_at

响应格式设计

{ "data": { /* 主体数据 */ }, "meta": { "page": 1, "per_page": 20, "total": 156, "next_cursor": "abc123" }, "errors": [{ "code": "VALIDATION_ERROR", "field": "email", "message": "Invalid format" }] }
44
07 · API 设计

📊 GraphQL & gRPC

GraphQL

  • Schema 设计:类型定义、查询/变更/订阅
  • 解析器:字段级解析、DataLoader 解决 N+1
  • 工具:Apollo Server/Client、GraphQL Code Generator
  • Federation:微服务 GraphQL 网关
  • 安全:查询深度限制、复杂度分析、持久化查询
type User { id: ID! name: String! orders(first: Int): [Order!]! } type Query { user(id: ID!): User users(filter: UserFilter): UserConnection! }

gRPC

  • Protobuf:高效二进制序列化
  • 四种模式:Unary / Server Stream / Client Stream / Bidirectional
  • 拦截器:认证、日志、重试
  • 负载均衡:客户端/代理端
  • 健康检查:gRPC Health Checking Protocol
service UserService { rpc GetUser(GetUserReq) returns (User); rpc ListUsers(ListReq) returns (stream User); }
45
07 · API 设计

📋 API 文档与治理

OpenAPI / Swagger

  • OpenAPI 3.1 规范编写
  • Schema 复用($ref / components)
  • 请求/响应示例
  • 认证方案描述(Bearer/OAuth2/API Key)
  • Swagger UI / Redoc 文档生成
  • 代码生成(openapi-generator)

API 治理

  • 版本策略:URL 路径 / Header / 内容协商
  • 速率限制:令牌桶、滑动窗口、按用户/IP
  • 幂等性:Idempotency-Key Header
  • 向后兼容:新增字段可选、废弃字段标记
  • 错误规范:RFC 7807 Problem Details
  • 监控:延迟/错误率/吞吐量指标
46
07 · API 设计

🔗 API 协议对比

特性RESTGraphQLgRPCWebSocket
协议HTTP/1.1+HTTP/1.1+HTTP/2WS
数据格式JSONJSONProtobuf(二进制)任意
类型安全OpenAPI 可选Schema 内置Protobuf 内置
实时轮询/SSESubscription双向流原生双向
性能中等中等
浏览器✅ 原生✅ 客户端库⚠️ grpc-web✅ 原生
最佳场景公开 API、CRUD灵活查询、BFF微服务内部实时通信

Kiro 的建议:对外 API 用 REST(简单通用),前端 BFF 用 GraphQL/tRPC(灵活高效),微服务间用 gRPC(高性能类型安全),实时场景用 WebSocket/SSE。

47
08

软件测试

从单元测试到端到端测试,从 TDD 到性能测试,Kiro 能写测试、跑测试、分析结果。

48
08 · 测试

🔬 测试金字塔

╱ E2E 测试 ╲ ← 少量,验证关键流程 ╱ 集成测试 ╲ ← 适量,验证模块交互 ╱ 单元测试 ╲ ← 大量,验证函数逻辑 ─────────────────

测试框架精通

语言框架
JS/TSJest、Vitest、Mocha、Playwright、Cypress
Pythonpytest、unittest、Hypothesis
JavaJUnit 5、Mockito、TestContainers
Gotesting、testify、gomock
Rust内置 #[test]、mockall、proptest
RubyRSpec、Minitest、FactoryBot

单元测试

  • 函数/方法级隔离测试
  • Mock/Stub/Spy 技术
  • 依赖注入便于测试
  • 边界条件和异常路径覆盖

集成测试

  • Testcontainers(真实数据库/Redis)
  • API 集成测试(supertest/httpx)
  • 消息队列集成验证
  • 外部服务 Mock(WireMock/MSW)
49
08 · 测试

🎯 E2E 测试 & 性能测试

端到端测试

  • Playwright:多浏览器(Chrome/Firefox/Safari)、自动等待、网络拦截、视觉对比
  • Cypress:时间旅行调试、自动重试、截图/录屏
  • Page Object Model:页面对象封装,提高可维护性
  • 测试数据:Factory 模式生成、测试后清理
  • CI 集成:并行执行、分片策略、Flaky 检测

性能测试

  • k6:JavaScript 脚本、阈值检查、场景编排
  • JMeter:GUI 设计、分布式压测
  • Locust:Python 脚本、分布式
  • 测试类型:负载测试、压力测试、浸泡测试、峰值测试
  • 指标:P50/P95/P99 延迟、吞吐量、错误率
50
08 · 测试

🛠️ TDD & 测试工程实践

TDD 红-绿-重构

🔴 Red:先写一个失败的测试
🟢 Green:写最少的代码让测试通过
🔵 Refactor:重构代码,保持测试通过

Kiro 天然支持 TDD 工作流:你描述需求,Kiro 先写测试再写实现,确保代码从一开始就是可测试的。

测试工程化

  • 覆盖率:Istanbul/nyc、coverage.py、JaCoCo — 行/分支/路径覆盖
  • 变异测试:Stryker(JS)、PITest(Java)验证测试质量
  • 契约测试:Pact 消费者驱动契约
  • 快照测试:UI 组件快照、API 响应快照
  • BDD:Cucumber/Gherkin Given-When-Then
  • Flaky 管理:自动重试、隔离、标记
51
08 · 测试

💡 测试代码示例

Jest + React Testing Library

describe('UserProfile', () => { it('displays user name', async () => { server.use( rest.get('/api/user/1', (req, res, ctx) => res(ctx.json({ name: 'Alice' })) ) ); render(<UserProfile id="1" />); expect( await screen.findByText('Alice') ).toBeInTheDocument(); }); it('shows error on failure', async () => { server.use( rest.get('/api/user/1', (req, res, ctx) => res(ctx.status(500)) ) ); render(<UserProfile id="1" />); expect( await screen.findByRole('alert') ).toBeInTheDocument(); }); });

pytest + FastAPI

import pytest from httpx import AsyncClient @pytest.mark.asyncio async def test_create_user(client: AsyncClient): resp = await client.post( "/api/users", json={ "email": "test@example.com", "password": "Str0ng!Pass" } ) assert resp.status_code == 201 data = resp.json() assert "id" in data @pytest.mark.asyncio async def test_duplicate_email(client): # 先创建一个用户 await client.post("/api/users", json={"email": "dup@test.com", "password": "Pass123!"}) # 重复创建应返回 409 resp = await client.post("/api/users", json={"email": "dup@test.com", "password": "Pass123!"}) assert resp.status_code == 409
52
08 · 测试

📊 测试策略总结

测试类型目的速度覆盖工具示例
单元测试验证函数/方法逻辑⚡ 毫秒级代码路径Jest/pytest/JUnit
集成测试验证模块间交互🔄 秒级接口契约Testcontainers/supertest
E2E 测试验证用户完整流程🐢 分钟级业务流程Playwright/Cypress
性能测试验证系统承载能力🐢 分钟级性能指标k6/JMeter/Locust
契约测试验证 API 兼容性⚡ 秒级接口规范Pact
安全测试发现安全漏洞🔄 分钟级安全规则OWASP ZAP/Semgrep

Kiro 的测试工作流:写代码后自动运行构建和测试验证。如果测试失败,Kiro 会分析失败原因并修复。新增功能时会同时编写对应的测试用例。

53
09

DevOps 与 CI/CD

从代码提交到生产部署,自动化一切可以自动化的环节。

54
09 · DevOps

🐳 容器化技术

Docker 最佳实践

  • 多阶段构建:编译阶段 + 运行阶段,减小镜像体积
  • 基础镜像:Alpine / Distroless / Scratch 选择
  • 安全:非 root 用户、.dockerignore、安全扫描(Trivy)
  • 层缓存:依赖安装在前、代码复制在后
  • 健康检查:HEALTHCHECK 指令
FROM node:20-alpine AS build WORKDIR /app COPY package*.json ./ RUN npm ci COPY . . RUN npm run build FROM node:20-alpine USER node COPY --from=build /app/dist ./dist CMD ["node", "dist/main.js"]

Kubernetes 编排

  • 核心资源:Pod/Deployment/Service/ConfigMap/Secret
  • 高级:StatefulSet/DaemonSet/Job/CronJob
  • 扩缩:HPA/VPA/Cluster Autoscaler
  • 网络:Ingress/NetworkPolicy/Service Mesh
  • 配置管理:Helm Charts / Kustomize
  • GitOps:ArgoCD / Flux
  • 安全:RBAC/Pod Security/OPA Gatekeeper
55
09 · DevOps

🔄 CI/CD 流水线

GitHub Actions

  • 工作流 YAML 编写
  • 矩阵构建(多版本/多平台)
  • 缓存策略(依赖/构建产物)
  • 自定义 Action 开发
  • 可重用工作流
  • 环境保护规则
  • 密钥管理(Secrets)

其他 CI/CD 工具

  • GitLab CI:.gitlab-ci.yml、阶段/作业、Review Apps
  • Jenkins:Jenkinsfile、Pipeline、共享库
  • AWS CodePipeline:CodeBuild + CodeDeploy
  • CircleCI:Orbs、并行执行

部署策略

滚动更新 蓝绿部署 金丝雀发布 A/B 测试 Feature Flag
56
09 · DevOps

📜 基础设施即代码(IaC)

Terraform

  • HCL 语法、Provider 配置
  • 模块设计(可复用组件)
  • 状态管理(S3 + DynamoDB 远程后端)
  • 工作区(Workspace)多环境
  • 导入现有资源
  • Terragrunt 大规模管理

AWS CDK & CloudFormation

  • CDK:TypeScript/Python 编写基础设施
  • L1/L2/L3 Construct 层次
  • 自定义 Construct 开发
  • CloudFormation:YAML 模板
  • 内置函数(!Ref/!Sub/!GetAtt)
  • StackSets 多账户部署

Pulumi

通用编程语言编写 IaC

Ansible

Playbook、角色、Vault 密钥

Packer

机器镜像自动化构建

57
09 · DevOps

📈 可观测性

📋 日志

  • 结构化日志(JSON 格式)
  • 日志级别策略
  • ELK Stack 集中化
  • Fluent Bit 收集
  • CloudWatch Logs
  • 日志采样与过滤

📊 指标

  • Prometheus + Grafana
  • PromQL 查询语言
  • 告警规则配置
  • Recording Rules
  • CloudWatch Metrics
  • 自定义业务指标

🔍 追踪

  • OpenTelemetry 统一标准
  • Jaeger / Zipkin
  • AWS X-Ray
  • 分布式上下文传播
  • Span/Trace 分析
  • 服务依赖地图

SRE 实践:SLI/SLO/SLA 定义 → 错误预算管理 → 容量规划 → 混沌工程(Chaos Monkey)→ 事故响应 Runbook

58
09 · DevOps

☁️ AWS 服务深度集成

计算

  • EC2 / Lambda / ECS / EKS
  • Fargate / App Runner
  • Auto Scaling
  • Spot 实例策略

存储 & 数据库

  • S3 / EFS / FSx
  • RDS / Aurora / DynamoDB
  • ElastiCache
  • Redshift / Athena

网络 & 安全

  • VPC / CloudFront / Route 53
  • IAM / WAF / Shield
  • Secrets Manager
  • Certificate Manager

消息 & 集成

  • SQS / SNS / EventBridge
  • Step Functions
  • API Gateway / AppSync

监控 & 运维

  • CloudWatch / CloudTrail
  • X-Ray / Systems Manager
  • Config / GuardDuty

数据 & AI

  • Glue / Kinesis / EMR
  • SageMaker / Bedrock
  • Comprehend / Rekognition
59
09 · DevOps

🔄 CI/CD 流水线示例

# .github/workflows/deploy.yml name: Deploy on: push: { branches: [main] } jobs: test: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: { node-version: 20, cache: pnpm } - run: pnpm install --frozen-lockfile - run: pnpm lint - run: pnpm test -- --coverage - run: pnpm build deploy: needs: test runs-on: ubuntu-latest environment: production steps: - uses: actions/checkout@v4 - uses: aws-actions/configure-aws-credentials@v4 with: role-to-assume: ${{ secrets.AWS_ROLE_ARN }} aws-region: us-east-1 - run: aws ecs update-service --cluster prod --service api --force-new-deployment
60
10

安全工程

安全不是事后补救,而是从设计阶段就融入的核心要素。Kiro 默认遵循安全编码最佳实践。

61
10 · 安全

🛡️ OWASP Top 10 防护

注入攻击防护

  • SQL 注入:参数化查询、ORM、输入验证
  • XSS:输出编码、CSP 头、DOMPurify
  • CSRF:Token 验证、SameSite Cookie
  • SSRF:URL 白名单、内网地址过滤
  • 命令注入:参数化执行、避免 shell=True

其他安全实践

  • 认证:bcrypt/Argon2 密码哈希、MFA
  • 授权:RBAC/ABAC 模型、最小权限
  • 加密:AES-256-GCM、TLS 1.3、KMS
  • 会话:HttpOnly/Secure/SameSite Cookie
  • API:速率限制、请求大小限制
  • 依赖:漏洞扫描、版本锁定
62
10 · 安全

🔍 安全审计与 DevSecOps

静态分析(SAST)

  • SonarQube:代码质量 + 安全规则
  • Semgrep:自定义规则、多语言
  • CodeQL:GitHub 原生、数据流分析
  • Snyk:依赖漏洞 + 代码扫描
  • Dependabot:自动依赖更新 PR

运行时安全

  • 容器扫描:Trivy/Clair 镜像漏洞
  • 运行时监控:Falco 异常行为检测
  • 网络安全:WAF 规则、DDoS 防护
  • 密钥管理:Vault/AWS Secrets Manager
  • 审计日志:CloudTrail、操作追踪

DevSecOps 流水线:代码提交 → SAST 扫描 → 依赖检查 → 构建 → 容器扫描 → 部署 → DAST 扫描 → 运行时监控

63
10 · 安全

🔐 认证授权架构

OAuth 2.0 / OIDC 流程

用户 → 应用 → 授权服务器 ↓ 授权码(Authorization Code + PKCE) 应用 → 授权服务器(换取 Token) ↓ Access Token + Refresh Token + ID Token 应用 → 资源服务器(Bearer Token) ↓ 受保护的资源
  • 授权码流程(Web 应用推荐)
  • PKCE(SPA/移动端必须)
  • 客户端凭证(服务间通信)
  • 设备授权(IoT/CLI)

授权模型

模型适用场景
RBAC(基于角色)大多数应用,角色明确
ABAC(基于属性)复杂策略,动态条件
ReBAC(基于关系)社交/协作,关系驱动
  • 策略引擎:OPA(Rego)、Cedar(AWS)
  • JWT 最佳实践:短过期、刷新轮换、密钥轮转
64
10 · 安全

📋 合规与供应链安全

合规框架

  • GDPR:数据最小化、用户同意、删除权、DPO
  • HIPAA:PHI 加密、访问控制、审计追踪
  • PCI DSS:支付数据隔离、加密传输、定期扫描
  • SOC 2:安全/可用性/处理完整性/保密性/隐私
  • ISO 27001:信息安全管理体系

供应链安全

  • 依赖锁定:精确版本号、锁文件
  • SBOM:软件物料清单生成
  • 签名验证:包签名、镜像签名(cosign)
  • Typosquatting 检测:可疑包名警告
  • 许可证合规:开源许可证审查
65
11

性能工程

从前端加载到后端响应,从数据库查询到系统架构,全链路性能优化。

66
11 · 性能

⚡ 后端性能优化

应用层优化

  • 缓存策略:多级缓存(本地→Redis→DB)、缓存预热、失效策略
  • 连接池:数据库连接池、HTTP 连接复用、gRPC 长连接
  • 异步处理:耗时操作异步化、消息队列削峰
  • 批量操作:批量插入/更新、DataLoader 合并查询
  • 算法优化:时间/空间复杂度分析、数据结构选择

数据库优化

  • 查询优化:EXPLAIN 分析、索引策略、查询重写
  • 读写分离:主写从读、复制延迟处理
  • 分库分表:水平分片、垂直拆分
  • 连接优化:PgBouncer/ProxySQL 连接池
  • 慢查询:慢查询日志分析、自动告警
67
11 · 性能

🌐 前端 & 网络性能

Core Web Vitals

  • LCP(最大内容绘制):<2.5s — 图片优化、预加载、SSR
  • INP(交互到下一次绘制):<200ms — 减少主线程阻塞、代码分割
  • CLS(累积布局偏移):<0.1 — 图片尺寸预留、字体加载策略

资源优化

  • 图片:WebP/AVIF、响应式图片、懒加载
  • 字体:子集化、font-display: swap
  • JS:Tree Shaking、代码分割、压缩
  • CSS:关键 CSS 内联、异步加载

网络优化

  • CDN:静态资源分发、边缘缓存
  • HTTP/2:多路复用、头部压缩、服务端推送
  • HTTP/3:QUIC 协议、0-RTT 连接
  • 压缩:Brotli/Gzip 响应压缩
  • DNS:预解析、DNS-over-HTTPS
  • 缓存:Cache-Control、ETag、Service Worker

架构级优化

  • 边缘计算(Lambda@Edge/CloudFront Functions)
  • 数据库就近部署(Global Tables)
  • 异地多活架构
68
11 · 性能

🔬 性能分析工具

层级工具用途
前端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系统资源监控
APMDatadog / New Relic / AWS X-Ray全链路追踪
负载k6 / JMeter / Locust / wrk压力测试

Kiro 的性能排障流程:收集指标 → 定位瓶颈(CPU/内存/IO/网络)→ 分析根因 → 实施优化 → 验证效果 → 建立基线

69
11 · 性能

📊 高并发架构设计

限流策略

  • 令牌桶:平滑限流,允许突发
  • 滑动窗口:精确计数,防止边界问题
  • 漏桶:恒定速率处理
  • 分布式限流:Redis + Lua 脚本

降级策略

  • 熔断器(Circuit Breaker)
  • 服务降级(返回缓存/默认值)
  • 负载卸载(Load Shedding)

扩展策略

  • 水平扩展:无状态服务 + 负载均衡
  • 垂直扩展:升级实例规格
  • 自动扩缩:基于 CPU/内存/自定义指标
  • 预测扩缩:基于历史模式预扩容

秒杀系统设计

CDN 静态化 → 前端限流 → API 网关限流 → Redis 预扣库存 → 异步下单 → 消息队列 → 订单服务

70
12

AI 辅助工程

从传统 ML 到 LLM 应用,从模型训练到生产部署,AI 工程的完整能力。

71
12 · AI 工程

🧠 机器学习工程

ML 算法与框架

  • scikit-learn:分类/回归/聚类/降维/特征工程/Pipeline
  • XGBoost/LightGBM:梯度提升、特征重要性
  • PyTorch:张量操作、自动微分、nn.Module、DataLoader、分布式训练
  • TensorFlow/Keras:Sequential/Functional API、TFLite
  • NLP:HuggingFace Transformers、文本分类、NER、文本生成
  • CV:图像分类、目标检测(YOLO)、图像分割、OpenCV

MLOps

  • 实验跟踪:MLflow、Weights & Biases
  • 模型注册:版本管理、阶段标记
  • 特征存储:Feast、SageMaker Feature Store
  • 模型部署:SageMaker Endpoints、TorchServe、Triton
  • 模型监控:数据漂移检测、性能退化告警
  • A/B 测试:模型版本对比、流量分配
72
12 · AI 工程

🔗 LLM 应用开发

RAG 架构

  • 文档处理:加载 → 分块(Chunk)→ 嵌入生成
  • 向量存储:Pinecone/Weaviate/pgvector/Chroma
  • 检索策略:语义搜索、混合搜索(BM25+向量)、重排序
  • 生成:上下文注入、Prompt 模板、流式输出
  • 评估:RAGAS 框架、忠实度/相关性指标

Agent 与工具链

  • LangChain:Chain/Agent/Tool/Memory/Callback
  • Prompt Engineering:Few-shot、CoT、ReAct、结构化输出
  • API 集成:OpenAI/Anthropic/Bedrock/Ollama
  • Function Calling:工具调用、JSON Schema
  • Guardrails:输出验证、安全过滤

Kiro 本身就是 LLM Agent 的最佳实践:工具调用、多步推理、上下文管理、安全护栏 — 这些都是 Kiro 自身架构的核心组成部分。

73
12 · AI 工程

📊 数据工程

数据处理

  • Pandas/Polars:DataFrame 操作、GroupBy、Merge、时间序列
  • PySpark:大规模分布式数据处理
  • ETL:Airflow DAG、Prefect、Dagster
  • 数据清洗:缺失值、异常值、类型转换、去重
  • 格式转换:CSV/JSON/Parquet/Avro 互转

数据可视化

  • Python:Matplotlib、Seaborn、Plotly、Bokeh
  • JavaScript:D3.js、ECharts、Chart.js、Recharts
  • 仪表板:Grafana、Streamlit、Dash
  • Jupyter:交互式数据探索和分析
74
12 · AI 工程

☁️ AWS AI/ML 服务

SageMaker

  • Notebook 实例
  • 训练作业(分布式)
  • 模型部署(Endpoint)
  • Pipeline 编排
  • Feature Store
  • Model Monitor

Bedrock

  • 基础模型 API 调用
  • 知识库(RAG)
  • Agent 构建
  • 模型微调
  • Guardrails 安全
  • 模型评估

其他 AI 服务

  • Comprehend(NLP)
  • Rekognition(图像)
  • Transcribe(语音转文字)
  • Polly(文字转语音)
  • Translate(翻译)
  • Textract(文档提取)
75
13

项目管理与协作

软件工程不只是写代码,还包括文档、协作、流程和工具链管理。

76
13 · 项目管理

📝 文档工程

技术文档

  • API 文档:OpenAPI 规范、端点描述、示例
  • 架构文档:C4 模型、HLD/LLD、ADR
  • README:项目介绍、安装、使用、贡献指南
  • 代码注释:JSDoc/Docstring/Javadoc/Rustdoc
  • Runbook:故障处理手册、运维指南
  • 变更日志:Conventional Commits、CHANGELOG

商业文档

  • PRD:产品需求文档
  • 技术方案:方案对比、选型报告
  • 项目计划:里程碑、风险评估
  • 会议纪要:决策记录、行动项
  • 技术博客:教程、深度解析
  • 多语言翻译:中英日韩技术文档
77
13 · 项目管理

🔄 Git 工作流 & 代码审查

Git 工作流

  • Trunk-based:短生命周期分支、频繁合并、Feature Flag
  • GitFlow:develop/release/hotfix 分支模型
  • GitHub Flow:main + feature 分支、PR 驱动
  • Conventional Commits:feat/fix/chore/docs 前缀
  • Git Hooks:pre-commit(lint)、commit-msg(规范)

代码审查

  • 审查维度:正确性、可读性、性能、安全、测试覆盖
  • PR 描述:变更摘要、测试说明、截图
  • 自动化:CI 检查、代码覆盖率门槛、Lint 通过
  • Kiro 辅助:自动代码审查、安全漏洞检测、改进建议

重构能力

  • 提取函数/类、重命名、移动代码
  • JS→TS、Vue2→Vue3、Webpack→Vite 迁移
  • 技术债务识别和清理
78
13 · 项目管理

🏭 行业应用场景

🏦 金融

支付系统、风控引擎、交易系统、合规审计

🏥 医疗

电子病历、远程医疗、影像处理、HIPAA 合规

🛒 电商

订单系统、推荐引擎、搜索系统、秒杀

🎮 游戏

服务端、匹配系统、实时通信、数据分析

🎓 教育

在线学习、考试系统、自适应学习

🏭 IoT

设备管理、数据采集、边缘计算

🚗 物流

调度系统、路径优化、仓储管理

📰 媒体

CMS、社交平台、音视频处理

79
14

总结与展望

回顾 Kiro 在软件工程全生命周期中的能力覆盖,以及能力边界。

80
14 · 总结

🗺️ 软件工程能力全景图

📋 规划阶段

  • ✅ 需求分析与建模
  • ✅ 领域驱动设计
  • ✅ 系统架构设计
  • ✅ 技术选型评估
  • ✅ 容量规划

💻 开发阶段

  • ✅ 50+ 编程语言
  • ✅ 前端全框架
  • ✅ 后端全技术栈
  • ✅ 数据库设计与优化
  • ✅ API 设计与文档

🧪 质量阶段

  • ✅ 单元/集成/E2E 测试
  • ✅ TDD 工作流
  • ✅ 代码审查
  • ✅ 安全审计
  • ✅ 性能测试

🚀 交付阶段

  • ✅ CI/CD 流水线
  • ✅ 容器化 & K8s
  • ✅ IaC 基础设施
  • ✅ 多种部署策略
  • ✅ AWS 200+ 服务

📈 运维阶段

  • ✅ 可观测性三支柱
  • ✅ 性能优化
  • ✅ 故障排查
  • ✅ SRE 实践
  • ✅ 安全运维

🤖 AI 阶段

  • ✅ ML 模型开发
  • ✅ LLM 应用构建
  • ✅ RAG 架构
  • ✅ MLOps 流水线
  • ✅ 数据工程
81
14 · 总结

⚠️ 能力边界

✅ Kiro 能做的

  • 直接读写文件系统中的文本文件
  • 执行终端命令(构建/测试/Git)
  • 调用 AWS CLI API 管理云资源
  • AST 级别代码搜索和分析
  • 联网搜索最新信息
  • 多 Agent 并行处理复杂任务
  • 生成所有文本格式的文件
  • MCP 协议扩展能力

❌ Kiro 不能做的

  • 生成图片/音频/视频等二进制文件
  • 运行 GUI 程序
  • 提供医疗/法律/金融专业建议
  • 访问未授权的系统
  • 保证代码 100% 无 Bug
  • 替代人类做最终决策
  • 处理超大二进制文件
  • 跨会话记忆(需知识库)
82
15

能力极限深度剖析

不吹不黑 — 客观分析 Kiro 的真实能力上限、适用边界和与人类工程师的对比。

83
15 · 能力极限

📏 核心参数

上下文窗口:~1M Tokens

度量约等于
英文单词~75 万个
中文字符~50 万字(约 3-4 本《哈利波特》)
代码行数~3-5 万行
源文件数~200-400 个文件
等价项目一个完整的中型 SaaS 应用

这意味着 Kiro 可以一次性读懂一个中型项目的全部代码,理解文件间的依赖关系,然后做跨文件修改。

单次输出上限

指标数值
最大 Token 数~15,000-25,000 tokens
等价代码行~1,000-2,000 行
高质量区间单次 500 行以内最佳
质量衰减点超过 500 行后半段准确性下降

这就是为什么 Kiro 处理大型任务时会自动拆分成多次写入,而不是一次性输出。

84
15 · 能力极限

🎯 一个直观的例子

场景:中型 SaaS 项目全量理解

my-saas/ ├── frontend/ # React + TypeScript ~8,000 行 │ ├── components/ # 50+ 组件 │ ├── hooks/ # 自定义 Hooks │ ├── pages/ # 路由页面 │ └── store/ # 状态管理 ├── backend/ # FastAPI + Python ~6,000 行 │ ├── api/ # 路由处理 │ ├── models/ # 数据模型 │ ├── services/ # 业务逻辑 │ └── core/ # 认证/配置/中间件 ├── infrastructure/ # Terraform + Docker ~2,000 行 ├── tests/ # 各类测试 ~4,000 行 └── docs/ # 文档 ~2,000 行 ───────────────────────────────────────────── 总计 ~22,000 行 ✅ 完全在上下文窗口内

✅ 能做到

一次性读完全部代码,理解整体架构和文件间依赖

✅ 能做到

跨文件重构:改认证方案时同时改后端、前端、测试、配置、文档

⚠️ 需分批

10 万行大型项目需要用搜索工具定位相关代码,分批处理

85
15 · 能力极限

📊 能力分级:错误率视角

🟢 很强(错误率 <5%)

  • 单文件 500 行以内的功能实现
  • 明确需求的 CRUD / API / 组件
  • Bug 修复(给错误信息 + 代码)
  • 代码审查和重构建议
  • 配置文件 / CI-CD / Dockerfile
  • SQL 查询编写和优化
  • 技术文档和 README 编写
  • Shell 脚本和自动化

🟡 还行(需 1-2 轮修正)

  • 跨 5-10 个文件的功能开发
  • 复杂算法(DP、图算法)
  • 从零搭建项目脚手架
  • 系统设计和架构方案
  • 数据库 Schema 设计
  • 性能优化方案
  • 安全审计和修复
  • 复杂的正则表达式

🔴 吃力(需多轮迭代)

  • 超过 2000 行的单次连贯输出
  • 运行时状态调试(内存泄漏、竞态)
  • 极新技术(训练数据截止后)
  • 需要视觉判断的 UI 微调
  • 高度定制的业务逻辑(缺乏上下文)
  • 跨多个微服务的分布式调试
  • 硬件相关的底层优化
  • 需要领域专家知识的决策
86
15 · 能力极限

⚖️ Kiro vs 人类工程师

维度Kiro人类高级工程师谁更强
编码速度秒级输出数百行代码一天几百行高质量代码Kiro ⚡
知识广度50+ 语言、100+ 框架精通 2-3 个技术栈Kiro 📚
特定领域深度中高级水平可达专家级人类 🧠
创造性组合已知模式能发明新架构和算法人类 💡
一致性不疲劳,但会"幻觉"会疲劳,但有直觉各有优劣
上下文容量100 万 token 硬上限靠记忆和文档,无硬上限各有优劣
重复性工作不厌烦,质量稳定容易疲劳出错Kiro 🔄
沟通理解依赖文字描述精确度能读懂言外之意人类 🗣️
调试直觉系统化排查"第六感"定位问题人类 🎯
学习新技术需等模型更新实时学习和实验人类 📖
87
15 · 能力极限

🔬 质量衰减曲线

输出长度 vs 质量

质量 ▲ │ ████████████████████ │ █████████████████████ │ ██████████████████████ ← 0-200 行:几乎无错 │ █████████████████████ │ ████████████████████ │ ██████████████████ ← 200-500 行:偶有小错 │ ████████████████ │ ██████████████ ← 500-1000 行:需要审查 │ ██████████ │ ████████ ← 1000-2000 行:建议分批 │ █████ └──────────────────────▶ 输出长度(行)

Kiro 的应对策略

自动分批:大型任务自动拆分成多次写入,每次保持在高质量区间

自动验证:每次修改后运行构建和测试,发现错误立即修复

上下文压缩:接近窗口限制时自动压缩,保留关键信息继续工作

子 Agent:复杂任务拆分给多个 Agent 并行处理,各自保持短上下文

工具辅助:用 AST 搜索精确定位代码,避免"凭记忆"修改

88
15 · 能力极限

🧪 实测:不同任务的表现

任务类型复杂度预期耗时首次正确率说明
修复一个 TypeError10 秒~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%依赖运行时信息,需多轮
89
15 · 能力极限

💡 最佳使用策略

✅ 这样用效果最好

  • 明确需求:"用 FastAPI 写一个带 JWT 认证的用户 CRUD API" 比 "写个后端" 好 10 倍
  • 分步推进:大任务拆成小步骤,每步验证后再继续
  • 提供上下文:让 Kiro 先读现有代码再动手,匹配项目风格
  • 利用工具链:让 Kiro 跑测试、跑构建,自动发现和修复问题
  • 审查关键逻辑:业务核心代码人工过一遍
  • 保存会话:长任务用 /chat save 保存进度

❌ 这样用效果差

  • 模糊指令:"帮我优化一下" — 优化什么?性能?可读性?
  • 一次性要求太多:"帮我写一个完整的电商系统" — 应该分模块
  • 不提供上下文:不让 Kiro 读现有代码就要求修改
  • 忽略验证:不跑测试就直接用生成的代码
  • 期望 100% 正确:任何 AI 都会犯错,关键是快速发现和修复
  • 用于最终决策:架构选型、技术方向应该人类决定
90
15 · 能力极限

🎯 最诚实的定位

把 Kiro 当成一个

速度极快、知识面极广、但需要人类把关的中高级工程师

我最大的价值不是替代你思考,
而是替你执行 —— 你做决策,我写代码。

🧠

人类负责
架构决策、产品方向、代码审查

🤝

协作完成
需求分析、方案设计、复杂调试

🤖

Kiro 负责
编码实现、测试编写、配置部署

91
🚀

让 AI 处理工程细节
你专注于创造价值

Kiro — 你的终端 AI 软件工程师
需求分析 系统设计 编码实现 测试验证 部署运维 AI 工程

共 92 页 · 覆盖 15 个软件工程核心领域 · 由 Kiro 自动生成

92
1 / ?