一句模糊的需求20个Agent能给你并行产出20份完全不同的代码。每份都能跑但每份都不是你想要的。你有没有遇到过这种情况你用AI编程工具输入了一句需求。它很迅速几秒钟就给你吐出了一套完整的实现。你跑了一下成了。交付看上去近在咫尺。但过两天你发现生成的接口命名风格完全不是你团队的惯例。表结构缺少一个关键的索引。异常处理的逻辑覆盖了主流程但漏了一条分支。单元测试写是写了但assert的断言条件全部浮于表面。代码能跑但改不动。改得动但不敢保证改了不会连环崩。这不是某个AI工具的问题。这是需求模糊→Agent自由发挥必然导向的结果。模糊需求在AI时代会变得更危险有执行经验的技术管理者总结过一个规律执行能力越强模糊需求越危险。放在过去需求模糊一些开发人员会主动澄清、反复对齐或者至少会把我猜你是想要这个对吧的确认环节前置。模糊性的代价是沟通成本沟通过程中需求会被逐步校准。但AI Agent不是这么工作的。你给它一句含糊的需求它会尽职尽责地给你一份完整答案。它不会追问你这个接口的并发量大概是多少也不会质疑这里的缓存策略你确定不需要。它会基于自己能理解的那部分把其余的空隙用概率填上。同一个模糊需求开20个Agent的会话窗口出来的就是20份逻辑上自洽但方向上可能南辕北辙的方案。从效率来看生成速度拉满了。从结果来看你获得了一堆需要逐个筛选的半成品。前文中提到的拿百度内部实践的印证“一句含糊的需求可驱动20个Agent并行产出20份完整错误答案”——不是Agent坏而是Agent不会拒绝不确定。大厂怎么解决这个问题业内已经有一套被反复验证过的解法——把需求搞清楚再动手。听起来像废话但在AI编程的语境下这件事的内涵变了。Shopify做了什么Shopify在两年前做了两个关键决策一是把所有分散的代码合进一个Monorepo仓库二是引入Nix把开发环境、CI环境和生产环境统一成一个可复现的数字底座。这两个决策起初跟AI毫无关系。但River Agent上线后团队立刻发现当Agent能在一个统一的仓库里看到所有上下游代码并且不会因为在我机器上能跑而漏掉环境问题——Agent的工作质量跳了一个台阶。环境的统一本质上是一种对Agent的硬约束——减少了模糊地带。百度做了什么百度在内部梳理了一套Spec-Driven DevelopmentSDD规格驱动开发的流程可以分解成六个部分目标这个任务到底要达成什么范围边界在哪里什么不用做约束技术栈限制、性能指标、安全要求决策为什么选A方案不选B的说明任务具体的执行步骤拆解验收怎样算做完六部分缺一不可。团队规定Agent拿到的Spec如果缺少边界条件、异常处理策略或验收标准Agent有权拒绝开工。不是人的权力下放给了Agent而是Spec的质量变成了Agent产出质量的硬性前置条件。百度把实践抽象成了三样东西Rules固化工程范围避免AI自由发挥跑出边界Skills封装Code Review和E2E测试让原本靠人工排队的检查动作变成自动化流水线Spec约束技术方案让AI每次生成都有据可依。阿里的Qoder也这么搞阿里旗下的Qoder工具推出了Quest Mode先生成一份完整的Spec文档作为人和Agent之间唯一的对齐事实源。Agent拿到Spec后在后台异步执行执行过程中如果碰到歧义不会自己猜而是弹出Action Required等待人工决策。任务完成后交付的不是一段代码而是一份Task Report包含验证结果和完整的代码变更记录。这三家的做法本质上都在干同一件事把决策复杂度从执行阶段前移到定义阶段。工程化AI工具怎么实现SDDSDD听起来是一套方法论但它要落地就需要工具有对应的产品架构来承接。飞算JavaAI在IDEA里的5步智能引导流程可以看作SDD在Java工程里的一次工具化实现。第1步——理解需求。你输入一句话的自然语言需求它不会直接跳去生成代码而是先把需求拆成一组子任务让你确认。这一步对应SDD的目标范围。第2步——设计接口。它自动生成API接口的名称和逻辑描述列出接口的输入输出、异常类型。这一步对应SDD的决策任务。第3步——表结构设计。它输出DDL建表语句包括索引、约束、注释。你可以在这一步检查数据模型是否合理。对应SDD的约束。第4步——处理逻辑。它给出一套业务逻辑的实现步骤并且以流程图的形式可视化。对应SDD的任务而且因为可视化验收路径极度清晰。第5步——生成源码。前三步确认完毕最后一步一键生成完整的Java工程包——源码、SQL脚本、配置文件一个Maven项目直接导入IDEA就能跑。这个流程的逻辑很简单前面四步每步都是一个确认点等于你在每一步都在跟AI对Spec。确认过了需求才设计接口确认过了表结构才写逻辑确认过了逻辑才生成代码。每一层的前置确认把模糊性逐层消解到最后一步生成的时候已经不是让AI猜你想要什么而是AI按照你已经确认好的Spec来组装代码。这种方式和百度用Rules固化工程范围、用Spec约束技术方案是同一个思路的不同产品表达。区别在于百度需要团队自己搭这套流程而飞算是把这套流程内嵌到工具的产品架构里了。结论定义比生成更难但也更重要Shopify有句话复盘得特别到位“代码库里为了让Agent读懂而需要偿还的债其实就是你一直欠人类工程师的债。”让AI靠谱地写代码前提是你得先让AI清楚地知道你到底要什么。这不是AI的能力边界问题是你定义问题的能力问题。跟有没有用到SDD这个词没有关系跟你愿不愿意在’写代码’之前多花一倍的时间去’定义清楚’有关系。做得好的团队不是AI用得多猛而是Spec写得多认真。