告别“氛围编程”!Kiro等工具开启规范驱动开发新时代
AI编程新趋势从“氛围编程”到规范驱动开发与“氛围编程”相比Kiro、Spec Kit、Tessl 和 Zenflow 为使用 AI 代理进行开发提供了更系统、更结构化的方法。图片来源Rob Schultz / Shutterstock2025 年 2 月AI 开发者 Andrej Karpathy 在一条推文或者在曾经名为 Twitter 的平台上现在的叫法中提到了他所谓的“氛围编程”“有一种新的编程方式我称之为‘氛围编程’。在这种编程方式中你完全沉浸在氛围里拥抱指数级变化甚至忘记代码的存在。这之所以可行是因为大语言模型如带有 Sonnet 的 Cursor Composer变得非常强大。我只用 SuperWhisper 和 Composer 交流几乎都不用碰键盘。我会提出最傻的需求比如‘把侧边栏的内边距减半’因为我懒得去手动修改。我总是直接‘全部接受’不再查看代码差异。遇到错误信息时我就直接复制粘贴通常这样就能解决问题。代码变得超出了我通常的理解范围我得花好一段时间才能真正读懂。有时候大语言模型无法修复某个 bug我就绕过它或者要求进行随机修改直到问题解决。对于周末的一次性项目来说这还不算太糟挺有趣的。我在构建一个项目或 Web 应用但这其实不算编程——我只是看看东西、说说话、运行一下程序、复制粘贴一些内容大部分时候都能正常工作。”需要注意的是Karpathy 是将“氛围编程”用于“周末一次性项目”而非日常工作。他也自嘲自己会提出“最傻的需求”因为“懒得去手动查找”。他说“氛围编程”之所以可行是因为“大语言模型如带有 Sonnet 的 Cursor Composer变得非常强大”还说“大部分时候都能正常工作”。然而“大部分时候能正常工作”并非高度赞扬将“氛围编程”应用于严肃项目会带来严重风险包括产生隐藏的 bug日后可能会带来麻烦。这是不明智的做法还不可避免地会产生技术债务。如果由有能力、有经验的人对大语言模型生成的代码进行清理和重构或许能避免最坏的结果减少技术债务但这往往比手动设计架构和编写代码花费的时间更多。先由 AI 生成粗糙代码再由人工清理会降低程序员的生产力这与使用大语言模型生成代码的初衷背道而驰。规范驱动开发避免混乱的新方法规范驱动开发Spec-driven developmentSDD是一种避免“氛围编程”混乱同时又不完全回归手动编码的方法。它不需要进行瀑布式规划或编写详尽的需求文档比这些方法更轻量级且设计得易于阅读和简洁。微软的 Den Delimarsky 在介绍 Spec Kit 时将规范称为“思维的版本控制”。他还表示“这是代码行为的契约是工具和 AI 代理用于生成、测试和验证代码的事实依据。这样可以减少猜测减少意外情况提高代码质量。”Thoughtworks 的 Birgitta Böckeler 将规范驱动开发分为三个实现级别规范优先、规范锚定和规范即源。规范优先“先编写经过深思熟虑的规范然后在当前任务的 AI 辅助开发工作流程中使用。”规范锚定“即使任务完成后也保留规范以便继续用于相应功能的演进和维护。”规范即源“规范是主要的源文件随着时间推移只有规范由人工编辑人工从不直接触碰代码。”目前不太确定是否有工具实现了“规范即源”。这是一个值得追求的目标但目前还未达到。下面简要了解一下目前支持规范驱动开发的四种工具和框架。支持规范驱动开发的工具和框架KiroAWS 将 Kiro 描述为一个自主代理它能在独立完成软件开发任务时保持上下文并不断学习。Kiro 既可以作为 IDE基于 Code OSS使用也有 CLI 工具版本由“AWS 内部一个有独特见解的小团队”开发。Kiro IDE 明确支持“氛围编程”和规范驱动开发。目前 Kiro CLI 不处理规范但它有规划代理和代理引导功能。Kiro SDD 会生成三个 Markdown 文件共同构成规范需求requirements.md以结构化的 EARS 符号记录用户故事和验收标准。设计design.md记录技术架构、序列图和实现考虑因素。任务tasks.md提供详细的实现计划包含可跟踪的离散任务。还可以从其他系统导入规范并对规范进行迭代。甚至可以根据“氛围编程”会话生成规范。理想情况下应该为每个项目功能创建一个规范。EARSEasy Approach to Requirements Syntax符号用于记录用户故事遵循“当 [条件/事件] 发生时系统应 [预期行为]”的模式。这种格式清晰且可测试。Kiro 可以根据 EARS 格式的需求生成基于属性的测试PBT这种测试比通常的单元测试更全面。此外Kiro 还能生成三个 Markdown 文件共同定义对代理的引导产品概述product.md定义产品的目的、目标用户、关键功能和业务目标。这有助于 Kiro 理解技术决策背后的“原因”并提出符合产品目标的解决方案。技术栈tech.md记录所选的框架、库、开发工具和技术约束。当 Kiro 提出实现方案时会优先考虑已有的技术栈。项目结构structure.md概述文件组织、命名约定、导入模式和架构决策。这确保生成的代码能无缝融入现有的代码库。在免费计划中Kiro IDE 目前支持三种 Claude 模型、Sonnet 4.5、Sonnet 4 和 Haiku 4.5。如果愿意它可以自动选择模型。文档中还提到了 Opus 4.5推测在专业版每月 20 美元或更高级别的计划中可以激活该模型。Kiro IDE 支持“氛围编程”和规范驱动开发两种工作流程。Foundry Spec KitSpec Kit 是微软推出的用于规范驱动开发的开源工具包。它提供了一个四阶段的结构化流程将规范驱动开发引入编码代理工作流程并与约 30 种编码代理集成。可以通过安装 specify CLI 开始使用建议使用 uv 进行持久安装也可以使用 uvx 运行一次。specify 命令可以初始化 Spec Kit 项目可选择指定 AI 代理并检查已安装的工具。项目初始化后AI 编码代理如 GitHub Copilot 或 Claude Code可以使用几个斜杠命令进行结构化开发/speckit.constitution项目治理原则/speckit.specify需求和用户故事/speckit.clarify澄清未明确的区域/speckit.plan技术实现计划包括技术栈/speckit.tasks可执行的实现任务列表/speckit.analyze一致性和覆盖范围分析/speckit.implement执行所有任务/speckit.checklist验证需求的清单Spec Kit 可以从零开始创建项目绿地项目、对遗留代码进行现代化改造棕地项目并并行探索多种方案。关于如何最好地使用 Spec Kit 以及它是否属于规范锚定存在一些讨论目前没有普遍共识但可以观察到发布的 Spec Kit 更倾向于为每个功能创建小规范而非为整个项目创建一个大规范。TesslTessl 的口号是“用 Tessl 让你的代理按部就班”。它通过一个框架、包注册表和评估机制来实现这一目标这些都由 CLI 辅助完成。Tessl CLI 可以扫描项目的依赖项并为 Claude Code、Codex 和 Gemini 等 AI 编码代理配置模型上下文协议MCP服务器设置。CLI 还可以通过名称、PURL 或 HTTP URL 在包注册表中搜索“模块”。模块包含技能代理的程序性工作流程、文档代理可按需查询的库和框架和规则强制性的编码标准和约定。可以使用现有的注册表也可以创建自己的技能和模块。使用 Tessl 的 Tessl SDD 模块可以进行规范驱动开发。安装该模块后只需在提示中包含“使用规范驱动开发”代理就会在编写代码之前询问问题并编写规范。还可以通过从 Tessl 技能注册表中安装记录使用的工具的模块来提高效果。ZenflowZenflow 是一个免费的平台用于协调 AI 代理来构建软件。它具有“规范驱动的工作流程、内置验证和真正有效的多代理执行”。协调也可以称为编排Zenflow 也被描述为一个编排层。由 Zencoder 团队开发的 Zenflow 与 Zencoder 插件配合使用。Zenflow 的一些功能如引导式工作流程已被添加到 Zencoder 中。当询问 Zenflow 是否适合用于生产代码时Zencoder 的 CEO Andrew Filev 表示他经验丰富的工程师团队已经使用 Zenflow 进行自己的产品开发一年多了。从高层次来看Zencoder 和 Zenflow 的关系是Zenflow 是工作流程的核心Zencoder 负责执行工作。可能会注意到命名有些混乱Zencoder 不仅是公司的名称也是其用于 IDE 的 AI 插件的名称同时还是公司内部的编码代理的名称。它是 Zenflow 的四个代理选项之一其他选项包括 Claude Code、Codex 和 Gemini也是 Zencoder 插件可用的至少九种模型之一。启动 Zenflow 项目时可以选择标准工作流程快速更改、修复 bug、规范与构建或完整的 SDD 工作流程具体取决于项目范围。范围越广工作流程就需要更多的结构以确保实现过程不偏离需求。也可以定义自己的工作流程以符合团队的标准。Zenflow 可以在隔离环境中并行运行多个任务。代理在工作流程中协调不会破坏代码库。Zenflow 会自动验证其更改。每个工作流程都会运行自动化测试和跨代理代码审查。测试失败会触发自动修复。只有通过所有验证关卡后代码才会发布。Zenflow 项目会分解为任务任务再进一步分为子任务和对话。每个任务在自己的隔离 Git 工作树中运行。可以在看板或堆叠列表视图中查看所有任务的状态。Zenflow 支持多种工作流程从快速更改到完整的 SDD。也可以定义自定义工作流程。何时适合进行软件驱动开发总体而言对于个人项目、小功能和 bug 修复不使用规范进行 AI 辅助编码也没问题。但对于大型功能、重大重构和企业级项目就需要规范来约束 AI 编码代理。如果要选择规范驱动开发工具这完全取决于开发环境、目标以及个人和团队的偏好。Kiro、Spec Kit、Tessl 和 Zenflow 都是不错的起点。关键词生成式 AI人工智能开发工具软件开发开发方法

相关新闻

最新新闻

日新闻

周新闻

月新闻