全网都在吹 OpenSpec我却劝你先冷静先写规范再写代码正在杀死快速原型【免费下载链接】OpenSpecSpec-driven development (SDD) for AI coding assistants.项目地址: https://gitcode.com/GitHub_Trending/op/OpenSpec过去半年SDDSpec-Driven Development从一个学术词汇变成了一条技术热搜。OpenSpec 的星标数一路冲到 6 万量级社区里OpenSpec Claude Code 全自动开发的教程一篇接一篇有团队宣称双引擎赋能 AI 编程也有人拿它和 Superpowers 反复对比说AI 编程从原型级跃迁到工业级。打开 CSDN一篇《OpenSpec 详解》浏览量过万掘金上相关文章的阅读量动辄几万。风口是真的但我建议你先把节奏放慢十秒。因为这套叙事里藏着一个被刻意绕开的矛盾先写规范再写代码的每一步都在向原型期收取时间税。这篇文章不打算唱反调而是想把这个工具的真实成本结构拆给你看——它适合什么战场、不适合什么战场以及哪些团队现在上车就是给自己上刑。一、先弄清楚 OpenSpec 到底在解决什么问题OpenSpec 对自己的定位只有一句话让 AI 编码助手做对的事。它的核心机制并不复杂你在 docs/overview.md 里五分钟就能读完整个心智模型——五个词agree first, then build confidently先达成一致再放心构建。具体到工程形态是两套命令体系docs/how-commands-work.md终端侧的openspecCLI负责初始化、校验、归档AI 对话侧的/opsx:*斜杠命令/opsx:explore想清楚、/opsx:propose出规划、/opsx:apply写代码、/opsx:archive归档。每个变更会落成一整套规划产物proposal.md为什么做、specs/增量规范做什么、design.md怎么做、tasks.md任务清单。这套契约被硬编码在 schemas/spec-driven/schema.yaml 里proposal → specs → design → tasks 层层依赖最后才允许进入 apply。整个仓库自己也是这么运转的openspec/specs/下已经沉淀了 36 个领域规范openspec/changes/archive/里躺着 85 个已归档变更当前还有 28 个变更在途——它确实做到了用 OpenSpec 开发 OpenSpec。问题恰恰出在这里这套机制的收益和它的成本一样显著。它解决的痛点是真实存在的——AI 会自信地写出错误的东西需求只活在聊天窗口里几轮对话后上下文漂移代码越改越乱。把约定前置到文件里让每次变更可审查、可追溯、可恢复这是它值 6 万星的原因。但请注意官方文档从头到尾都在反复承认同一件事它不是免费的。docs/overview.md 原话是Plain truth: OpenSpec adds a step. You write a short plan before building.说白了OpenSpec 多了一个步骤你得在写代码前先写一份计划。docs/faq.md 也承认For a one-character typo fix, the ceremony probably isnt worth it.改一个字符的拼写错误这套仪式大概率不值得。风越大越要看清一个工具解决什么问题、不解决什么问题是两件截然不同的事。二、原型期被规范化拖慢的真实代价现在我们把镜头对准最不该用它的场景快速原型。代价不是抽象的流程繁琐而是可量化的几笔账。第一笔账产出的契约税。在 OpenSpec 里规范的格式不是随便写写。看 schemas/spec-driven/schema.yaml 的 specs 指令那是一条条硬规则需求描述必须用 SHALL/MUST 规范性词汇场景必须恰好用 4 个#的#### Scenario:头用 3 个#或列表就会静默失败每个需求至少一个场景ADDED 需求的描述正文被限制在 500 字符以内新能力必须写 50 字符以上的## Purpose否则--strict校验直接判定不合格。AI 帮你起草这些没问题但你作为人在回路里必须逐条审查它们——因为审查才是这套体系防止 AI 跑偏的机制。第二笔账验证链路上的来回。原型期的核心诉求是先跑起来看效果。而 OpenSpec 的标准循环是 explore → propose → apply → archive每一步之间都有一个人工审视的断点docs/getting-started.md。规范写得不合格式openspec validate会拦你场景缺失会拦你连规范没写够都会拦你。对一个只想验证这个暗色模式方案视觉上好不好看的探索来说这些拦截全部是负资产。第三笔账规范本身会腐烂。这是最隐蔽、也最反直觉的成本。OpenSpec 团队的仓库里有一个现成的反面教材openspec/changes/warn-on-purpose-placeholder/proposal.md记录了一个真实事故——归档时自动写入的TBD - created by archiving change...占位符因为恰好有 91 个字符、超过了50 字符太短的校验线导致一条本该被抓住的没写 Purpose竟然通过了严格校验。团队为此开了一个 issue编号 #369这个占位符问题在仓库里躺了七个月才被处理。注意这是 OpenSpec 自己、用 OpenSpec 维护自己仓库时发生的事。规范一旦沉淀就需要持续维护原型期你根本不会有这个预算而没人维护的规范比没有规范更危险——它会变成一份看起来很权威、实际已过期的谎言。第四笔账Token 与上下文。官方文档反复强调保持干净的上下文窗口以获得更好的结果并推荐 Codex 5.5、Opus 4.7 这类高推理能力模型docs/faq.md。这意味着每跑一轮流程你都要为规范文本、校验输出、规划产物支付大模型的上下文预算。对验证假设的原型阶段来说这笔钱花得极其冤枉——你本来只需要一页草稿和五分钟的对话。把这四笔账加在一起你会得到一个反直觉的结论OpenSpec 的主场恰恰不是快速试错而是慢速做对。它的设计目标从第一天起就是 brownfield-first棕地优先——docs/existing-projects.md 里写得很清楚You do not document your whole codebase to start. You write specs only for what youre about to change.你不需要先文档化整个代码库只为将要改动的东西写规范。增量 Delta 机制、归档合并、可追溯变更这些都是为长命系统准备的不是为下个月可能就扔掉的实验代码准备的。三、什么样的团队现在不该上 OpenSpec如果上面这些让你觉得OpenSpec 就是个拖后腿的东西那我也要纠正一下它只是用错了战场。判断你该不该现在上车与其看社区热度不如对照下面这几条。命中任意一条我建议你推迟到更合适的时机1. 你正在做原型 / Spike / 技术验证。目标是用最少代码回答一个假设是否成立。此时规范的价值密度极低而流程的每一步都在稀释你的探索速度。先用手写代码和一次性脚本把假设验证掉等它转正成长期功能的那一天再补规范也不迟——这甚至更符合 docs/existing-projects.md 的规范由真实变更驱动原则。2. 你还没有稳定的方向。需求每天变、方案每周推翻。OpenSpec 自己都承认它的流程是enablers, not gatesdocs/overview.md但前提是你知道自己要往哪走。在方向未定的阶段探索的成本最低方式是一段对话而不是一整套变更产物。官方推荐的/opsx:explore正是为fuzzy idea设计的——而它同样在 docs/explore.md 里坦白For work you genuinely understand already, that extra step is pure overhead, and you should skip it.对已经真正理解的工作多出来的这一步是纯开销你应该跳过它。3. 你的 AI 模型推理能力不足。这套流程把写规范这件事外包给了 AI而规范质量直接决定后续所有代码的质量。低推理能力模型写出来的场景往往空洞、格式不合规你被迫陷入帮 AI 修规范的循环比直接写代码更慢。开源社区里不少翻车案例根因不是 OpenSpec 不好而是模型扛不住既写规范又守格式的双重任务。4. 你的团队没有审查纪律。规范和代码双向同步、人在回路、变更审查——这些是 OpenSpec 的价值所在也是它的前提。团队若没有改代码必改规范、归档前必验证的习惯这套体系会迅速退化成为了过 CI 而填格式的仪式规范写了一堆代码早跑偏了。而 openspec/config.yaml 里那套 context 注入和 rules 配置只有在团队真正读它、用它的时候才有意义。5. 你只需要一次小改动。改个文案、修个拼写、调个配置项。docs/faq.md 的官方建议就是the ceremony probably isnt worth it——该跳过就跳过。Schema 里也专门留了skip_specs: true的逃生通道给纯重构、工具、文档类变更schemas/spec-driven/schema.yaml但逃生通道意味着你已经为识别这次不需要走流程付出了判断成本。反过来说什么团队现在应该上中大型长期维护项目、多仓库协同、需要跨团队共享需求契约的团队——规范在多人协作里从约束变成资产或者你已经饱受AI 几轮对话后忘了最初需求之苦的团队。OpenSpec 在这些人手里是提效杠杆在原型团队手里只是负重。把 OpenSpec 留给它擅长的战场这个仓库的 Dashboard 图见下把它的整个体系摊开给你看规范、变更、归档、校验一条完整的治理链路。这套治理链路的真实价值在代码即将活过三年以上的时候才体现出来。那时候你会庆幸每一个行为都有规范可查、每一段历史都有提案可追溯。但在它被狂热追捧的今天我更想提醒你一句被所有教程跳过的话规范驱动的收益函数在做对这件事上的边际回报是递增的在做快这件事上是负的。聪明的用法不是全面拥抱 SDD而是给开发流程做一次分诊明确当前工作属于探索还是交付。探索期放开手让代码自己长出来一旦它被确认值得长期存活再把它装进 OpenSpec 的框架里补上规范与归档——那时你会发现棕地优先的增量设计让补课的成本远低于你的想象。先写规范再写代码杀死的从来不是原型而是那些把原型误当成交付、却又没有规范维护预算的团队。别让你的项目成为下一个。【免费下载链接】OpenSpecSpec-driven development (SDD) for AI coding assistants.项目地址: https://gitcode.com/GitHub_Trending/op/OpenSpec创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考