用 AI 写代码,碰到过两种情况:做出来的不是你要的;它说做完了,你一跑还是不对。

前一种,需求在你脑子里,AI 只拿到一句话,剩下的只能猜。

后一种,「做完了」是它自己判断的,测试也是它自己写的。

视频里我用 OpenSpec 和 Superpowers 搭了个最小的开发循环,各管一件事。

视频:B站 · AI 写代码总跑偏?用 OpenSpec 和 Superpowers 搭一个最小的开发循环 · YouTube

视频里聊了什么
#

1、规格驱动开发(01:45)
#

  • 告警发到哪、阈值怎么定、正好 80 度报不报,我没说,AI 只能猜。
  • 我的做法是写代码前先写规格:为什么做、做什么、做到什么样才算对。
  • 「做到什么样」用具体场景写,比如输入 81.2 报警,输入 80 不报警。

2、OpenSpec(04:10)
#

  • /opsx:propose 生成提案、规格、设计、任务四个文档,然后停下等你看,不写代码。
  • 演示先用 /opsx:explore 聊,AI 问了:告警发到哪、阈值写死还是参数、80 度算不算。
  • 我的回答进了规格,成了四个场景:81.2 报,80.1 报,80.0 不报,23.5 不报。

3、测试驱动开发(08:18)
#

  • 先写代码再补测试,代码错了测试跟着错,全过说明不了什么。
  • 所以倒过来:先写测试,看它失败,再写刚好让它通过的代码。
  • 测试先失败,才说明它真在测东西。做没做完看测试,不听 AI 怎么说。

4、Superpowers(09:53)
#

  • Superpowers 是一组 skill,到该用时自己触发。
  • 它先写计划:把 OpenSpec 的任务清单拆细,每个任务先写测试、看失败,再写代码、看通过。
  • 再按计划做:每个任务派一个子代理做、一个审,最后整体审一遍。

5、两个怎么接(14:35)
#

  • 两边官方文档都没写怎么一起用,这是我自己的接法。
  • 先用 OpenSpec 规划,再让 Superpowers 写计划、做实现,最后回 OpenSpec 核对、归档。
  • 实现只交给一边,我选了 Superpowers。两份清单不自动同步,演示里核对就报出六项任务一项没勾。

6、解决了什么(16:45)
#

  • 要猜的地方,比如 80 度算不算超温,写进规格、写成场景。
  • 做没做完,看测试,先失败再通过。
  • 这只是最小的循环,放进项目还要补,我后来整理成了流程 SDFlow。

我的做法
#

  1. 写代码前,先把 AI 要猜的地方写成带具体场景的规格。
  2. 做没做完看测试,先让测试失败,再让它通过。
  3. 做什么交给 OpenSpec,怎么做对交给 Superpowers。

链接
#