1. 摘要
本报告对亚马逊推出的 Kiro AI 编程工具及其相关的两个重要 GitHub 项目进行了深度研究。jasonkneen/kiro
项目主要为亚马逊 Kiro IDE 提供了一套完整的系统提示和详尽的规范驱动开发指南,旨在帮助开发者更有效地利用 Kiro 进行开发。ghuntley/amazon-kiro.kiro-agent-source-code-analysis
项目则专注于对亚马逊 Kiro 工具的源代码进行深入分析,特别是其核心的 kiro.kiro-agent
扩展,揭示了 Kiro 的内部工作机制。报告详细剖析了这两个项目的定位、内容、结构、社区贡献,并对 Kiro 工具的技术实现、应用场景及未来趋势进行了探讨,旨在为理解 Kiro 及其生态系统提供全面的视角。
2. 亚马逊 Kiro AI 编程工具概述
2.1 Kiro 工具简介
亚马逊云科技 (AWS) 近期推出了其 AI 编程工具 Kiro 的预览版。与传统的「提示词即生成代码」的 AI 编程工具不同,Kiro 采用了更为先进的合作模式,能够在编写任何代码之前与程序员共同定义需求、系统设计和待实现的任务 。Kiro 是一款专为 AI Agent 打造的集成开发环境 (agentic IDE),通过简化的开发体验,帮助开发者高效实现从概念构想到生产部署的全过程。它不仅擅长氛围编程 (vibe programming),还具有强大的多模态交互能力,内置的 AI 智能体可以实时调用知识库、第三方插件及主题工具,根据用户的具体业务场景和技术框架自动生成代码 。
2.2 Kiro 的核心特点
亚马逊 CEO 安迪·杰西 (Andy Jassy) 强调,Kiro 「有机会彻底改变开发者构建软件的方式」。Kiro 区别于传统 AI 编程工具的核心价值在于将开发流程前置至需求定义阶段,而非简单的「接收提示词即生成代码」的单一模式 。Kiro 的多模态交互能力是其最大亮点,内置的 AI Agent 可以实时调用知识库、第三方插件及主题工具,根据用户的具体业务场景和技术框架,自动生成代码 。这种「规范驱动开发」的方法使 Kiro 直接与 GitHub 的智能体模式、谷歌的 Gemini Code Assist 等现有工具形成竞争 。
3. Jason Kneen 的 Kiro 项目 (jasonkneen/kiro) 分析
3.1 项目概况与定位
jasonkneen/kiro
是一个托管在 GitHub 上的开源项目,由开发者 Jason Kneen 创建和维护。根据项目仓库的标题「Complete System Prompts for Kiro IDE by Amazon」 ,该项目的主要定位是提供一套完整的系统提示(System Prompts),旨在辅助或指导亚马逊 Kiro IDE 的使用。项目描述进一步阐明,这是一个关于「规范驱动开发」(Spec-Driven Development)的全面指南,采用三阶段规范流程:需求(Requirements)→ 设计(Design)→ 任务(Tasks)。这表明 jasonkneen/kiro
并非亚马逊官方的 Kiro 项目,而是一个由社区成员发起的,旨在帮助其他开发者更好地理解和使用 Kiro IDE 的辅助性资源。Jason Kneen 作为一名活跃的开源贡献者,其 GitHub 主页显示他还拥有其他项目,例如与 Titanium、Alloy 等移动开发框架相关的项目 ,这暗示了他在开发工具和框架方面拥有一定的经验和背景。虽然 jasonkneen/kiro
项目本身不直接提供 AI 编程功能,但它通过提供详细的规范和提示策略,间接支持了 Kiro IDE 的 AI 辅助编程能力。
3.2 项目内容:Kiro IDE 的完整系统提示与规范驱动开发指南
jasonkneen/kiro
项目的核心内容围绕「规范驱动开发」(Spec-Driven Development)展开,并提供了详细的指南和资源来支持这一开发模式 。该项目强调使用三阶段规范流程:需求(Requirements) → 设计(Design) → 任务(Tasks)。项目文档结构清晰,包含了方法论介绍、流程指南、AI 推理、提示策略、执行指南、资源、示例和模板等多个部分,旨在为开发者提供从理论到实践的全面指导 。
具体来说,项目内容涵盖了:
- 方法论 (Methodology):解释了规范驱动开发的核心概念、优势、哲学以及适用场景,帮助开发者理解这种开发模式的价值和原理 。
- 流程指南 (Process Guide):详细介绍了规范驱动的三阶段工作流程,包括需求收集与结构化(使用 EARS 方法)、设计文档创建以及将设计分解为可执行的任务。此外,还提供了工作流程图和决策点说明 。
- AI 推理 (AI Reasoning):深入探讨了 AI 在规范驱动开发中的决策框架和思考过程,包括如何评估选择、进行分析和优先级排序,并提供了真实的推理链和决策点示例 。
- 提示策略 (Prompting Strategies):提供了与 AI 协作的有效沟通技巧,包括核心提示方法、现成的提示模式模板以及清晰有效沟通的最佳实践 。
- 执行指南 (Execution Guide):提供了从规范到功能实现的实践指导,包括分步执行策略、测试与验证技术以及常见问题排查和解决方案 。
- 资源 (Resources):汇集了相关的标准(如 EARS)、推荐工具和集成,以及进一步学习的参考资料 。
- 示例 (Examples):展示了真实世界的案例研究和完整的规范示例,包括简单功能规范和复杂系统规范,以及成功经验和常见陷阱 。
- 模板 (Templates):提供了可直接使用的模板和检查清单,如 EARS 格式的需求模板、全面的设计结构模板和任务规划模板 。
该项目还提供了便捷的导航指南,根据用户对规范驱动开发的熟悉程度(新手、准备创建第一个规范、寻找示例或模板、与 AI 协作)提供了不同的入口点,并提供了完整的导航索引,方便用户按角色、问题或学习风格查找内容 。这种结构化的内容组织和详尽的指南,使得 jasonkneen/kiro
项目成为了解和使用亚马逊 Kiro IDE 进行规范驱动开发的重要辅助资源。
3.3 项目结构与文档推测
基于对 jasonkneen/kiro
GitHub 仓库页面的初步分析 ,可以推测其项目结构主要围绕文档和指南组织。仓库的根目录下包含了 README.md
文件,作为项目的主要介绍和导航入口。此外,还包含 LICENSE
文件(MIT 许可证)以及一些 Markdown 文档,如 codebase.md
和 validation-report.md
,这些文件名暗示了其内容可能与代码库规范和验证报告相关 。项目还包含几个子目录:
.kiro
: 该目录通常用于存放 Kiro IDE 相关的配置文件或特定于 Kiro 的元数据。在jasonkneen/kiro
项目中,此目录下标记为 “Steering docs”,表明可能包含指导 Kiro Agent 行为的文档或配置 。commands
: 此目录同样标记为 “Steering docs”,可能包含与 Kiro IDE 中可执行命令相关的文档或提示模板 。spec-process-guide
: 该目录的名称直接点明了其内容核心,即「规范流程指南」。这应该是存放详细规范驱动开发方法论文档的地方,包括需求、设计、任务等各个阶段的详细说明、模板和示例 。
从 Jason Kneen 的其他项目(如 UTiL,一个 Titanium (Alloy) 的实用脚本集合)来看,他通常注重清晰的文档结构和示例代码,以帮助开发者理解和使用其工具 。因此,可以合理推测 jasonkneen/kiro
项目也会遵循类似的风格,提供结构清晰、易于理解的文档和指南,帮助开发者掌握在 Kiro IDE 中进行规范驱动开发的方法。项目 README 中提供的导航链接,如「Methodology Overview」、「Process Guide」、「Examples & Case Studies」、「Ready-to-Use Templates」以及「Prompting Strategies」,进一步说明了其文档的组织方式和内容的丰富性 。
3.4 社区贡献与活跃度推测
jasonkneen/kiro
项目在 GitHub 上显示了一定的社区参与度。截至分析时,该项目获得了 149 个星标(Stars)和 59 个复刻(Forks)。这些数据表明项目在一定程度上引起了开发者社区的关注和认可。项目仓库中列出了 2 个公开的议题(Issues)和 2 个拉取请求(Pull requests),这反映了社区成员参与到项目讨论和改进中的可能性。提交历史显示,项目在 2025 年 7 月有多次提交记录,例如最新的提交信息为「Steering docs」 ,表明项目在近期仍在积极维护和更新。主要贡献者 Jason Kneen 在 2025 年 7 月 17 日和 18 日有多次提交,涉及更新链接、创建 LICENSE、添加规范流程指南相关文档等 。从 Jason Kneen 的其他项目(如 jasonkneen/ti-i18n
)来看,他通常会对自己的项目进行持续的维护 。考虑到 jasonkneen/kiro
项目与亚马逊 Kiro IDE 这一新兴且备受关注的 AI 编程工具相关,其潜在的社区影响力可能会随着 Kiro IDE 的普及而逐渐增加。项目提供的规范驱动开发指南和系统提示,对于希望学习和掌握 Kiro IDE 的开发者来说,具有实际的应用价值,这可能吸引更多开发者关注、使用并参与到项目的贡献中。
4. GHuntley 的 Amazon-Kiro 分析项目 (ghuntley/amazon-kiro.kiro-agent-source-code-analysis)
4.1 项目定位:亚马逊 Kiro 工具源代码分析
ghuntley/amazon-kiro.kiro-agent-source-code-analysis
项目由 Geoffrey Huntley 创建,其明确目标是分析和研究亚马逊 Kiro AI 编程工具的源代码 。根据项目名称和 Geoffrey Huntley 在其个人博客 ghuntley.com
上发布的相关文章《source code analysis of Amazon Kiro》,该项目的核心定位是深入探究 Kiro 工具的内部实现机制,特别是其 AI 代理(agent)组件的源代码,即 kiro.kiro-agent
这个 Visual Studio Code 扩展 。Geoffrey Huntley 在博客文章中明确指出,Kiro 的核心是 Visual Studio Code 的一个分支,并捆绑了一个名为 kiro.kiro-agent
的扩展 。这表明该分析项目将重点关注这个扩展及其如何与底层的 VS Code 框架集成,以及如何实现 Kiro 宣称的 AI 辅助编程功能。项目旨在为其他开发者提供一个理解 Kiro 工作原理的窗口,可能包括其多模态交互能力、规范驱动开发流程的底层支持、AI 模型的使用方式等。通过公开源代码分析,该项目可能帮助开发者学习如何构建类似的 AI 编程辅助工具,或者为现有工具的开发提供借鉴。
4.2 项目内容:Kiro 代理 (kiro.kiro-agent) 的深入分析
ghuntley/amazon-kiro.kiro-agent-source-code-analysis
项目的内容主要集中在亚马逊 Kiro 工具的 AI 代理组件 kiro.kiro-agent
上。根据 Geoffrey Huntley 的博客文章和 GitHub 仓库片段 ,Kiro 本质上是一个 Visual Studio Code 的分支(基于 2024 年 9 月的 VS Code 1.94 版本),其核心 AI 功能通过一个名为 kiro.kiro-agent
的扩展实现。该分析项目致力于深入研究这个扩展的源代码,揭示其内部工作机制。Geoffrey Huntley 在博客中设定了一个任务:「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」 。这表明项目的产出将是一个详细的 README.md
文件,其中会包含对 kiro.kiro-agent
扩展的全面剖析。
核心架构与技术栈:
分析指出 Kiro 的核心是 Visual Studio Code 的一个分支,并内置了 kiro.kiro-agent
扩展 。该扩展本身采用了 monorepo 架构,包含 11 个专门的包,例如 @amzn/codewhisperer-runtime
(用于 AWS CodeWhisperer 集成)、continuedev/*
(核心 AI 聊天功能)、kiro-shared
(共享工具和类型)、kiricons
(图标系统)等 。主要的扩展入口点是 dist/extension.js
,激活生命周期清晰,并注册了 52 个命令以实现与 VS Code 的全面集成 。
AI/LLM 集成:
项目详细列出了 Kiro 支持的 AI 模型和提供商,包括 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 。分析还涉及模型配置,包括模型特定的提示模板、提供者特定的格式化以及通过 streamComplete()
方法实现的实时响应流 。
提示工程系统 (Prompt Engineering System):
这是分析的重点之一。项目详细解析了 Kiro 的基础系统提示 (getBasePrompt()
), 该提示定义了 Kiro 的身份、能力、规则、回答风格、系统信息和核心功能(如自主模式、聊天上下文、引导、规范、钩子、MCP)。基础系统提示的完整文本可以在 prompts/system-prompt.md
中找到 。此外,还分析了针对不同 AI 模型的编辑提示模板(如 gpt-edit.md
, claude-edit.md
等超过 14 种),以及用于规范生成工作流的专门提示(如需求澄清、设计文档创建、实施计划、任务执行、钩子创建)。意图分类系统(IntentClassifier
)也受到关注,它使用复杂的提示工程进行意图识别,并采用本地规则、LLM 或混合方法进行分类 。
规范系统 (Specification System):
分析涵盖了规范生成流程,包括需求澄清(自然语言需求收集)、设计文档创建(技术规范生成)、实施计划(任务分解和计划)和任务执行(逐步实施)。文件组织方面,规范文档存放在 .kiro/specs/
,代理指导文档在 .kiro/steering/
,自动化钩子定义在 .hooks/
。项目还特别强调了需求澄清阶段的具体约束,例如必须创建 requirements.md
文件,必须基于用户初步想法直接生成需求文档,文档格式要求(功能简介、分层编号的需求条目、EARS 格式的验收标准),以及迭代修改和明确批准机制 。
钩子系统 (Hook System):
分析了钩子的类型,包括文件编辑、创建、删除触发器,用户手动触发器,警报钩子和询问代理钩子 。并给出了钩子配置的 JSON schema 示例,展示了如何通过事件触发代理执行特定任务,例如当 JavaScript 文件被编辑时,自动请求代理审查潜在问题 。
配置系统 (Configuration System):
详细说明了扩展的核心配置选项,如 kiroAgent.enableDevMode
、kiroAgent.trustedCommands
、kiroAgent.autoApproveAgentCommands
和 kiroAgent.configureMCP
。MCP 服务器配置(位于 .kiro/settings/mcp.json
)也得到了解析,包括服务器定义、命令、参数、环境变量、禁用状态和自动批准设置 。还提及了环境特定的设置,如开发与生产环境的区分、CI/CD 管道集成、调试日志配置和性能优化设置 。
工具系统 (Tool System):
列举了内置的系统工具,包括文件系统操作(读、写、追加、删除文件)、开发工具(执行 shell 命令、列出目录、文件搜索、grep 搜索、字符串替换)。同时分析了 MCP(Model Context Protocol)集成,允许动态发现外部工具并通过 ToolMCPWrapper
执行,以及 MCP 服务器的生命周期管理和自动批准设置 。
用户界面 (User Interface):
描述了基于 React 18 和 Tailwind CSS 的 Webview 架构,以及通过 VS Code Webview API 进行通信。主要的 UI 组件包括聊天界面、规范浏览器、钩子编辑器和引导浏览器 。还提到了自定义编辑器,如聊天上下文查看器、测试规范编辑器、钩子配置编辑器和引导文档编辑器,以及内置的主题系统和响应式设计支持 。
核心功能说明 (Key Kiro Features):
详细解释了自主模式(Autopilot 和 Supervised)、聊天上下文(可引用文件、文件夹、图像、问题、终端、Git Diff、整个代码库)、引导(Steering,通过 .kiro/steering/*.md
文件为代理注入持久上下文,如团队标准、项目信息、构建/测试方法)、规范(Specs,结构化构建和记录功能)和 MCP(Model Context Protocol,连接外部工具和服务)。
通过对这些方面的深入剖析,ghuntley/amazon-kiro.kiro-agent-source-code-analysis
项目为开发者理解 Kiro 的强大功能和复杂实现提供了宝贵的资源。
4.3 社区参与度推测
关于 ghuntley/amazon-kiro.kiro-agent-source-code-analysis
项目的具体社区参与度,虽然缺乏直接的统计数据(如 GitHub 星标、fork 数量),但可以从其内容和相关性进行推测。该项目直接针对亚马逊新推出的、备受关注的 Kiro AI 编程工具进行源代码级别的深度分析 。这类技术深度剖析项目,尤其是针对热门新兴技术,通常会吸引大量希望理解其内部机制、学习其设计理念或进行二次开发的开发者、研究人员和技术爱好者的关注。
Geoffrey Huntley 的个人博客和社交媒体(如 Bluesky)上均有对该项目的宣传和讨论 ,这有助于提升项目的知名度。稀土掘金、mbgsec.com 等第三方技术博客也引用了该项目并对其分析内容进行了介绍 ,进一步扩大了其影响力。即刻等社区也有用户分享和讨论该项目中挖掘出的 Kiro 系统提示词 。这些迹象表明,该项目在技术社区中已经产生了一定的影响。考虑到 Kiro 工具的创新性和亚马逊的品牌效应,以及 Geoffrey Huntley 在技术分析领域的声誉,可以推测 ghuntley/amazon-kiro.kiro-agent-source-code-analysis
项目会吸引相当数量的星标和 fork。开发者们可能会利用该项目作为学习 Kiro 内部工作原理的参考资料,或者基于其分析结果进行相关的技术讨论和实验。如果项目持续更新,并能够引发更多关于 Kiro 设计哲学和实现细节的深入探讨,其社区活跃度有望进一步提升。
5. 两个项目的比较分析
为了更清晰地理解 jasonkneen/kiro
和 ghuntley/amazon-kiro.kiro-agent-source-code-analysis
这两个项目,下表对它们进行了对比:
特性 | 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 工具本身 |
社区贡献推测 | 文档完善、示例补充、使用经验分享 | 技术讨论、分析补充、潜在的错误修正或分析工具贡献 |
Table 1: jasonkneen/kiro
与 ghuntley/amazon-kiro.kiro-agent-source-code-analysis
项目对比
5.1 技术定位对比
jasonkneen/kiro
项目在技术定位上更偏向于应用层和最佳实践的分享。它不直接参与 Kiro 工具本身的构建或修改,而是专注于如何更好地使用 Kiro IDE,特别是其规范驱动开发功能。该项目提供的系统提示和开发指南,旨在帮助开发者更高效地与 Kiro AI 代理协作,提升开发流程的规范性和代码质量。其技术内容主要围绕软件工程方法论、提示工程以及与特定 IDE 功能的交互。
相比之下,ghuntley/amazon-kiro.kiro-agent-source-code-analysis
项目的技术定位则深入到 Kiro 工具的底层实现。它致力于对 Kiro 的源代码进行逆向工程和分析,揭示其架构设计、AI 模型集成方式、核心组件(如 kiro.kiro-agent
扩展)的工作原理等。这个项目更偏向于研究性和技术探索,为那些希望理解 Kiro 内部机制、学习其设计理念,甚至进行二次开发或构建类似工具的技术人员提供宝贵的参考。
5.2 开发理念对比
jasonkneen/kiro
项目的开发理念体现了实用主义和社区驱动的文档建设。它通过提供结构化的指南和现成的模板,降低了开发者学习和使用 Kiro IDE 进行规范驱动开发的门槛。Jason Kneen 似乎希望通过这个项目,将自己对 Kiro 工具的理解和使用经验分享给社区,帮助更多人受益于这种新的开发模式。这种理念强调知识的传播和最佳实践的普及,旨在提升整个开发者社区的生产力。
ghuntley/amazon-kiro.kiro-agent-source-code-analysis
项目的开发理念则更侧重于技术透明度和深度探究。Geoffrey Huntley 通过公开源代码分析,试图揭开 Kiro 这款备受关注的 AI 编程工具的神秘面纱。这种理念认为,通过深入理解工具的底层实现,开发者可以更有效地评估其能力边界、潜在风险,并从中学习到有价值的技术见解。它鼓励对复杂系统进行拆解和分析,以推动技术的进步和创新。
5.3 社区影响力对比
jasonkneen/kiro
项目的社区影响力主要体现在为 Kiro IDE 用户提供一个学习和交流的平台。随着 Kiro IDE 的推广,该项目提供的指南和提示词对于新手和有经验的用户都具有实际价值。其影响力将随着 Kiro 用户群体的扩大而增长,并可能形成一个围绕 Kiro 最佳实践和高级用法的知识共享社区。其贡献形式可能更多是文档改进、案例分享和问题讨论。
ghuntley/amazon-kiro.kiro-agent-source-code-analysis
项目则可能在更广泛的技术社区,特别是对 AI 编程工具底层技术感兴趣的开发者中产生较大影响。由于其内容的深度和专业性,该项目可能成为研究 Kiro 技术内幕的重要参考资料。其影响力不仅在于帮助开发者理解 Kiro,更在于推动整个 AI 编程辅助工具领域的技术讨论和知识积累。社区贡献可能包括对分析报告的补充、技术细节的辩论,甚至基于分析结果开发相关的工具或插件。
6. Kiro 项目的技术实现分析
6.1 多模态交互机制
Kiro 的核心优势之一在于其强大的多模态交互能力。这意味着 Kiro 不仅仅能处理文本提示,还能理解和利用多种形式的信息来辅助开发。根据 Geoffrey Huntley 的分析,Kiro 可以处理包括文件、代码库、文档、图像、仓库地图、git diff、终端输出、当前问题、URL 以及通过 MCP 服务器连接的外部文档等多种输入格式 。这种能力使得 Kiro 能够构建对项目的全面理解,从而实现更精准的上下文感知编码辅助和规范开发。例如,开发者可以向 Kiro 展示一张 UI 设计草图,Kiro 可以结合草图和对现有代码库的理解来生成相应的前端代码。或者,开发者可以提供一段错误日志,Kiro 可以分析日志并结合相关代码片段来帮助定位和修复问题。这种多模态交互机制极大地扩展了开发者与 AI 工具的沟通方式,使得协作更加自然和高效。
6.2 AI 代理架构
Kiro 的 AI 代理架构是其实现复杂开发任务自动化的核心。Kiro 内置的 AI 代理(主要通过 kiro.kiro-agent
扩展实现)能够根据用户的指示和项目上下文,自主或半自主地执行一系列开发操作。这些代理不仅仅是代码生成器,更像是能够理解需求、制定计划、执行任务并与开发者交互的智能助手。Geoffrey Huntley 的分析揭示了 Kiro 代理的一些关键特性,例如其自主模式(Autopilot 和 Supervised),允许开发者选择代理的自动化程度 。代理还能够管理复杂的聊天上下文,引用项目中的各种元素,如文件、文件夹、图像、问题、终端输出等 。此外,Kiro 的代理架构还支持引导规则(Steering),允许开发者通过特定文件为代理注入持久的上下文信息,如团队标准、项目特定信息等,从而定制代理的行为 。这种代理驱动的架构使得 Kiro 能够处理从需求澄清到代码实现、测试和文档更新的端到端开发任务。
6.3 开发工作流集成:规范驱动开发 (Spec-Driven Development)
亚马逊 Kiro 工具的一个核心特点是其深度集成的「规范驱动开发」(Spec-Driven Development)模式 。这种模式旨在将开发流程前置,在编写实际代码之前,通过与 AI 代理的协作,共同定义需求、系统设计和待实现的任务 。Kiro 的规范驱动开发流程通常被表述为一个多阶段的过程,旨在将模糊的自然语言想法转化为结构化的、可执行的开发蓝图。
根据多个来源的描述 ,Kiro 的规范驱动开发流程主要包含以下关键步骤:
- 需求澄清 (Requirements Clarification):开发者首先通过自然语言描述他们想要实现的功能。Kiro 的 AI 代理会基于这些初步想法,自动生成一份详细的需求文档。这份文档通常采用 EARS(Easy Approach to Requirements Syntax,需求语法的简易方法)格式,包含用户故事、验收标准,并会主动考虑边界情况和用户体验 。Kiro 会与开发者迭代修正需求文档,直到获得明确批准 。
- 技术设计 (Technical Design / Design Document Creation):在需求确定之后,Kiro 会基于需求文档和现有的代码库(如果存在),自动生成技术设计文档。这份文档可能包括数据流图、TypeScript 接口、数据库架构设计、API 端点定义等 。
- 任务执行 (Task Execution / Implementation Planning):基于技术设计文档,Kiro 会将整个功能实现分解为一系列详细的任务和子任务。这些任务会按照依赖关系进行正确排序,并链接到相应的需求 。每个任务通常会包含具体的实现细节,例如需要编写的单元测试、集成测试、加载状态处理、移动端适配、无障碍访问要求等 。
Kiro 通过其 Specs 系统来管理这些规范文档,通常包括 requirements.md
、design.md
和 tasks.md
这三个核心的 Markdown 文件 。这些文档不仅是开发的起点,也是在整个开发生命周期中持续演进的「活文档」。开发者可以通过编写代码来更新文档,也可以通过修改文档来刷新任务,从而解决传统开发中常见的「文档过时」问题 。这种端到端的、以规范为核心的工作流集成,是 Kiro 区别于其他仅侧重于代码生成的 AI 编程工具的关键特征。
6.4 Kiro 核心组件:基于 VS Code 的 fork 与 kiro.kiro-agent 扩展
亚马逊 Kiro 作为一个集成开发环境 (IDE),其核心技术实现基于对现有成熟 IDE 的改造和扩展。根据 Geoffrey Huntley 的源代码分析,Kiro 的核心是 Visual Studio Code 的一个分支(fork)。具体来说,这个分支是基于 2024 年 9 月发布的 VS Code 1.94 版本构建的 。选择基于 VS Code 进行开发,使得 Kiro 能够继承 VS Code 强大的编辑器功能、广泛的语言支持、丰富的扩展生态系统以及用户熟悉的界面和操作方式。
Kiro 的一个关键内置组件是名为 kiro.kiro-agent
的 Visual Studio Code 扩展 。这个扩展是实现 Kiro AI 编程辅助功能的核心载体,集成了 AI 模型交互、规范驱动开发流程管理、多模态上下文感知、自动化钩子等一系列高级功能。kiro.kiro-agent
扩展本身采用了 monorepo 架构,包含了多个内部包,分别负责不同的功能模块,例如与 AWS CodeWhisperer 的集成 (@amzn/codewhisperer-runtime
)、核心 AI 聊天功能 (continuedev/*
)、共享的工具和类型 (kiro-shared
)、图标系统 (kiricons
) 等 。该扩展通过 VS Code 的扩展机制集成到 Kiro IDE 中,并注册了大量的命令(约 52 个)以实现与 IDE 的深度集成和交互 。Kiro 使用了 OpenVSX 来尝试解决 VS Code 生态系统可能存在的碎片化问题,尽管这可能会给使用 C++、.NET 和 Python 等语言的开发者带来一些已知的挑战 。
7. Kiro 项目的应用场景
7.1 企业开发场景
Kiro 工具在企业开发环境中具有广泛的应用潜力。它可以帮助企业开发团队提高开发效率,减少代码错误,并促进团队协作。通过 Kiro,开发团队可以在项目开始前就共同定义需求和系统设计,确保所有成员对项目有统一的理解 。Kiro 的「规范驱动开发」模式特别适合大型复杂项目,因为它强调在编码前进行充分的规划和设计,这有助于降低项目风险,确保最终产品符合预期。此外,Kiro 的多模态交互能力和对多种 AI 模型的支持,使其能够适应企业复杂的技术栈和多样化的开发需求。企业还可以利用 Kiro 的引导规则(Steering)功能,将内部的编码规范、安全策略和最佳实践注入到 AI 代理的行为中,从而确保生成的代码符合企业标准。
7.2 创业公司场景
对于创业公司而言,Kiro 工具可以帮助有限的开发资源实现更多的功能。通过自动化代码生成和需求定义,创业公司可以更快地将产品推向市场,缩短开发周期 。Kiro 的「规范驱动开发」方法特别适合资源有限的创业公司,因为它允许非技术人员也能更清晰地表达需求,并参与到早期的系统设计讨论中,而不仅仅是依赖开发人员。这种协作模式可以提高创业公司的整体开发效率和产品迭代速度。Kiro 能够将模糊的想法快速转化为结构化的需求和可执行的任务,这对于需要快速验证商业模式和产品方向的初创企业来说至关重要。此外,Kiro 提供的从需求到部署的全流程辅助,可以帮助创业团队在人员较少的情况下,依然保持较高的开发质量和效率。
7.3 教育培训场景
Kiro 工具也可以在编程教育和培训中发挥重要作用。通过提供直观的代码生成和需求定义界面,Kiro 可以帮助编程初学者更快地理解和掌握编程概念 。学生可以通过与 Kiro 的交互,学习如何将自然语言描述的需求转化为结构化的技术规范和代码。Kiro 的规范驱动开发流程本身也是一种很好的教学工具,可以帮助学生建立良好的软件开发习惯,理解需求分析、系统设计和任务分解的重要性。此外,Kiro 的多模态交互能力可以为编程教育提供新的教学方法,例如,学生可以通过绘制界面草图或描述业务逻辑来生成代码,使学习过程更加互动和有趣。教师也可以利用 Kiro 来快速生成教学示例或练习题,从而提高教学效率。
8. Kiro 项目的未来发展趋势
8.1 技术演进方向
Kiro 作为一款创新的 AI 编程工具,未来可能会在以下几个技术方向继续演进:
- 增强多模态交互能力:进一步提高 Kiro 理解和执行复杂开发任务的能力,使其能够处理更广泛的开发场景,例如更精准地理解设计稿、更智能地分析日志和性能数据。
- 集成更多开发工具和框架:扩展 Kiro 对不同编程语言、框架和开发环境的支持,使其成为更全面的开发辅助工具,并更好地融入现有的开发工具链。
- 改进 AI 代理的智能性和自主性:通过不断优化底层 AI 模型和代理算法,提高 Kiro 生成代码的质量和准确性,使其能够更独立地完成复杂的开发任务,减少人工干预的需求。
- 增强团队协作和知识管理功能:提供更多功能支持多人协作开发,例如共享规范、协同编辑、版本控制集成等,并帮助团队更好地管理和复用开发知识。
- 个性化和可定制性:允许开发者更深度地定制 Kiro 的行为和偏好,使其能够更好地适应不同开发者的编码风格和项目需求。
8.2 市场竞争格局
Kiro 将面临来自多个竞争对手的挑战,AI 编程辅助工具市场正在迅速发展且竞争激烈。主要的竞争对手包括:
- GitHub Copilot 及其潜在的智能体模式:GitHub Copilot 拥有庞大的用户基础,并且微软也在积极探索更高级的 AI 辅助编程功能 。
- 谷歌的 Gemini Code Assist 及其他 AI 编程工具:谷歌凭借其在 AI 领域的强大实力,也在积极布局 AI 编程辅助市场 。
- 其他大型科技公司和初创企业推出的 AI 编程工具:市场上还有许多其他有竞争力的 AI 编程辅助工具,它们可能在特定功能或细分领域具有优势。
- 亚马逊自身的其他编程工具:例如 Amazon CodeWhisperer,虽然定位可能有所不同,但也存在一定的内部竞争或协同关系 。
Kiro 需要通过持续的技术创新、提升用户体验、构建强大的生态系统以及有效的市场策略,才能在激烈的市场竞争中保持优势。其「规范驱动开发」的理念和强大的多模态交互能力是其差异化竞争的关键。
8.3 开源社区贡献
开源社区对 Kiro 项目及其相关生态系统的发展将起到至关重要的作用。虽然 Kiro 本身是亚马逊的商业产品,但其成功离不开一个活跃的开发者社区。
- 辅助工具和指南的贡献:像
jasonkneen/kiro
这样的项目,通过提供系统提示和开发指南,可以帮助更多开发者上手和使用 Kiro,提升 Kiro 的整体价值。 - 技术分析和理解的深化:像
ghuntley/amazon-kiro.kiro-agent-source-code-analysis
这样的分析项目,有助于社区更深入地理解 Kiro 的技术原理,从而推动相关技术的发展和创新。 - 插件和扩展的开发:如果 Kiro 提供相应的扩展机制,开源社区可以贡献各种插件和扩展,来增强 Kiro 的功能,使其支持更多的语言、框架和工具。
- 反馈和改进建议:开发者社区的反馈是产品迭代和改进的重要来源。用户在实际使用中遇到的问题和建议,可以帮助亚马逊不断完善 Kiro。
- 知识共享和最佳实践的传播:开源社区是知识共享的重要平台,开发者可以分享使用 Kiro 的经验、技巧和最佳实践,促进整个社区水平的提升。
一个繁荣的开源社区生态系统,将极大地推动 Kiro 这类 AI 编程工具的普及和发展,最终惠及所有开发者。
9. 结论
本报告通过对亚马逊 Kiro AI 编程工具及其相关的两个 GitHub 项目——jasonkneen/kiro
和 ghuntley/amazon-kiro.kiro-agent-source-code-analysis
——的深度研究,揭示了 Kiro 作为一款创新性 AI 编程工具的核心理念、技术实现、应用潜力及未来发展趋势。
jasonkneen/kiro
项目通过提供详尽的系统提示和规范驱动开发指南,扮演了 Kiro IDE 优秀辅助资源的角色,旨在帮助开发者更高效地利用 Kiro 进行结构化开发。而 ghuntley/amazon-kiro.kiro-agent-source-code-analysis
项目则通过对 Kiro 源代码的深入剖析,为技术社区理解 Kiro 的内部工作机制、AI 代理架构以及多模态交互等核心技术提供了宝贵的 insights。
Kiro 工具本身以其「规范驱动开发」为核心,强调在编码前进行充分的需求定义、系统设计和任务规划,这代表了 AI 辅助编程领域的一个重要发展方向。 其基于 VS Code 的 fork 和核心的 kiro.kiro-agent
扩展,结合强大的多模态交互能力和 AI 代理架构,使其能够提供从概念到代码的全流程支持。
Kiro 在企业开发、创业公司以及教育培训等多个场景都具有广泛的应用前景。 未来,随着技术的不断演进和市场竞争的加剧,Kiro 需要持续创新,并积极拥抱开源社区的贡献,才能在 AI 编程辅助工具领域保持领先地位,并真正实现「彻底改变开发者构建软件的方式」的愿景。