在 AI 编程工具领域,开发者已经习惯了两种主流的交互模式。第一种是“对话问答模式”,用户通过与 AI 对话来沟通项目需求和获取代码片段,这种模式在 Cursor 、Cline 等工具中很常见,但其缺点在于上下文理解可能出现偏差,且难以处理复杂的工程任务。第二种是“Agent 模式”,用户下达一个明确指令,AI 自主拆解并执行一系列子任务,期间需要用户不断确认,这种模式虽然强大,但过程的不可控性有时会带来风险。
近期,一款名为 Kiro 的 AI 编程 IDE 引入了一种名为 Spec
的新模式,其核心理念是:“先计划,再构建”。在正式编码前,Kiro
强制要求先与用户共同创建详细的需求和设计文档。这种方法论试图从根本上解决 AI 编程中因需求模糊而导致代码质量不佳的问题。
Kiro Spec 模式的工程化流程
以下将通过一个实际项目,逐步展示 Kiro
Spec
模式在软件开发中的具体流程和思路。
第一步:构建需求文档 (requirements.md)
当开发者向 Kiro
提出一个初始需求后,它并不会立刻开始编写代码。Kiro
首先会在项目主目录下创建一个名为 ~/.kiro/specs/项目名称
的文件夹。接着,它会分析当前项目的结构和功能,并基于初始需求进行思考和扩展,将这些思考结果结构化地整理成一份名为 requirements.md
的需求文档。
这份文档会被存放在上述路径中,供开发者审查、修改和确认。文档内容通常包含了 Kiro
对原始需求的理解、拆分和细化,形成多个明确的需求点。这一步骤确保了开发者与 AI 在项目范围和目标上达成共识,避免了后期因理解不一致而造成的返工。
第二步:构建设计文档 (design.md)
在需求文档得到确认后,流程进入第二步。Kiro
会基于 requirements.md
中的内容,自动生成一份技术层面的设计文档 design.md
。
这份设计文档相当于一个初步的技术开发方案。它会规划出项目的模块划分、关键函数定义、数据结构、API 接口设计等。通过这份文档,开发者可以评估 AI 提出的技术方案是否可行、高效,并有机会在编码开始前进行调整。这种前置的设计环节,有助于保证项目架构的合理性。
第三步:构建任务列表 (task.md)
设计文档确认后,Kiro
会将其转化为一份具体的执行计划,即 task.md
文件。
这个文件本质上是一个任务清单 (Todo List),详细列出了 Kiro
接下来要执行的每一个具体动作,例如“创建 main.py
文件”、“实现 calculate_sum
函数”、“添加错误处理逻辑”等。任务列表的透明化,让开发者能清晰地预知 AI 的每一步操作,从而对整个编码过程建立起控制感和信任感。
第四步:任务执行与反馈
在开发者对 task.md
中的计划进行最终确认后,Kiro
便会严格按照这份清单开始执行编码工作。
在执行过程中,Kiro
会实时向用户反馈任务进度,例如哪项任务已完成,当前正在执行哪一项。这种确定性的工作流,与传统 Agent
模式在执行中可能出现的“黑盒”状态形成了鲜明对比,Spec
模式下的每一次代码生成都基于事先确认的、清晰的文档和计划,极大地提升了最终交付代码的准确性和可靠性。