--- title: 告别“氛围编程”:基于 Harness 治理和 SDD 的团队级 AI 研发范式演进与实践 source_url: https://mp.weixin.qq.com/s/-_IBJFuXpvoqMJxL9oaEJQ publish_date: 2026-05-10 tags: [wechat, article, agent, harness, rag, coding] review_value: 7 review_confidence: 7 review_recommendation: neutral sha256: bfc5d766927bb8fd7782eab92822f94713a2c2c16da1a9b1460f572d113ee285 --- --- source: wechat source_url: https://mp.weixin.qq.com/s/-_IBJFuXpvoqMJxL9oaEJQ ingested: 2026-05-09 feed_name: 阿里云开发者 wechat_mp_fakeid: MP_WXS_3239545440 source_published: 2026-05-07 --- # 告别“氛围编程”:基于 Harness 治理和 SDD 的团队级 AI 研发范式演进与实践 阿里妹导读 文章内容基于作者个人技术实践与独立思考,旨在分享经验,仅代表个人观点。 本文作者是来自高德大模型应用平台的王树新。今天想和大家分享的主题是《告别"氛围编程":基于 Harness 治理和 SDD 的团队级 AI 研发范式演进与实践》。 一、 识别 AI Coding 的三大核心问题 故事要从去年9月说起。当时,我受邀在云栖大会 Qoder 分论坛上,分享了我们团队基于 Qoder 进行研发提效的实践经验。那是一个充满期待的时刻——我们基于 Prompt 工程、上下文工程,在技术方案环节和研发环节实现了53%的 AI 出码率。在当时,这个数字让我们看到了 AI 编程的巨大潜力。 经过半年多的 AI 极速发展,我们团队的出码率可以达到 80%-90% 以上了。这个数字看起来非常漂亮,几乎翻了一倍。但当我们深入访谈团队、查看 PMO 的数据指标时,我们发现了一个令人困惑的事实: 提效并不明显。 出码率提升了,但项目交付周期没有明显缩短;AI 写了更多代码,但开发者的工作量并没有减少。这让我们不得不停下来,认真思考这个问题。 让我先回顾一下当时分享的核心内容。我们识别出了 AI Coding 存在的三大问题: 第一,自由发挥问题。 AI 生成的代码常常天马行空,原因在于业务理解不足、规范缺失。你让它写个功能,它可能给你三种不同的实现方式,每一种都"能跑",但每一种都可能和你现有的架构格格不入。 第二,效率降低问题。 听起来很矛盾——AI 不是应该提效吗?但实际使用中,如果指令不够清晰,你会在多轮对话中反复拉扯。你说"改一下",它改了;你说"不对,是这样",它又改了。来回几次,还不如自己写。 第三,关键信息丢失问题。 多轮对话中,AI 往往会"忘记"之前的重要约束。任务粒度过大时,开头说的架构要求,到后面就消失了。 针对这些问题,我们当时提出了 Qoder 的系统化实践方案:通过 Repo Wiki、Memory 和 Rules 来约束 AI 的自由发挥;通过提示词工程来改善效率问题;通过上下文工程和 Quest 模式来避免关键信息丢失。 在分享的最后,当时我对于AI编程的未来充满期待:未来,开发者只需要定义需求、验证结果;而文档、编码、测试这些"体力活"将交给 AI。AI 将从生产工具转变为新的研发基础设施,开发者也将从编码者变为 AI 架构师。这是当时的愿景。 二、 从“出码率”看“提效”背后的深层困境 但是半年后,我们感到了困惑。为什么出码率提升没有带来真正的提效?我花了很长时间思考这个问题,最终发现了三个核心原因: 原因1:研发是一个全链路的过程,不仅仅是写代码 让我们来看一个需求从提出到上线的完整链路:产品提需、产研评审、方案设计、开发、代码评审、测试、联调、上线。每一个环节都有沟通成本,都有等待时间,都有可能出错。 《人月神话》中有一个著名的理论——没有银弹。为什么?因为软件开发不仅仅是编码,它涉及到沟通、协作、决策。你把编码环节优化了 50%,但如果编码只占整个链路的 30%,那整体提效只有 15%。更何况,AI 生成的代码可能带来更多的 Code Review 时间,更多的调试时间,更多的返工时间。 这让我意识到: 真正的提效,必须打通全链路,而不仅仅是优化单个环节。 因此,我们要让 AI 能够跨越环节边界,从需求到部署形成闭环。 #### 原因2:存量应用进行 Vibe Coding 风险非常高 什么是 Vibe Coding?就是"氛围编程"——随口给 AI 几句提示词,让它几秒钟生成几千行代码。这种方式在新项目、小脚本上可能还行,但在存量应用中,风险极高。 存量应用有什么特点?它有历史包袱,有隐式依赖,有业务知识沉淀在代码里。你让 AI 去"氛围编程",它可能给你生成一个看起来完美、但和现有系统完全不兼容的方案。更可怕的是,这些问题可能在上线后才暴露。 我们曾经遇到一个案例:AI 生成的代码修改了一个核心接口的参数顺序,单元测试全过了,但上线后导致三个下游服务报错。排查了整整一天。这让我深刻意识到: 在存量应用中,AI 编程必须从"氛围"走向"规范",必须有明确的验收标准。 这就是我们引入 SDD(Specification-Driven Development,规范驱动开发)的原因。SDD 的核心思想是:在 AI 写代码之前,必须先将人类模糊的想法转化为清晰、无歧义的结构化规范,让 AI 在可控的轨道上运行。 #### 原因3:大型项目、复杂需求超出了单次 AI 对话的能力边界 我们遇到过这样的需求:一个涉及前后端十几个模块的重构任务。你不可能在一个对话里完成,AI 的上下文窗口有限,它的注意力也会分散。任务太大,AI 就会顾此失彼。 这三个原因指向同一个结论: AI 编程要从"个人技能"升级为"团队级工程能力",要从"氛围编程"进化为"规范驱动、工程治理"的研发范式。 三、 解法:引入 SDD 与 Harness 明确了问题,我们开始寻找解法。我们的目标是:让 AI 不仅在研发写代码环节提效,更要打通从需求 PRD 到直接部署的全流程。 我们将视角放到了两个核心思想上: SDD(规范驱动开发) 和 Harness(驾驭工程) 。 #### SDD (规范驱动开发) SDD 的核心思想是颠覆性的:规范不再是写给人类看的散文,而是结构化的、可被 AI Agent 精确理解和执行的"意图代码"。 在传统开发中,PRD 或设计文档只是"指导书",代码才是唯一的"真理之源"。这导致文档往往很快过期、与代码脱节。SDD 颠覆了这个结构:规范成了唯一的真实来源。当需求变更时,开发者首先修改的是"规范",随后由 AI 工具根据规范重新生成、验证并更新底层代码。 SDD 的工作流包含四个阶段: 第一,Specify(定义规范)。 开发者与 AI 探讨,输出一份结构化规范,定义好用户故事、验收标准和系统约束。这是"原始需求"阶段。 第二,Plan(制定计划)。 AI 像编译器一样,将规范"编译"成详细的技术方案和任务拆解列表。这是"技术文档"阶段。 第三,Implement(执行落地)。 AI Agent 逐个执行任务列表,自动生成高质量代码。这是"软件开发"阶段。 第四,Validate(验证闭环)。 根据规范自动生成测试用例并执行,确保生成的代码与规范完全契合。这是"功能及代码规范测试"阶段。 #### Harness Engineering (驾驭工程) 如果说 SDD 解决的是"做什么"的问题,Harness 解决的就是"如何可控地做"的问题。 Harness 这个词很形象。想象一匹野马——AI 大模型拥有无穷的力量,但没有马具,你根本骑不上去,甚至可能被它甩下来。Harness Engineering 的核心,不是去改变马的基因(模型本身),而是为这匹野马设计一套精密的控制系统。 一个成熟的 Harness 系统包含四个核心支柱: 第一,上下文工程。 不再是简单的 RAG(检索增强生成),而是结构化的信息投喂。维护一个"单一事实来源",让 Agent 知道项目的目录结构、当前的执行计划以及哪些文档是最新的。 第二,架构约束。 这是 Harness 最硬核的部分。通过物理手段强制 AI 遵守规则。例如,规定 UI 层的代码绝对禁止直接访问数据库层。如果 AI 试图违反架构分层,代码甚至无法通过语法检查,从而在提交前就被拦截。 第三,反馈回路与熵管理。 AI 一定会犯错,关键在于如何发现并修正。建立自动化的测试沙箱:Agent 写完代码 → 自动运行测试 → 失败 → 读取错误日志 → 自我修正并重试。更重要的是,将人类修复错误的经验固化为新的规则,确保 AI 永远不会犯同样的错误两次。 第四,人类监督。 人类从"写代码的人"变成了"审核员"和"环境设计师"。职责是定义复杂的业务边界,处理那 5% AI 无法判断的模糊逻辑,以及优化 Harness 本身的规则。 从提示词工程到上下文工程,再到 Harness Engineering,这是一个范式转移: 从"怎么跟 AI 说话",到"AI 应该看到什么",再到"AI 如何在受控环境中运行"。 基于这两个核心思想,我们开始在 Qoder 上进行落地实践。 四、 全流程自动化实践 以下我通过一个视频演示用 Qoder 端到端开发一个大型需求的完整过程。 已关注 __ 关注 __ 重播 __ 分享 __ 赞 关闭 __ **观看更多** 更多 __ __ __ __ _退出全屏_ [ __ ](<>) _切换到竖屏全屏_ _退出全屏_ 阿里云开发者 已关注 [ __ ](<>) 分享视频 __ ,时长 05:20 0 / 0 00:00 / 05:20 切换到横屏模式 继续播放 进度条,百分之0 __ [ 播放 ](<>) 00:00 / 05:20 05:20 _全屏_ __ 倍速播放中 [ 0.5倍 ](<>) [ 0.75倍 ](<>) [ 1.0倍 ](<>) [ 1.5倍 ](<>) [ 2.0倍 ](<>) [ 超清 ](<>) [ 流畅 ](<>) 您的浏览器不支持 video 标签 __ 继续观看 告别“氛围编程”:基于 Harness 治理和 SDD 的团队级 AI 研发范式演进与实践 观看更多 __ 转载 , 告别“氛围编程”:基于 Harness 治理和 SDD 的团队级 AI 研发范式演进与实践 __ 阿里云开发者 已关注 分享 点赞 在看 __ __ 已同步到看一看 [ 写下你的评论 ](<>) __ [ 视频详情 ](<>) 在视频中,大家可以看到:从需求 PRD 开始,到 Spec 生成,到任务拆解,到代码生成,到测试验证,再到最终部署,整个过程是全自动化的。开发者在这个过程中扮演的角色,是需求澄清者、规范审核者、结果验证者,而不是代码编写者。 接下来,让我详细拆解整个实践过程。 #### 步骤1:设计知识库 整个实践的基础是知识库。我们按照 项目层、技术层、资产层 三层结构来组织知识。 * 项目层知识 包括项目的概述、目录结构、架构设计、技术选型等。这些是 AI 理解项目上下文的基础。根据按需加载的思想,我们维护一个 顶层README.md 文件,作为 Qoder 的"单一事实来源"——如果某个信息不在文档里,对 Qoder 来说它就不存在。 * 技术层知识 包括通用的技术知识、编码规范、中间件、三方库文档、最佳实践、常见问题解决方案等。这些知识可以跨项目复用,是团队技术沉淀的体现。 * 资产层知识 包括可复用的代码片段、组件、模板、历史需求 PRD、技术方案、归档的测试 Case等。这些是团队多年积累的"砖块",AI 可以直接使用它们来构建新的功能。 在实际项目中,文档按照知识库三层分层结构设计目录,然后通过一个 README.md 文档来进行索引,按需加载。这种分层索引机制既保证了知识的结构化组织,又实现了按需加载的灵活性,让 AI 智能体能够高效获取所需知识,避免上下文过载。 这里要特别讲一下 Memory 的概念。Memory 是 Qoder 的一个核心能力,它解决了 AI 的"上下文焦虑"问题。在长周期的项目开发中,AI 需要记住很多信息:之前的决策、当前的进度、待办的事项等。Memory 提供了一种结构化的方式来存储和管理这些信息。通过这种 Memory 体系,AI 可以在正确的上下文中做出正确的决策,而不是每次都从零开始。 #### 步骤2:处理需求 PRD 有了知识库,下一步是处理需求 PRD。我们使用 Qoder 的 Quest Spec 模式来生成规范化的 design.md 文档。 这个过程不是全自动的,而是需要人工干预的。这就是 HITL(Human-In-The-Loop,人在回路) 的思想。 为什么要 HITL?因为需求文档中有很多"隐性知识"——那些产品经理认为理所当然、但实际上需要澄清的信息。比如"用户登录"这个简单的功能,背后可能有:支持哪些登录方式?是否需要记住登录状态?密码强度有什么要求?登录失败怎么处理?等等。 通过 Spec 模式,AI 会主动提问,引导开发者澄清这些隐性知识,逐步补齐完整的 Spec。Spec 中会包含: 数据模型 : 涉及哪些数据表,字段定义是什么,关系是什么。 接口规范 : API 的输入输出、错误码、幂等性要求等。 最重要的是:验收标准 。 这是 SDD 的核心。验收标准必须是可测试的、无歧义的。比如"用户登录成功后跳转到首页"是一个模糊的描述,而"用户登录成功后,3 秒内跳转到首页,并在首页显示用户昵称"就是一个可测试的验收标准。 有了完整的 Spec,AI 就有了明确的"施工图纸",不再是"氛围编程"。 #### 步骤3:专家团执行任务 Spec 准备好后,进入执行阶段。我们使用 Qoder 的 专家团模 式(Experts Mode) 。 专家团模式 的核心思想是:不同的任务由不同角色的 Agent 来完成。就像一个真实的开发团队,有前端工程师、后端工程师、测试工程师、架构师等角色。 AI 会根据 Spec 生成执行计划,把大型任务拆解成可管理的小任务。每个小任务都有明确的输入、输出和验收标准。然后,根据任务类型,分配给不同角色的 Agent。 系统内置五类专家,每类专家有独立工具集,系统还支持自定义专家类型(根据PPT内容介绍专家) 此外,要重点强调下用户角色的转变:用户也是协调链路的一部分。你可以在专家团运行时随时介入,Experts Leader 在下一轮循环中处理,调整任务方向或取消不再需要的任务。你的角色变了:和 Experts Leader 澄清意图、对齐方向、审核计划、验收结果,更像带一个有经验的研发小组。 #### 步骤4:任务部署 代码生成和测试通过后,进入部署阶段。我们通过 Aone(阿里内部CI/CD平台)提供的 MCP(Model Context Protocol)工具,将构建产物交付给运维 Agent 进行部署。 通过 MCP,运维 Agent 可以:触发 CI/CD 流水线;执行部署脚本;查询部署状态;处理部署异常。这样,就打通了从需求到部署的全链路。开发者不再需要手动操作各种工具,只需要在 AI 的引导下完成关键决策。 对于前后端联动的项目,我们还打通了一些扩展工具的 Skills。 什么是 Skills?Skills 是 Qoder 的能力扩展机制。通过 Skills,AI 可以获得各种额外的能力,比如: 数据库操作 Skill:AI 可以直接查询和修改数据库,进行数据准备和验证。 有了这些 Skills,AI 就能够完成端到端的开发、测试、验证,而不仅仅是工程代码的生成。 五、 总结与展望 基于 SDD 和 Harness 的解法,我们打通了从需求到部署的全链路。更重要的是,我们实现了从"氛围编程"到"规范驱动、工程治理"的范式转变。开发者不再是被动的代码编写者,而是主动的需求定义者、规范审核者、结果验证者。AI 不再是不可控的黑盒,而是在 Harness 约束下的可靠工具。 展望未来,我们认为有三个方向值得探索: 第一,更智能的 Spec 生成。 当前 Spec 生成还需要较多的人工干预,未来希望通过更智能的对话式需求澄清,降低人工成本。 第二,更强大的 Agent Teams。 当前 Agent Teams 的协作模式还比较简单,未来希望探索更复杂的协作模式,比如多轮迭代、动态角色分配等。 第三,更完善的知识管理。 知识库是整个体系的基础,未来希望探索更智能的知识提取、知识更新、知识复用机制。