Thinking of SDD

声明:该文章为AI生成,用于占位。

那些年,我与 AI 在 SDD 里的“极限拉扯”与破局之路

引言:被迫营业,却意外打开了新世界

聊起 SDD(Specification-Driven Development,面向规格/文档驱动开发),很多人第一反应可能是古典软件工程的严谨,或者是为了对抗需求频繁变更的无奈之举。但对我来说,接触 SDD 的契机非常单纯——公司层面在强力推动。

在日常真实的开发场景中,哪有什么完美的“通读需求文档”?大多数时候,我们面临的现状都是:先开会,大家在会上唾沫横飞地讨论,所有的需求都停留在口头上。开完会,我得凭着记忆和随手记下的凌乱笔记,自己去梳理和记录。

但正是这种“被迫营业”的现状,让我意外地利用 AI 重新定义了属于我自己的 SDD:将 SDD 变成一套“人机协同的桥梁”。

我眼中的 AI 时代 SDD 流程是这样的:

  1. 口头需求文字化: 我和 AI 讨论这些零散的口头需求,让 AI 帮我生成非常完整的需求文档(Spec)。
  2. 文档驱动代码: 在生成代码时,AI 通过阅读这些需求文档,在文档的规则约束下,吐出我需要的代码。

听起来很完美,对吧?但在只有我一个人的项目里实际落地时,现实却狠狠地给了我几巴掌。


骨感的现实一:海量 Markdown 与“应声虫”AI

在尝试使用 Speckit 等工具生成需求文档时,我踩到的第一个坑就是信息过载。

工具太能写了,动辄生成铺天盖地的 Markdown 文档。在一个人孤军奋战的项目里,去逐字逐句 Review 这些文档简直是一场灾难,看那些密密麻麻的文字看到我头痛欲裂。全盘接收是不可能的,这辈子都不可能。

同时,我发现目前的 AI 在讨论阶段并没有想象中那么聪明。它更像是一个“应声虫”,基本上是顺从着我的需求在走,几乎不会主动当“排雷手”来指出我逻辑中的边界冲突。这也难怪,毕竟它不了解我们公司的具体业务,指望它提供什么惊艳的行业见解确实有点强人所难。


骨感的现实二:阳奉阴违的 AI 宪章

在 SDD 工具的生态里,Speckit 会生成一种被称为**“宪章”(Charter)**的核心约束文档。理论上,这是 AI 写代码时的“铁律”。

但实际开发中,AI 经常犯“选择性失明”的毛病。它有时候根本不去看这份宪章,或者干脆选择性遵守,生成出来的代码漏掉各种关键约束,偷工减料。这种口头答应却不严格执行的“阳奉阴违”,让我非常头痛。

既然工具和 AI 都不完美,为了不让 SDD 变成纯粹的负担,我开始了自己的“防御性反击”。


我的破局策略:“断舍离”与“防御性 Prompt”

既然全量阅读会头痛,那就学会断舍离。

在最近的一次 SDD 交互中,我改变了策略:不再去看那些长篇大论的背景和业务描述,我只去 Review 它生成的 Plan(计划)和 Task(任务)阶段的文档。

  • 成效: 毕竟 Plan 和 Task 已经演变成了纯技术层面的东西,非常符合开发者的直觉。只抓这两个核心,直接帮我提升了大约 30% 的工作效率,让我能迅速厘清口头需求的真正技术脉络。

而面对 AI 经常漏掉宪章的问题,我开发了一套**“防御性生存技能”**:

  1. 另立字据: 只要发现 AI 漏掉了哪些宪章约束,我会单独把这部分塞进一个新的 .md 文件里。
  2. 强行灌输: 在每次对话的初始化 Prompt 中,强制要求 AI 必须先阅读这个独立的约束文档。

但这又引发了一个新的终极矛盾:天下没有免费的午餐。


终极的现实枷锁:Token 成本与 Quota 限制

有人可能会说,为了让 AI 100% 绝对执行宪章,难道不能每次提交对话都让它把所有文档重读一遍吗?

理论上可以,但现实中不行。Token Cost(Token 成本)是个无底洞。 每次对话都塞满长文本,不仅大模型容易长文本注意力涣散(听了后面忘了前面),钱包也根本扛不住。

我曾尝试使用 Github Copilot 去定义一些全局提示词(Global System Prompt)来锁死底层逻辑,试图寻找一种低成本的“绝对控制”,但实际效果依然差强人意。

更现实的打击来自公司层面:目前公司给每人每月限制了 60 USD 的 AI Quota(额度)。在账单和限额面前,所谓的完美 SDD 变得非常骨感。以目前大模型高昂的消耗速度,要想在日常工作中真正全面、重度地推动 SDD 落地,这点 Quota 简直是杯水车薪。


结语:现阶段的实用主义路线

折腾了一圈下来,我得出的结论是:在现阶段,“人肉 Review + 局部微调” 依然是利用 AI 搞 SDD 的成本最优解。

不要迷信工具能全自动带你飞。把 AI 当作一个不知疲倦的草稿撰写员,而你作为架构师,只需守住 Plan 和 Task 的核心技术底线,用小巧的独立文档去聚焦它的注意力。在有限的 Quota 预算里,压榨出它最大的生产力,这或许就是当下打工人面对 SDD 时,最体面也最实用的生存姿态。

上一篇: 欢迎使用 Typecho

下一篇: 现在还有人关心你写的代码怎么样吗?

添加新评论