澄迈橡塑胶 AI写代码越来越快, 为什么返工反而多? 产品经理要理解SDD与TDD

AICoding正在把开发速度到个新量,但很多团队很快发现:代码写得越快澄迈橡塑胶,返工不定越少。交付中的核心矛盾已经变了,需求里的模糊判断,正在被快做成个看起来可以上线的产品。SDD与TDD的价值,就藏在这个变化里。
图1:SDD与TDD双驱动闭环,制图:知序
来看个团队里很常见的评审。
需求只有句话:“支持手机号验证码登录。”研发把需求交给Agent,不到30分钟,页面、接口、倒计时和错误提示都出来了。现场演示很顺,大甚至开始讨论能不能当天上线。
二天,测试只问了几个问题:验证码几分钟过期?新验证码发出后旧码还能不能用?连续输错多少次锁定?两台设备同时请求,以哪个为准?短信服务没有受理,倒计时还要不要开始?
会议突然安静了。
这些问题,产品没写,研发没问,Agent却不能停在那里等答案。它只能沿着训练数据和当前上下文,替团队补上套“像答案的答案”。于是,个30分钟完成的,在二天变成了三重新对规则、改接口、改页面、补测试。
问题并不在Agent能力不够。恰恰相反,是它执行得太快了。
、AI写得越快,模糊需求越危险
过去,份模糊需求进入开发,问题会在原型、接口讨论和联调中慢慢暴露。过程很低,但也给了团队很多次停下来追问的机会。
Agent把这段缓冲压缩掉了。它可以在几分钟内生成页面,在几十分钟内串起接口,在天内完成过去周的代码量。需求里每个没有被确认的词,也会跟着这条流水线起加速。
“尽快”可能被实现成60秒,也可能是5分钟;“验证码失”可能只是在前端提示,也可能是服务端真正拒;“止频繁发送”可能按手机号限制,也可能按设备或IP限制。只看正常路径,它们都能跑通。到了边界场景,产品、研发和测试才发现,三个人理解的根本不是同个。
所以,AICoding带来的个工程变化,不是代码成本归,而是歧义的复制成本大幅下降。以前模糊需求会产生段模糊代码,现在它可以迅速扩散成页面、接口、数据结构、测试用例和埋点。
图2:AI如何放大需求歧义,制图:知序
返工也因此变了。过去常见的是“这个还没做完”,现在常见的是“它看起来做完了,但做的不是我们真正想要的”。前种问题容易看见,后种问题容易骗过评审。
当实现速度不再稀缺,团队贵的能力就从“把东西做出来”,转向“早确认究竟要做什么,并且持续证明没有做偏”。这正是SDD与TDD重新受到关注的原因。
二、SDD要解决的,不是文档长度
SDD通常被译为规格驱动开发。不同团队对它的流程定义并不相同,但放到AI协作中,可以先抓住个实用判断:让经过确认的规格成为开发过程里的共同事实,不再把聊天记录交给Agent自由发挥。
这里的“规格”不追求长的PRD,不只是给原来的需求文档换个英文名字。它需要回答那些会改变实现结果的问题:谁在什么状态下做什么,系统应该出现什么变化,失败时如何处理,这次明确不做什么,以及用什么现象判断完成。
还是手机号登录。如果规格只写“输入手机号,获取验证码,验证成功后登录”,Agent当然能写。但它会被迫替团队决定验证码时、重发冷却、输错上限、旧码失、多端覆盖、风控频率和异常提示。每个默认值都像个小问题,叠在起就是整个账号系统的业务规则。
SDD的作用澄迈橡塑胶,是把这些隐形决定提前摆到桌面上。产品负责确认用户结果和业务边界,研发补充技术约束,测试指出可验证,Agent再依据当前版本的规格拆计划、写代码、补检查。实现过程中发现新限制,也要回写规格,避它只留在某轮对话里。
说白了,SDD不要求大比拼文档长度,它要减少的是“每个人都以为对知道”的时刻。
三、TDD要解决的,也不只是覆盖率
很多产品经理听到TDD,会立刻把它归到研发内部:先写测试,再写代码,和产品有什么关系?
关系比想象中直接。
TDD经典的节奏是Red、Green、Refactor:先写个会失败的测试,确认当前行为还不存在;再写刚好让它通过的小实现;后在测试保护下整理代码。它先是种小步反馈机制,测试资产是这个过程留下的结果。
它和“做完以后补批测试”大的差别就在反馈节奏。实现每走步,都要面对个具体问题:我现在新增的这条行为,真的发生了吗?
比如“验证码过5分钟后失”。如果直接让Agent完成整套登录,它可能次改动十几个文件,后再跑遍全量测试。出错时,团队很难知道是哪个判断偏了。用TDD进,可以先写过期前有、恰好到边界失、过期后失这几个可观察行为,再补小判断。反馈范围越小,Agent越容易定位问题,人也越容易审查。
这也是产品经理应该理解TDD的原因:条好的验收标准,往往就是条好的行为测试的上游。产品写不清“发生什么才对”,研发也很难写出真正保护业务的测试。
四、两个D放在起,才是条完整交付链
SDD和TDD经常被放在起讨论,但它们分别处理两个层面。
SDD关心向:团队确认的意图是什么,边界在哪里,哪些决定已经生。TDD关心步长:当前要新增的下条行为是什么,怎样用次短反馈确认它没有走偏。
个止“做错产品”,个减少“把正确产品做错”。
图3:SDD与TDD双环协作,制图:知序
只做SDD,可能得到份写得很完整、实现时却没人持续核对的规格;只做TDD,也可能得到套全部通过、却忠实验证了错误需求的测试。真正有的组,是外层用规格校准意图,内层用测试缩短实现反馈,后再用验收结果新规格。
这里还有个很容易踩的坑:不要把所有验收场景都机械地写成单元测试。页面反馈、服务契约、跨系统状态和业务指标,需要不同层的检查。TDD适动个可被快速验证的小行为,SDD则负责保证这些行为仍然指向同个用户结果。
五、把句登录需求,变成可以交付的规则
现在回到那句“支持手机号验证码登录”。如果按照SDD与TDD的组式进,产品经理步先跳过页面,把句描述改写成个结果:未登录用户能够用本人可接收短信的手机号完成验证;失败时知道原因和下步;系统能够限制明显的频请求,并保留要的排查信息。
紧接着,要写非目标。本次不做注册资料补全、不做换绑手机号、不做密码登录、不做营销短信授权,保温护角专用胶也不顺手重构整个账号体系。对Agent来说,非目标就是道围栏,止它根据上下文主动扩大范围。
再往下,团队需要确认真正影响实现的规则。验证码从服务端受理短信请求开始计时,5分钟后失;新码发出后旧码失;有验证码只能成功使用次;连续输错5次后当前验证码失;短信没有受理时不启动倒计时;受理后60秒内不能重送;多台设备同时申请时,同手机号只有新验证码有。
这时,需求从张页面,变成了组可以讨论、可以修改的产品决定。
接下来挑条风险行为进入短反馈。比如“恰好到达5分钟边界时按过期处理”。研发先写个当前会失败的检查,再补服务端时间判断澄迈橡塑胶,让检查通过,然后整理时间和状态代码。页面倒计时只负责提示,不参与决定验证码是否有。这样即使用户修改设备时间、把页面切到后台,服务端规则也不会改变。
后,验收还要过段顺利演示。产品需要看到:接口没有创建登录态,页面明确提示验证码已过期,重新获取入口仍然可用,事件记录能说明拒原因。成功、失败和临界点都留下可复查的结果,才真正完成。
图4:登录需求如何变成验收证据,制图:知序
从句话到规则,再到测试和验收,这个过程看似比“直接让AI生成”慢了步,实际是在便宜的阶段消灭返工。改句规格只要几分钟,等页面、接口和数据结构全部完成后再改,成本就不同了。
六、团队真正需要的,是条轻量闭环
法旦进入团队,很容易被做成新流程:需求须写20页,所有场景都要开评审会,每个改动都要套完整模板。结果还没减少歧义,先增加了批表单。
实用的做法,是把SDD与TDD压缩成6个动作。
1步,写结果和非目标。先回答用户或业务状态要发生什么变化,以及这次明确不处理什么。
2步,找出贵的歧义。优先确认会改变数据、权限、资金、风控和用户状态的规则,不追求次写完所有细节。
3步,把规则写成可观察场景。给定什么状态,用户做了什么,系统应该返回什么,失败后还能做什么。
4步,按场景拆实现。Agent每次只处理个足够小的行为,避次生成整套后再集中排错。
5步,用短反馈进。适自动化的关键行为先失败、再通过、再整理;不适单元测试的场景,用契约、集成或页面验收保护。
6步,把发现写回规格。实现中出现的新约束、评审后的规则变化和终验收结果,都回到同份当前版本里。
这6步可以反复往返。测试暴露规则冲突,就回到规格;实现发现三限制,就新边界;验收结果不对,就判断偏差来自需求、检查还是代码。闭环的价值,正是在于团队随时知道当前依据是什么。
七、别把法做成新轮流程负担
SDD与TDD有,不代表每个需求都要用同样的力度。
改个已经确认的错别字,条变说明加次页面检查就够了。普通需要结果、非目标、核心规则和主要异常场景。涉及支付、权限、隐私、风控或跨系统状态时,再增加完整的规格评审、服务契约、回滚条件和验收记录。
判断投入多少,可以看三个变量:歧义有多大、出错有多贵、影响范围有多广。三项都低,就保持轻量;其中项很,就值得把规则和检查做。
团队还要警惕三个“看起来很规范”的假动作。
个是假规格。文档写了很多页面、字段和技术名词,却没有结果、边界和例外。它只是把原型说明写得长,并没有减少关键决定。
二个是假测试。测试照着当前实现写,代码怎么做,它就怎么断言。这样的测试通过,只能证明代码和自己致,不能证明产品行为正确。
三个是假闭环。规则改了,群里通知下;代码和测试改了,规格仍停在旧版本。几轮之后,团队又回到“到底听谁的”,Agent也会继续读取过期上下文。
判断法有没有生,别数留下了多少材料。去看错误是否早出现、影响范围是否小、原因是否容易被看见。
八、产品经理该改的,是这5个动作
1.少写名,多写状态变化。“增加验证码登录”只是案,“未登录用户完成身份验证,并在失败后知道下步”才是结果。结果写清楚,页面和接口才有共同向。
2.把边界情况提前到需求评审。过期、重复、失败、并发、限流、多端和回退,都要在测试开始前成为正式需求。它们往往才是个真正的业务规则,也是Agent容易自行补默认值的地。
3.要求Agent先提问,再生成。把“直接完成这个需求”换成“先列出会影响实现的未决问题、默认假设和非目标”。这步经常比换个强模型有用。
4.评审可观察结果,不只评审文档。页面提示、接口状态、数据变化、三调用和关键记录,至少要能串起条可复查的链。次顺利演示只能证明正常路径走通,不能证明边界被保护。
5.让规格跟着产品起活。需求变化时,同时标出受影响的规则、检查和任务;实现发现新限制时,也要回写规格。产品经理的维护范围已经过开发前的份输入,它应该覆盖团队当前有的产品意图。
这5个动作背后,其实是同件事:产品经理要从“把需求交出去的人”,变成“持续维护意图的人”。
九、写在后
AICoding没有消灭产品经理和研发之间的沟通成本,它只是把成本换了个出现式。
以前,团队担心代码写不完;现在,需要担心个没有被确认的假设,会被Agent多快写成完整。页面越像真的,接口越能跑通,越容易让人误以为产品已经完成。
SDD与TDD值得产品经理理解,和又流行了两个缩写关。它们分别抓住了AI交付里关键的两个问题:我们是否在做正确的事,以及每步是否真的做对了。
规格让意图有了共同依据,测试让实现有了短反馈,验收让结果不再靠感觉。三者连起来,AI的速度才会真正变成交付速度,避路滑向返工速度。
下次再把需求交给Agent之前,不妨先停分钟:它现在缺的是代码,还是个团队尚未给出的决定?
参考资料
GitHubSpecKit官文档
GitHub关于规格驱动开发的说明
KiroFeatureSpecs文档
MartinFowler:TestDrivenDevelopment相关词条:铁皮保温施工 隔热条设备 锚索 离心玻璃棉 万能胶生产厂家
奥力斯 pvc管道管件胶批发 联系人:王经理 手机:15226765735(微信同号) 地址:河北省任丘市北辛庄乡南代河工业区
1.本网站以及本平台支持关于《新广告法》实施的“极限词“用语属“违词”的规定澄迈橡塑胶,并在网站的各个栏目、产品主图、详情页等描述中规避“违禁词”。
2.本店欢迎所有用户指出有“违禁词”“广告法”出现的地方,并积极配合修改。
3.凡用户访问本网页,均表示默认详情页的描述,不支持任何以极限化“违禁词”“广告法”为借口理由投诉违反《新广告法》,以此来变相勒索商家索要赔偿的违法恶意行为。
