news 2026/6/28 13:24:31

大模型编程进入流水线时代-OpenSpec-Superpowers-Comet

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
大模型编程进入流水线时代-OpenSpec-Superpowers-Comet

大模型编程进入流水线时代:OpenSpec × Superpowers × Comet 如何重塑 AI 编程工作流

过去一年,很多开发者已经完成了一个心理转变:AI 不只是能写 demo,它真的可以参与真实项目开发。

你让它写一个接口,它很快;让它修一个 bug,它也能动;让它重构一个模块,它甚至能给出一套看起来很完整的方案。可越往真实项目里走,问题反而越明显:AI 写出来的代码,到底有没有理解需求?有没有遵守设计?有没有覆盖关键风险?这次对话里的判断,下一次还能不能被项目和团队继承?

所以,大模型编程的核心矛盾,已经不再是“AI 会不会写代码”,而是:

我们能不能把一个模糊念头,稳定地转化为可验证、可追溯、可沉淀的软件交付?

这正是 OpenSpec、Superpowers 和 Comet 组合起来最有价值的地方。

简单说:

  • OpenSpec 管 WHAT:定义做什么、为什么做、边界在哪里。
  • Superpowers 管 HOW:强化设计、计划、TDD、执行和审查纪律。
  • Comet 管 FLOW:把二者串成一条可恢复、可守护、可归档的 AI 编程流水线。

一、AI 编程真正失控的,不是代码,而是工作流

很多团队第一次用 AI 编程时,最直观的感受是“快”。一个需求丢进去,AI 很快就能给出实现;一个报错丢进去,AI 很快就能定位原因;一个页面、一个接口、一个脚本,它都能快速产出。

但真实研发里,快只是表层收益。真正危险的地方,往往不是 AI 写不出代码,而是它写得太快,快到需求、设计、验证和知识沉淀都没来得及跟上。

1. 需求对齐失控:人说的是念头,AI 交付的是猜测

人类说“给系统加 API Key 管理”,脑子里想的可能是企业开放平台能力:管理员创建 Key、绑定 scope、轮换、禁用、审计。

但 AI 可能直接写成一个简单 token 表,甚至把明文 Key 存进数据库。代码能跑,接口也能通,可需求已经偏了。

这里的问题不是 AI 不够聪明,而是“为什么做、做什么、不做什么、做到什么程度”没有被结构化定义。没有清晰的 Why、Scope、Non-Goals 和 Scenario,AI 就只能根据经验补全空白,而补全空白,本质上就是替团队做隐性决策。

2. 代码产出黑盒:看到了 diff,却看不到推理链路

AI 可以生成大量代码,也可以补测试。但团队很难判断:它为什么这样设计?有没有遵守关键约束?有没有破坏领域规则?测试覆盖的是 happy path,还是覆盖了真正的风险?

一个接口测试通过,不代表权限边界正确;一个单测通过,不代表并发场景安全;一个功能能跑,也不代表它符合长期架构。

真正让人不安的是,我们看到的是代码结果,却看不到“需求 -> 设计 -> 计划 -> 实现 -> 验证”的完整链路。

3. 知识沉淀缺失:AI 做完了任务,但项目没有变聪明

普通 Chat 编程里,很多关键知识只存在于对话中:为什么采用这个方案,为什么不做另一个方案,哪些边界不能碰,哪些测试证明它已经满足规格。

会话一断,知识就散了。换一个 AI,重新猜;换一个开发者,重新问;过几周再改同一块代码,项目本身并没有变得更聪明。

真正需要沉淀的不是聊天记录,而是工程资产:

  • 需求事实:Why、Scope、Non-Goals、Scenario
  • 设计决策:方案取舍、MUST / MUST NOT、约束来源
  • 执行证据:Plan、测试结果、验证报告、review 结论
  • 长期规格:归档后的主规格,成为后续 AI 的项目事实

一句话总结:好问题定义不是让 AI 更容易回答,而是让 AI 更难跑偏。

二、真实研发现场:为什么普通 Chat 编程越用越不稳

想象一个很常见的企业 SaaS 场景:团队要给开放平台增加 API Key 管理能力。这个需求听起来并不复杂,似乎就是“创建一个 Key,然后用它调用接口”。

如果直接把这句话丢给 AI,它大概率会马上开始写表、写接口、写页面。但真实业务问题远不止这些。

API Key 是否只能展示一次?数据库能不能保存明文?Key 是否需要绑定 scope?禁用后是否立即失效?轮换时旧 Key 怎么处理?谁有权限创建 Key?所有操作是否必须进入审计日志?这件事是否会影响现有登录体系?是否要引入 OAuth?是否要支持第三方应用市场?

这些问题如果没有被提前定义,AI 就会替你做选择。更麻烦的是,它做出的选择不一定会显式告诉你,而是悄悄藏在代码里:明文存储、简单校验、没有审计、没有轮换策略。等到 review 时,你看到的是一堆 diff,而不是一条可追踪的工程链路。

这就是大模型编程在真实项目里的典型困境:

代码不是没写出来,而是写出来之后,团队不知道它是否真的代表正确的业务事实。

三、三者关系:OpenSpec 是规格层,Superpowers 是执行层,Comet 是工作流层

理解 OpenSpec、Superpowers 和 Comet,最重要的是不要把它们看成三个并列工具。它们更像三层能力,各自解决不同层面的问题。

OpenSpec:定义 WHAT,让需求成为工程资产

OpenSpec 关心的是:做什么?为什么做?边界在哪里?哪些场景必须成立?哪些事情明确不做?这次 change 最终如何归档为系统长期规格?

它的典型产物包括:

  • proposal.md
  • design.md
  • tasks.md
  • specs/
  • .openspec.yaml

OpenSpec 的价值不是“多写文档”,而是让需求从一句话变成可审查、可演进、可归档的规格资产。

Superpowers:强化 HOW,让执行变得有纪律

Superpowers 关心的是:怎么设计?怎么拆计划?怎么 TDD?怎么执行?怎么审查?怎么收尾?

它会把粗粒度任务拆成更适合 AI 执行的计划,并要求每一步有文件、有步骤、有验证。这样 AI 不再只是“生成代码”,而是按计划执行,并留下证据。

它的典型产物包括:

  • Design Doc
  • Plan
  • 测试
  • review
  • finish 结果

Comet:组织 FLOW,把两者串成流水线

Comet 关心的是:现在走到哪一步?下一步该调用谁?是否满足推进条件?OpenSpec 的上下文如何交给 Superpowers?验证失败能不能归档?会话断了以后如何恢复?

它的典型产物包括:

  • /comet
  • .comet.yaml
  • guard
  • handoff
  • archive

所以,三者关系可以概括成一句话:

OpenSpec 管 WHAT,Superpowers 管 HOW,Comet 管阶段、交接、守护和归档。

Comet 不是替代 OpenSpec 和 Superpowers,而是把 OpenSpec 的规格生命周期和 Superpowers 的执行纪律,串成一条五阶段自动化流水线:

Open ->Design ->Build ->Verify ->Archive

实际使用时,开发者主要面对的是 Comet。你从/comet <需求描述>开始,Comet 会根据当前状态推进流程,在合适阶段调用 OpenSpec 或 Superpowers 的能力。

这才是它的关键价值:不是再发明一套 AI 编程方法,而是把原本依赖人肉提醒的流程,变成有状态、有守护、有归档的工程机制。

四、原理解析:它们如何解决三个失控问题

前面说了三个问题:需求对齐失控、代码产出黑盒、知识沉淀缺失。对应地,OpenSpec、Superpowers 和 Comet 分别从规格、执行、状态与归档三个层面给出了解法。

1. OpenSpec 解决需求对齐:把一句话变成可验证规格

OpenSpec 的作用,不是让团队多写文档,而是把需求变成可审查的工程资产。

一个健康的 change,不应该只有“实现 API Key 管理”这类一句话,而应该包含 Why、Scope、Non-Goals、Scenario、MUST、MUST NOT。

以 API Key 管理为例,Non-Goals 可以明确写:

  • 不改现有用户登录体系
  • 不引入 OAuth 流程
  • 不做第三方应用市场
  • 不允许 API Key 明文二次查看

Scenario 可以写:

  • 当管理员创建 API Key 时,系统只展示一次明文
  • 当 API Key 被禁用后,后续请求必须失败
  • 当 scope 不包含目标权限时,接口调用必须被拒绝
  • 当 Key 被轮换后,旧 Key 必须失效
  • 所有创建、禁用、轮换操作必须记录审计日志

这样 AI 不再围绕一句自然语言自由发挥,而是围绕可验证规格工作。需求不再是“你理解一下”,而是变成了项目里可以被读取、被审查、被验证的事实。

2. Superpowers 解决代码黑盒:把生成代码变成按计划执行

OpenSpec 的tasks.md往往还是需求视角,比如:

  • 新增 API Key 数据模型
  • 实现 Key 创建接口
  • 实现 scope 校验
  • 补充审计日志
  • 补充测试

这个粒度对需求评审够用,但对 AI 执行还不够。Superpowers 的价值,是把这些任务继续拆成可执行计划,让 AI 从“直接写代码”进入“按步骤实现并验证”的状态。

例如:

  • Task 1:验证 API Key 明文只展示一次
  • Task 2:实现哈希存储,禁止数据库保存明文
  • Task 3:实现 scope 鉴权
  • Task 4:实现禁用和轮换
  • Task 5:补齐审计日志
  • Task 6:运行安全相关测试与回归测试

每一个任务都应该有明确文件、执行步骤、验证命令和结果记录。这样团队看到的不只是代码 diff,还有计划、步骤和验证证据。

3. Comet 解决流程漂移:把“记得做”变成“必须过闸”

Comet 和普通提示词最大的区别,在于它不只靠 AI 记流程,而是把流程状态写下来。

普通提示词只能告诉 AI:“请记住现在是 build 阶段。” Comet 会把这个事实写进.comet.yaml。下一次会话恢复时,/comet不是靠聊天记录猜,而是重新检测 active change,读取状态文件,再判断下一步该做什么。

它会记录的信息包括:

  • 当前 phase
  • build mode
  • verify result
  • branch status
  • archive status
  • plan 路径
  • handoff 上下文
  • verification report

这意味着,如果今天做到 build 阶段,plan 已经生成,但还没选择 branch 还是 worktree,明天继续时,Comet 不会让 AI 直接开始乱改代码,而是根据状态恢复到正确位置。

4. 三者共同解决知识沉淀:让项目本身变聪明

知识沉淀不是把聊天记录保存下来,而是把需求、设计、计划、验证和归档结果变成代码库里的可读资产。

OpenSpec 沉淀的是系统规格。每个 change 产生 proposal、design、tasks 和 delta spec。归档后,delta spec 会合并回主规格,成为后续 AI 和开发者理解系统的长期上下文。

Superpowers 沉淀的是执行证据。它留下设计文档、执行计划、测试结果、review 结论。后续团队不仅知道“改了什么”,还知道“为什么这么改、按什么计划改、如何证明改对了”。

Comet 沉淀的是流程状态和交接关系。它通过.comet.yaml记录阶段与验证结果,通过 handoff 文件完成 OpenSpec 到 Superpowers 的上下文交接,通过 guard 和 archive 机制确保没有验证证据就不能轻易归档。

这一层很关键。因为真正的工程知识,不应该只停留在一次对话里,而应该进入项目本身,成为后续开发和后续 AI 可以继承的长期记忆。

Comet 的本质,是把“记得做”变成“没满足条件就不能往下走”。

五、落地工作流:用 Comet 跑通一个真实 change

第一次接入 Comet,不建议一上来就丢一个庞大系统进去。更稳妥的方式,是挑一个中等复杂度、边界清楚、但确实需要长期沉淀规格的需求。

比如:企业 SaaS 的 API Key 管理。

1. 安装与初始化

可以从 Comet 开始安装:

npminstall-g@rpamis/cometcdyour-project comet init comet doctor comet status

comet init会引导选择 AI 平台、安装范围、语言,并处理 OpenSpec、Superpowers、Comet 相关 skill 的装配。

如果只是通过通用 skills CLI 安装,也可以使用:

npx skillsaddrpamis/comet

但对普通团队来说,第一次更建议从comet init开始。因为你真正要确认的不是 npm 包装上了,而是当前项目里 Comet、OpenSpec、Superpowers 三组 skill 是否都能被你的 Agent 宿主读取。

2. 从/comet输入真实需求

在 Agent 中输入:

/comet 为开放平台增加 API Key 管理能力。 企业管理员可以创建、禁用、轮换 API Key; Key 只能展示一次,数据库只能保存哈希; 每个 Key 需要绑定 scope; 所有创建、禁用、轮换操作必须记录审计日志; 不改现有用户登录体系,不引入新的 OAuth 流程。

这个输入不是越长越好,而是要把关键边界先说清楚。尤其是“不做什么”,往往比“做什么”更能防止 AI 跑偏。

3. Open 阶段:先把需求变成规格

Comet 会进入 OpenSpec 规格阶段。这里不要急着让 AI 写代码,重点看 proposal 是否说清楚 Why、Scope、Non-Goals。

尤其要检查 Non-Goals:

  • 不改登录体系
  • 不引入 OAuth
  • 不做第三方应用市场
  • 不允许 API Key 明文二次查询

Non-Goals 是防止 AI 顺手扩大范围的护栏。如果这一层没有写清楚,后面 AI 很可能把一个 API Key 管理需求,扩展成一套新的认证体系。

4. Design 阶段:把安全约束写成硬规则

设计阶段要把关键约束写成 MUST / MUST NOT,而不是模糊建议。

比如:

  • API Key 明文 MUST 只展示一次
  • 数据库 MUST 只保存哈希
  • Key prefix MAY 用于检索
  • scope MUST 参与鉴权
  • 禁用后的 Key MUST 立即失效
  • 所有创建、禁用、轮换操作 MUST 写入审计日志

设计阶段没定清楚,后面的 TDD 只会把错误方案实现得更认真。尤其是安全、权限、审计、账务这类需求,不能让 AI 自己拍脑袋决定方案。

5. Build 阶段:把任务变成可执行计划

Comet 会把 OpenSpec 的任务交给 Superpowers 的执行纪律。此时 AI 不应该直接“开始实现 API Key 管理”,而应该按计划推进。

一个更健康的执行计划可能是:

  • 先写 Key 创建测试
  • 再写哈希存储测试
  • 再写 scope 越权测试
  • 再写禁用失效测试
  • 再写轮换测试
  • 最后写审计日志测试

每一步都应该有文件、步骤、命令和验证结果。这样一来,开发者 review 的不是一团代码,而是一条可追踪的执行链路。

6. Verify 阶段:不要只看“测试通过”

验证阶段不能只问“测试过了吗”,而要问“规格满足了吗”。

API Key 管理至少要检查:

  • 明文是否无法二次查询
  • 数据库是否没有保存明文
  • 禁用后的 Key 是否立即失效
  • scope 越权是否失败
  • 轮换后旧 Key 是否失效
  • 审计日志是否完整
  • Scenario 是否都有测试映射
  • MUST / MUST NOT 是否被违反
  • OpenSpec verify 是否通过
  • Comet verify report 是否存在

这一步的意义,是把“能跑”提升为“符合规格”。

7. Archive 阶段:把正确事实沉淀进系统

Archive 不只是收尾。它代表这次 change 的 delta spec 要进入系统长期规格。

一旦错误规格被归档,后续 AI 会把它当成项目事实。所以 archive 前应该保留人工确认:

  • 这个 change 是否真的代表系统新事实?
  • 验证证据是否足够?
  • 安全约束是否写进主规格?
  • 后续 AI 是否能据此理解 API Key 管理的边界?

这一步,正是知识沉淀真正发生的地方。不是“代码合了就完了”,而是让这次开发成为项目长期记忆的一部分。

六、边界与不足:流程闭环不等于内容质量足够好

Comet + OpenSpec + Superpowers 很有价值,但它不是银弹。它能显著改善流程问题:需求有规格,执行有计划,验证有证据,归档有状态。

但流程走完,不代表内容天然足够好。

1. 需求质量仍然需要判断

Why 是否真实?有没有识别伪需求?有没有把业务目标和实现手段混在一起?这些问题,工具可以提醒,但不能完全替团队判断。

如果一开始的问题定义就是错的,后面的流程越严谨,越可能把错误需求实现得更完整。

2. 设计质量不能只看形式

设计文档写了,不代表设计就好。DDD 里的聚合、实体、值对象这些形式可以被 AI 写出来,但模型划分是否真的合理,仍然需要领域判断。

尤其是权限、认证、账务、审计、风控这类场景,设计质量要看它是否保护了领域不变量,是否处理了并发、事务、失败重试和回滚。

3. 测试质量不能只看数量

代码覆盖率不等于功能覆盖度。接口测试通过,不代表权限矩阵完整。happy path 通过,不代表异常路径安全。

更好的测试检查,应该关注:

  • Scenario 是否都有测试映射
  • 异常流是否覆盖
  • 权限矩阵是否覆盖
  • 并发路径是否覆盖
  • 关键约束是否有反例测试
  • 回归测试是否能证明旧能力没有被破坏

4. 归档质量决定长期上下文质量

错误代码只是 bug,错误规格会影响未来很多次 AI 判断。

归档前必须确认:这次变更是否真的可以成为系统事实?如果只是为了让当前实现过关而修改规格,那就是把实现偏差包装成长期规则。

所以,下一阶段真正值得做的,不是再堆一层工具,而是给每个环节建立内容质量 rubric:

  • 需求 rubric:Why、Scope、Non-Goals 是否成立
  • 设计 rubric:关键约束、风险、替代方案是否充分
  • 测试 rubric:Scenario、异常流、权限矩阵、覆盖率是否匹配
  • 归档 rubric:这次变更是否真的可以成为长期规格

AI 编程的下半场,不只是自动化流程,而是让流程具备质量判断能力。

七、结语:未来的程序员,是智能研发流水线设计者

大模型编程不是替代程序员,而是重组研发流程。

过去,我们把 AI 当成一个更快的代码生成器;现在,我们需要把 AI 放进需求、设计、开发、测试、归档的完整链路里。

OpenSpec 让需求可定义。 Superpowers 让执行可约束。 Comet 让流程可恢复、可守护、可归档。

三者组合起来,代表的是一种新范式:AI 不再只是聊天窗口里的助手,而是进入工程流水线的协作者。

未来的程序员,不只是写代码的人,而是设计智能研发工作流的人。真正的竞争力,也不只是“谁更会问 AI”,而是谁能把 AI 纳入一套稳定、可验证、可沉淀的工程体系。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/28 13:23:06

Faster-Whisper-GUI:5分钟快速上手的AI语音转文字终极指南

Faster-Whisper-GUI&#xff1a;5分钟快速上手的AI语音转文字终极指南 【免费下载链接】faster-whisper-GUI faster_whisper GUI with PySide6 项目地址: https://gitcode.com/gh_mirrors/fa/faster-whisper-GUI 想要将会议录音、视频内容或语音笔记快速转换为文字吗&am…

作者头像 李华
网站建设 2026/6/28 13:22:03

深入解析USBFS中断机制:BRDY、NRDY、BEMP原理与实战应用

1. 项目概述&#xff1a;USBFS中断机制的核心价值 在嵌入式系统里做USB设备开发&#xff0c;最让人头疼的往往不是协议栈本身&#xff0c;而是如何让数据“流”得顺畅。你肯定遇到过这种情况&#xff1a;主机发数据过来了&#xff0c;你的MCU要么反应不过来导致数据丢失&#x…

作者头像 李华
网站建设 2026/6/28 13:20:41

RA8M1 SCI寄存器深度解析:从UART到LIN的实战配置与优化

1. 项目概述&#xff1a;深入RA8M1 SCI模块的寄存器世界在嵌入式开发领域&#xff0c;尤其是基于瑞萨RA系列这类高性能Arm Cortex-M内核MCU的项目中&#xff0c;串行通信接口&#xff08;SCI&#xff09;往往是连接芯片与外部世界的“咽喉要道”。无论是调试日志输出、传感器数…

作者头像 李华
网站建设 2026/6/28 13:17:44

RA8M1 SPI接收缓冲区满标志(SPRF)详解与驱动开发实战

1. 项目概述在嵌入式开发领域&#xff0c;尤其是与各类传感器、存储芯片或显示模块打交道时&#xff0c;SPI&#xff08;Serial Peripheral Interface&#xff09;几乎是绕不开的通信协议。它简单、高效&#xff0c;但要想让它稳定可靠地跑起来&#xff0c;尤其是在高吞吐量或实…

作者头像 李华
网站建设 2026/6/28 13:15:08

RA8M1 Flash安全机制深度解析:从TrustZone到防回滚的嵌入式实践

1. 项目概述与核心价值在嵌入式开发领域&#xff0c;尤其是涉及物联网、汽车电子或工业控制等对安全性有严苛要求的场景&#xff0c;固件的安全存储与更新不再是“锦上添花”&#xff0c;而是“生死攸关”的底线。想象一下&#xff0c;你的设备在野外运行&#xff0c;固件被恶意…

作者头像 李华