今天聊一个我觉得特别有意思的话题。我们都知道AI编程工具现在已经很强了,Copilot、Cursor、Claude Code,单个工具的能力其实早就不是瓶颈了。但你有没有发现一个问题——工具之间是断的。需求写完了,得手动交给编码;代码写完了,得手动去跑测试、做发布。中间全是人在当胶水。
对,这其实是现在AI编程最大的痛点。你看单点能力都很强,但串不起来。就好比你有一台顶级洗衣机、一台顶级烘干机、一台顶级熨烫机,但每次洗完衣服你得自己端过去放进烘干机,烘完再端过去熨。累不累?工程化的意思就是——我按一个按钮,衣服从脏到叠好全自动。
哈哈这个比喻好。那今天要拆的这套方案,就是在Claude Code里面,用三个工具串成了一条完整的流水线。能不能先帮大家理清楚,这三个工具分别管什么?
好,很简单,三句话就能说清楚。OpenSpec管需求——写代码之前,先把需求锁死;Superpowers管质量——写代码的过程中,用TDD铁律加Hard Gate把低质量代码拦住;GStack管全流程——从评审到发布,七个阶段全包了。三个工具各管各的层次,但在同一个Claude Code会话里共存,通过斜杠命令自动衔接。
我们一个一个来。OpenSpec这个我特别想聊,因为我见过太多项目,需求没对齐就开始写代码,最后返工返到怀疑人生。
嗯,OpenSpec的核心机制叫DAG产物依赖图。DAG就是有向无环图,听着学术,但原理很直觉。它会依次产出四份文件:Proposal说清楚做什么和为什么做,Specs定义验收标准,Design明确技术选型和架构,Tasks把大需求拆成可执行的小步骤。关键在于——这四份文件之间有严格的先后依赖关系。Proposal是Specs的输入,Specs是Design的输入,Design是Tasks的输入,单向链路,不允许跳步。
这就像Make或者Bazel那种构建工具的依赖解析思路?上游没通过验证,下游根本不会开始。
没错,就是这个意思。你想想,传统开发中最常见的混乱是什么?需求还没定清楚就开始画架构图,架构图还没确认就开始写代码。OpenSpec用DAG依赖把这条路彻底堵死了。这四份文件就是后续所有环节的唯一真相源,需求没锁住,后面的工具根本不会启动。
好,需求锁住了,接下来进入编码阶段。Superpowers是怎么卡质量的?
Superpowers的核心武器是TDD铁律加Hard Gate机制。TDD大家都知道,红绿重构——先写一个会失败的测试,再写最少量的代码让测试通过,最后重构。但Superpowers在这基础上做了工程化强化,它有个东西叫HLAT JT,就是高层验收测试加旅程测试。不光单元逻辑要对,用户的完整操作路径也必须被覆盖。
那Hard Gate具体是怎么拦的?
你可以把Hard Gate理解成嵌入在AI编码会话里的质量门禁。类似于CI管线里SonarQube的质量阈值,但它更激进——不是等你代码提交了再检查,而是在代码生成的瞬间就拦截。每段业务逻辑必须先有测试,测试跑不过就不能往下走。而且铁律只有三个例外:一次性原型代码、自动生成的代码、配置文件。除此之外,没有打折空间。
这个挺狠的。那GStack呢?代码写完之后它怎么接管?
GStack负责从计划到发布的全流程,核心是七阶段Sprint管线。传统敏捷Sprint靠人工站会和看板追踪,GStack把每个阶段的准入准出条件都编码成可执行规则,全自动流转。它还内置了一个Browse引擎,底层是Playwright加Chromium,能用真实浏览器做端到端验收。计划评审、代码审查、QA验收、版本发布,一条龙全包。
听起来三个工具各自都很强,但我更好奇的是它们怎么串起来的。你刚才说有四个自动衔接点?
对,这是整套方案最精妙的地方。第一个衔接点,OpenSpec生成的四份需求文件,直接喂给GStack的Auto Plan模块,GStack会从CEO、工程、设计、开发者体验四个维度做自动评审。这个特别有意思,传统公司里一个功能提案要过产品委员会、技术评审会、设计评审,动不动好几周,GStack把这四个维度编码成自动化规则,几分钟搞定。
有点像Amazon的六页纸备忘录文化,在动手之前强制从多个角度审视。
对,思路一脉相承。第二个衔接点,进入编码阶段后Superpowers的Hard Gate自动激活,不合格的代码直接拦下来。第三个,因为TDD铁律保证了每段代码都有测试覆盖,GStack做Code Review时就有了可靠的质量底线,不是靠人肉检查,而是靠测试结果说话。第四个衔接点特别关键——GStack的SHIP命令发布完成后,会自动触发OpenSpec的Archive操作,把这次迭代的增量规范合入主规范,形成完整闭环。
所以整个流程就是:OpenSpec锁需求,GStack评审,Superpowers卡质量,GStack审查和验收,然后SHIP发布,最后归档回OpenSpec。一条线全自动。
没错。而且这里有个很重要的设计哲学——状态隔离。OpenSpec的产物存在openspec目录,Superpowers的规则存在.clrmd和Skill文件里,GStack的状态存在gstack目录。三套状态互不干扰,就像微服务架构里每个服务有独立的数据存储一样。某个工具配置出错不会污染其他工具,每个工具可以独立升级,出问题也能精确定位。
实际用的时候有没有什么容易踩的坑?
三个大坑。第一,不要设置重复门禁。Superpowers的Hard Gate已经管了设计审批,就别再用GStack的Plan Design Review重复审查同一份文档,双重门禁只会让流程更慢,不会让质量更高。第二,Specs是唯一的需求真相源,它定义做什么,GStack的设计文档描述怎么做,两者不能混。需求变更改Specs,实现方案调整改GStack设计文档,搞混了就会出现需求和实现对不上。第三,SHIP是唯一的发布出口,所有发布必须走SHIP,确保版本号递增、Changelog生成、PR创建一个不落。任何绕过标准管线的手动部署都是风险源。
其实总结下来,这套方案的核心思路不是找一个什么都能干的万能工具,而是让专精工具在同一个工作流里自动协作。
对,一句话概括就是——需求有锁、质量有卡、发布有包,三道防线自动生效。这其实就是Unix哲学在AI编程时代的延续:每个工具做好一件事,通过标准接口串联。对于追求代码质量和交付效率的团队来说,这套基于Claude Code的工具链方案,真的值得花时间认真研究一下。
嗯,我觉得这个方向是对的。AI编程的下一步竞争,可能不在于单点能力有多强,而在于谁能把全流程串得更顺、更自动。今天这个话题就聊到这儿,希望对大家有启发。