告别“氛围编程”:基于 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 上进行落地实践。

四、 全流程自动化实践

从需求 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 的协作模式还比较简单,未来希望探索更复杂的协作模式,比如多轮迭代、动态角色分配等。

第三,更完善的知识管理。 知识库是整个体系的基础,未来希望探索更智能的知识提取、知识更新、知识复用机制。



来源  |  阿里云开发者公众号

作者  |  王树新

相关文章
|
9天前
|
缓存 人工智能 安全
你不知道的 Agent:原理、架构与工程实践
文章内容基于作者个人技术实践与独立思考,旨在分享经验,仅代表个人观点。
|
9天前
|
人工智能 测试技术 开发者
Harness Engineering实践,做了一个平台让AI一晚上自动评测和优化你的系统
文章内容基于作者个人技术实践与独立思考,旨在分享经验,仅代表个人观点。
|
21天前
|
弹性计算 人工智能 自然语言处理
阿里云Qwen3.6 MoE大模型全新开源详解:模型特性、ECS/ACS/计算巢部署流程、vLLM配置与代码调用全教程
阿里云Qwen3.6系列是通义千问团队推出的新一代混合专家(MoE)架构大语言模型,凭借稀疏激活、高效推理、多规格覆盖、原生支持智能体与多语言能力,成为企业私有化部署、AI应用开发、智能体构建的理想选择。该系列全面开源,依托阿里云计算巢平台可实现三步一键部署专有版,搭配vLLM推理框架大幅提升吞吐效率,FP8量化版本更让显存占用降低约一半,兼顾顶尖性能与极致成本优势。本文从模型定位、核心优势、规格选型、阿里云计算巢部署流程、API调用代码、环境配置、常见问题全方面展开,为开发者与企业提供完整可落地的实战指南。
1435 7
|
1月前
|
人工智能 API Go
Qoder 工程实践:Harness Engineering 指南
Harness 是一套面向 AI Agent 的工程化框架,通过将架构约束、规范文档和自动化验证(如依赖层级检查、质量规则)编码进代码仓库,为 Agent 构建“操作系统”。它以 AGENTS.md 为入口,用预验证替代盲目编码,以子代理分工、模型分级调度和交叉 Review 保障质量,并支持自我进化——从失败中学习、沉淀记忆、编译确定性脚本。让 Agent 不靠“记住”,而靠“看见”与“验证”可靠工作。
Qoder 工程实践:Harness Engineering 指南
|
1月前
|
人工智能 缓存
阿里云AI通用节省计划是什么意思?Tokens如何计费?包含多少Tokens?
阿里云AI通用节省计划是面向大模型按量付费的折扣机制,用户承诺月消费金额(如200元/年),即可享最高5.3折优惠。它不直接提供固定Tokens,而是按调用模型单价自动抵扣输入/输出Tokens等费用,覆盖全部阿里直供模型,支持灵活生效与自动续费。
|
25天前
|
SQL 设计模式 数据库
还在手动拖拽画 ER 图?这款免费代码神器|DBML 语法 + 企业级实战,10 分钟搞定专业数据库设计!
dbdiagram.io 是一款免费在线ER图工具,支持用简洁DBML语法代码自动生成专业数据库关系图,可导出PNG/PDF/SVG、双向同步SQL,免安装、易分享,大幅提升企业级项目设计效率与协作质量。(239字)
265 2
|
16天前
|
弹性计算
阿里云管理控制台入口链接大全:云服务器ECS和轻量应用服务器入口整理
阿里云管理控制台官方入口大全:含ECS与轻量应用服务器产品页及后台直达链接;统一首页为所有云服务导航中枢,支持快速切换与高效管理,新手入门必备指南。
|
21天前
|
存储 人工智能 安全
意图共鸣科技:AI记忆链的盲存——你的记忆,只有你能打开
你和AI的对话,平台真能“看不见”吗?意图共鸣科技推出“盲存”技术:数据本地加密后上传,密钥仅用户持有,云端仅存密文。平台变“数据保管员”,无法访问明文,隐私由架构保障而非承诺。用户完全掌控记忆——可查、可导、可删,跨设备同步同样安全。
140 16