Kiro 项目
深度研究报告

探索亚马逊Kiro AI编程工具及其生态系统的技术深度、应用场景与未来展望

研究摘要

本报告深入研究了亚马逊推出的Kiro AI编程工具及其相关的两个重要GitHub项目。 jasonkneen/kiro项目主要提供系统提示和规范驱动开发指南, 而ghuntley/amazon-kiro.kiro-agent-source-code-analysis 项目则专注于Kiro工具的源代码深度分析,揭示了其内部工作机制。

149
jasonkneen/kiro
GitHub星标
59
jasonkneen/kiro
复刻数量
11
Kiro代理扩展
内部包数量
52
Kiro扩展
注册命令数

核心特性

多模态交互能力
规范驱动开发
AI代理架构
基于VS Code扩展

亚马逊Kiro AI编程工具概述

工具简介

亚马逊云科技(AWS)近期推出了其AI编程工具Kiro的预览版。与传统的"提示词即生成代码"的AI编程工具不同, Kiro采用了更为先进的合作模式,能够在编写任何代码之前与程序员共同定义需求、系统设计和待实现的任务 [2]

Kiro是一款专为AI Agent打造的集成开发环境(agentic IDE),通过简化的开发体验, 帮助开发者高效实现从概念构想到生产部署的全过程 [3]

AI编程助手在IDE中工作的界面
"Kiro有机会彻底改变开发者构建软件的方式"

— 亚马逊CEO 安迪·杰西(Andy Jassy)

核心特点

合作模式

将开发流程前置至需求定义阶段,而非简单的"接收提示词即生成代码"的单一模式 [43]

多模态交互

内置的AI Agent可以实时调用知识库、第三方插件及主题工具,根据具体业务场景和技术框架自动生成代码 [55]

Jason Kneen的Kiro项目分析

jasonkneen/kiro

Complete System Prompts for Kiro IDE by Amazon

149
Stars
59
Forks
2
Open Issues

该项目的主要定位是提供一套完整的系统提示(System Prompts),旨在辅助或指导亚马逊Kiro IDE的使用。 这是一个关于"规范驱动开发"(Spec-Driven Development)的全面指南,采用三阶段规范流程: 需求(Requirements)→ 设计(Design)→ 任务(Tasks) [20]

项目内容结构

方法论 (Methodology)

规范驱动开发的核心概念、优势、哲学以及适用场景

流程指南 (Process Guide)

三阶段工作流程:需求收集与结构化、设计文档创建、任务分解

AI 推理 (AI Reasoning)

AI在规范驱动开发中的决策框架和思考过程

技术特点

提示策略

提供与AI协作的有效沟通技巧,包括核心提示方法和模板

执行指南

从规范到功能实现的实践指导,包括测试与验证技术

模板资源

提供可直接使用的模板和检查清单,如EARS格式需求模板

GHuntley的Amazon-Kiro分析项目

ghuntley/amazon-kiro.kiro-agent-source-code-analysis

Source Code Analysis of Amazon Kiro's kiro-agent Extension

该项目由Geoffrey Huntley创建,其明确目标是分析和研究亚马逊Kiro AI编程工具的源代码。 根据项目名称和Geoffrey Huntley在其个人博客上发布的相关文章,该项目的核心定位是深入探究Kiro工具的内部实现机制, 特别是其AI代理(agent)组件的源代码,即kiro.kiro-agent这个Visual Studio Code扩展 [23]

分析任务目标

"Study the source code in this folder. Your task is to create an extensive writeup about this visual studio code extension Include all tools, system prompts, and configuration options, and anything else of interest. Use as many subagents as possible. Write the writeup as README.md"

核心架构与技术栈

基础架构
  • • 基于Visual Studio Code 1.94版本的分支
  • • 核心AI功能通过kiro.kiro-agent扩展实现
  • • 采用monorepo架构,包含11个专门的包
  • • 注册了52个命令以实现与VS Code的全面集成
AI/LLM集成
支持的模型:
  • • OpenAI: GPT-3.5-turbo, GPT-4, GPT-4o (128K token)
  • • Anthropic: Claude 3.5 Sonnet, Claude 3 Opus/Sonnet/Haiku (200K token)
  • • 其他: AWS Bedrock, Ollama, Mistral, Gemini, Amazon Q Developer

主要系统组件

提示工程系统

基础系统提示定义Kiro的身份、能力、规则和核心功能

  • • 基础系统提示 (getBasePrompt())
  • • 模型特定编辑提示模板
  • • 意图分类系统 (IntentClassifier)
规范系统

规范生成流程:需求澄清、设计文档创建、实施计划、任务执行

  • • 文件组织: .kiro/specs/
  • • 代理指导: .kiro/steering/
  • • 自动化钩子: .hooks/
钩子系统

事件驱动的自动化任务执行机制

  • • 文件编辑、创建、删除触发器
  • • 用户手动触发器
  • • 警报钩子和询问代理钩子

两个项目的比较分析

特性 jasonkneen/kiro ghuntley/amazon-kiro.kiro-agent-source-code-analysis
项目定位 为亚马逊Kiro IDE提供完整的系统提示和规范驱动开发指南 对亚马逊Kiro工具的源代码进行深入分析,特别是kiro.kiro-agent扩展
核心内容 规范驱动开发方法论、三阶段规范流程、AI推理、提示策略、示例与模板 Kiro核心架构、AI/LLM集成、提示工程系统、规范系统、钩子系统、配置系统、UI分析
目标用户 希望学习和高效使用Kiro IDE进行规范驱动开发的开发者 希望理解Kiro内部工作原理、研究AI编程工具架构的技术人员
产出形式 文档、指南、Markdown文件、模板 源代码分析报告、详细的README.md、分析脚本或工具
与Kiro关系 辅助性资源,补充Kiro IDE的使用 研究性项目,剖析Kiro工具本身
社区贡献 文档完善、示例补充、使用经验分享 技术讨论、分析补充、潜在的错误修正或分析工具贡献

技术定位对比

jasonkneen/kiro

更偏向于应用层和最佳实践的分享。不直接参与Kiro工具本身的构建或修改, 而是专注于如何更好地使用Kiro IDE,特别是其规范驱动开发功能。 技术内容主要围绕软件工程方法论、提示工程以及与特定IDE功能的交互。

ghuntley/amazon-kiro

深入到Kiro工具的底层实现。致力于对Kiro的源代码进行逆向工程和分析, 揭示其架构设计、AI模型集成方式、核心组件的工作原理等。 更偏向于研究性和技术探索。

Kiro项目的技术实现分析

多模态交互机制

Kiro的核心优势之一在于其强大的多模态交互能力。这意味着Kiro不仅仅能处理文本提示, 还能理解和利用多种形式的信息来辅助开发。根据Geoffrey Huntley的分析, Kiro可以处理包括多种输入格式:

文件
代码库
图像
终端输出
AI编程工具的多模态交互界面

AI代理架构

Kiro的AI代理架构是其实现复杂开发任务自动化的核心。Kiro内置的AI代理(主要通过kiro.kiro-agent扩展实现) 能够根据用户的指示和项目上下文,自主或半自主地执行一系列开发操作。

自主模式

Autopilot和Supervised模式,允许开发者选择代理的自动化程度

聊天上下文

引用项目中的各种元素:文件、文件夹、图像、问题、终端输出等

引导规则

通过特定文件为代理注入持久的上下文信息,定制代理行为

规范驱动开发工作流

graph TD A["自然语言需求描述"] --> B["需求澄清"] B --> C["生成需求文档
requirements.md"] C --> D["技术设计"] D --> E["生成设计文档
design.md"] E --> F["任务分解"] F --> G["生成任务列表
tasks.md"] G --> H["代码实现"] H --> I["测试验证"] I --> J["部署上线"] style A fill:#f0fdfa,stroke:#0d9488,stroke-width:3px,color:#134e4a style B fill:#ccfbf1,stroke:#0d9488,stroke-width:2px,color:#134e4a style C fill:#99f6e4,stroke:#0d9488,stroke-width:2px,color:#134e4a style D fill:#ccfbf1,stroke:#0d9488,stroke-width:2px,color:#134e4a style E fill:#99f6e4,stroke:#0d9488,stroke-width:2px,color:#134e4a style F fill:#ccfbf1,stroke:#0d9488,stroke-width:2px,color:#134e4a style G fill:#99f6e4,stroke:#0d9488,stroke-width:2px,color:#134e4a style H fill:#5eead4,stroke:#0d9488,stroke-width:2px,color:#134e4a style I fill:#2dd4bf,stroke:#0d9488,stroke-width:2px,color:#134e4a style J fill:#14b8a6,stroke:#0d9488,stroke-width:3px,color:#134e4a

1. 需求澄清

开发者通过自然语言描述功能需求,Kiro的AI代理会自动生成详细的需求文档, 采用EARS格式,包含用户故事、验收标准,并考虑边界情况和用户体验 [113]

2. 技术设计

基于需求文档和现有代码库,Kiro自动生成技术设计文档, 包括数据流图、TypeScript接口、数据库架构设计、API端点定义等 [115]

3. 任务执行

基于技术设计文档,Kiro将功能实现分解为详细的任务和子任务, 按照依赖关系排序,包含单元测试、集成测试等具体实现细节 [113]

核心组件架构

基于VS Code的fork

  • • 基于VS Code 1.94版本(2024年9月)构建
  • • 继承了VS Code强大的编辑器功能和生态系统
  • • 使用OpenVSX解决扩展生态系统碎片化问题
  • • 保持用户熟悉的界面和操作方式

kiro.kiro-agent扩展

  • • 采用monorepo架构,包含11个内部包
  • • 注册了52个命令实现深度集成
  • • 核心包:@amzn/codewhisperer-runtime, continuedev/*, kiro-shared
  • • 完整的扩展生命周期管理和激活机制

Kiro项目的应用场景

企业开发场景

提高开发效率

帮助大型团队统一理解需求,降低沟通成本

标准化开发

通过引导规则注入企业编码规范和最佳实践

促进协作

规范驱动开发确保团队成员对项目有统一理解

"Kiro可以帮助企业开发团队在项目开始前就共同定义需求和系统设计, 确保所有成员对项目有统一的理解" [42]

创业公司场景

快速迭代

自动化代码生成帮助创业公司更快推出产品

降低门槛

允许非技术人员参与需求定义和系统设计

节约资源

有限的开发资源可以实现更多功能

"通过自动化代码生成和需求定义,创业公司可以更快地将产品推向市场, 缩短开发周期" [43]

教育培训场景

直观学习

帮助学生理解如何将需求转化为代码

互动教学

多模态交互能力提供新的教学方法

提升效率

教师可快速生成教学示例和练习题

"通过提供直观的代码生成和需求定义界面,Kiro可以帮助编程初学者 更快地理解和掌握编程概念" [55]

结论

本报告通过对亚马逊Kiro AI编程工具及其相关的两个GitHub项目的深度研究, 揭示了Kiro作为一款创新性AI编程工具的核心理念、技术实现、应用潜力及未来发展趋势。

关键发现

  • jasonkneen/kiro项目通过提供详尽的系统提示和规范驱动开发指南, 扮演了Kiro IDE优秀辅助资源的角色
  • ghuntley/amazon-kiro项目通过对Kiro源代码的深入剖析, 为技术社区理解Kiro的内部工作机制提供了宝贵见解
  • • Kiro的"规范驱动开发"理念代表了AI辅助编程领域的重要发展方向

技术亮点

  • • 基于VS Code的fork和核心kiro.kiro-agent扩展架构
  • • 强大的多模态交互能力和AI代理架构
  • • 从概念到代码的全流程支持能力
  • • 在企业开发、创业公司和教育培训等多个场景的广泛应用前景

未来展望

随着技术的不断演进和市场竞争的加剧,Kiro需要持续创新,并积极拥抱开源社区的贡献, 才能在AI编程辅助工具领域保持领先地位,并真正实现"彻底改变开发者构建软件的方式"的愿景。 一个繁荣的开源社区生态系统,将极大地推动Kiro这类AI编程工具的普及和发展,最终惠及所有开发者。

"Kiro有机会彻底改变开发者构建软件的方式"

— 亚马逊CEO 安迪·杰西(Andy Jassy)