Kiro Spec工作流的启示
这套工作流是亚马逊为其 Kiro IDE 设计的一套软件工程最佳实践,旨在将模糊的开发想法(Vibe Coding)变得规范、可控。:一个优秀的思想、一个结构化的方法论,其价值远超任何特定工具。总而言之,这篇文章不仅介绍了一个工具,更是揭示了一种先进的、可移植的、与 AI 深度协同的软件开发哲学。,让它变成一个遵循严格软件工程规范的“项目经理”,然后再由这个“项目经理AI”去指导“程序员AI”完成
https://mp.weixin.qq.com/s/VF5oVLVB1Vs5rpveHD0ZuA
遵循MECE原则,我将从以下几个方面为你拆解、分析并提供实践建议:
- 核心概念:Kiro 的 “Spec” 工作流是什么?
- 核心矛盾:理想的 “Spec” 与现实的 Kiro 平台之间的差距。
- 解决方案:如何通过“流程移植”来解决矛盾?
- 实践成果:移植后的实际效果和产出是什么?
- 本质与启发:这件事的本质是什么?我们能学到什么并如何实践?
1. 核心概念:Kiro 的 “Spec” 工作流
这套工作流是亚马逊为其 Kiro IDE 设计的一套软件工程最佳实践,旨在将模糊的开发想法(Vibe Coding)变得规范、可控。
-
本质隐喻:它就像为软件开发项目立了一部“宪法”。在动工之前,不是直接去砌墙(写代码),而是先明确权利法案(需求),然后设计建筑蓝图(设计),最后制定施工步骤(任务规划)。
-
核心原则:
- 关注点分离 (Separation of Concerns):强制将一个大问题拆解成三个独立且专注的阶段。
需求阶段:只关心“做什么” (What)。产出requirements.md。设计阶段:只关心“怎么做” (How)。产出design.md。规划阶段:只关心“如何一步步实现” (How to implement)。产出tasks.md。
- 用户主导 (User in Control):在每个阶段结束后,AI 必须停下,请求用户审核批准,确保 AI 不会偏离轨道。
- 关注点分离 (Separation of Concerns):强制将一个大问题拆解成三个独立且专注的阶段。
-
一个非常关键的细节:第三阶段产出的
tasks.md,其读者不是人类开发者,而是另一个负责代码生成的 LLM。这本质上是一系列写给 AI 的、高度具体的指令(Prompts)。
2. 核心矛盾:理想工作流 vs. 现实平台
文章指出了 Kiro IDE 当前存在的巨大鸿沟,导致其精妙的 “Spec” 工作流难以发挥全部潜力。
- 理想:一个无缝、智能、上下文感知极强的开发流程。
- 现实:
- 无法联网:现代开发离开文档和第三方库几乎寸步难行。
- 上下文限制:"最要命的"问题。Spec 这种长流程恰恰需要强大的上下文记忆能力,而 Kiro 在这方面有缺陷。
- 功能不完善:产品处于早期阶段,如同“设计精美但没装好引擎的跑车”。
3. 解决方案:“流程移植”的智慧
作者没有停留在抱怨工具的不足,而是提出了一个极具创造性和实践性的解决方案。
- 契机:有人在 GitHub 上“开源”了 Spec 工作流背后的 System Prompt(系统提示词)。
- 核心思想:既然 Kiro 这个“身体”有缺陷,但其“大脑”(Spec 的思想和 System Prompt)是顶级的,那么为什么不把这个“大脑”移植到一个更强壮的“身体”里呢?
- 选择的“新身体”:Claude Code。
- **为什么是 Claude Code?**因为它恰好能弥补 Kiro 的所有短板:
- 更强的 AI 能力。
- 更长的上下文窗口。
- 更完善的工具链和文件操作能力。
这个解决方案的本质是将方法论与工具解耦,认识到优秀思想的普适性。
4. 实践成果:一个完整的 HITL Agent 开发案例
作者通过一个实际项目验证了“流程移植”的可行性和威力。
- 输入:一个简单的需求——“创建一个商业文档撰写的 HITL Agent”。
- 过程:在 Claude Code 中部署 Spec 的 System Prompt,然后遵循“需求 -> 设计 -> 规划”三步走。
- 输出(非常惊人):
requirements.md(102行): 详尽的需求文档。design.md(299行): 包含架构图、技术选型的设计文档。tasks.md(190行): 分解成44个具体步骤的、给 AI 看的编码任务清单。business_doc_agent.py(387行) +requirements.txt: 一个功能完整、一键交付的 Python 应用。
这个成果雄辩地证明了,顶级的工作流范式 + 强大的 AI 执行平台 = 极高的开发效率和质量。
5. 本质、启发与下一步实践
这玩意儿的本质是什么?
本质上,这是“元编程”思想在 AI 时代的应用。
传统的元编程是我们写代码来生成或操作其他的代码。这里的 “Spec” System Prompt,就是一种更高维度的“元提示词” (Meta-Prompt)。你不是直接告诉 AI “写一个XX功能的代码”,而是先用一个强大的 Prompt “编程”AI 的行为模式,让它变成一个遵循严格软件工程规范的“项目经理”,然后再由这个“项目经理AI”去指导“程序员AI”完成具体编码任务。
这篇文章给我们带来的启发和下一步实践建议:
-
1. 思想重于工具:一个优秀的思想、一个结构化的方法论,其价值远超任何特定工具。当工具不顺手时,思考是否能将其核心思想迁移到更适合的平台。
-
2. System Prompt 是 AI 的“操作系统”:我们应该投入更多精力去设计和打磨 System Prompt。一个好的 System Prompt 能将一个通用 LLM “调教”成特定领域的专家。这是未来 AI 应用开发的核心竞争力之一。
-
3. 将你的工作流“代码化”:
- 批判性思考:反思一下你日常工作、学习、解决问题的流程。它能被拆解成独立的、有序的步骤吗?
- 动手实践:尝试为你自己的某个重复性任务(比如学习一篇技术论文、分析一份财报、写一个新功能的代码)设计一个“Spec”式的 System Prompt。
- 示例:为“学习新技术”设计一个Prompt
# System Prompt: 技术学习与实践助理 ## 阶段一:概念理解 (What & Why) 1. 当我给你一个新技术名词时,首先用一个生动的类比来解释它的核心思想。 2. 然后,遵循MECE原则,拆解出它的主要组成部分和关键特性。 3. 最后,总结它解决了什么核心问题,以及它的主要应用场景。 4. 等待我的确认后,进入下一阶段。 ## 阶段二:设计实践方案 (How) 1. 基于我对该技术的兴趣点,设计一个最小可行性项目(Hello World 的升华版)。 2. 列出实现这个项目所需要的环境、依赖和关键代码片段。 3. 提供官方文档或核心教程的链接。 4. 等待我的确认后,进入下一阶段。 ## 阶段三:任务分解 (Step-by-step) 1. 将项目实践分解成不超过5个核心步骤。 2. 每个步骤都必须是具体、可执行的指令。 3. 引导我完成第一步。
-
4. 拥抱“人机协同”的未来:这篇文章完美展示了人类智慧与 AI 能力的结合点。人类负责提出愿景、把握方向、进行最终决策(审批),而 AI 负责将愿景具体化、结构化,并执行繁重的落地工作。
总而言之,这篇文章不仅介绍了一个工具,更是揭示了一种先进的、可移植的、与 AI 深度协同的软件开发哲学。其核心价值在于结构化思维和质量控制,这对于任何渴望将想法高效、高质量地转化为现实的创造者都极具启发。
更多推荐


所有评论(0)