AI 编程工具正在快速改变软件开发方式。代码生成变得更快,开发者可以用自然语言完成页面搭建、接口实现和测试补充。但在企业研发中,代码写得快并不等于需求交付得快。需求是否清楚、多个项目如何协作、生成结果如何验证、测试问题如何回到开发环节,仍然决定着最终的交付质量。
过去一段时间,我们围绕这些问题建设了 DevMaster。它并不是一个单独的代码生成工具,而是一套连接需求分析、项目拆分、规格驱动开发和测试反馈的研发方法与工程体系。本文介绍我们为什么要建设这套体系、如何设计关键环节,以及实践中得到的经验。
一、AI 范式下的需求交付问题
早期使用 AI 编程工具时,我们最关注的是生成速度和代码可用率。随着使用范围扩大,我们发现,影响交付结果的主要因素往往发生在代码生成之前和之后。
1.1 需求信息不适合直接交给 AI
真实需求通常分散在产品文档、原型、会议纪要和即时沟通中,容易出现信息不一致、边界缺失和版本不同步。开发者可以通过沟通补齐上下文,但 AI 只能依据当前输入判断;一旦信息不完整或变化未同步,生成结果就可能偏离目标并扩大返工。
1.2 一个需求通常涉及多个项目
中大型需求通常涉及前端、多个服务端应用和测试团队,需要共同确认接口、数据流、异常处理与验收标准。应用拆分依赖资深工程师对系统结构和隐性约定的理解,这类经验难以稳定复用,项目越复杂,遗漏和误解越容易发生。
1.3 AI 能写代码,不等于代码能够进入生产
生成可运行代码并不难,但生产级代码还必须符合团队规范和技术设计,覆盖需求场景,并通过编译、构建和测试验证。因此,需要将这些要求转化为生成前约束和生成后检查,关键结论仍由人确认。
1.4 前端、服务端与测试之间信息割裂
前端、服务端和测试往往分别理解需求,信息沉淀在各自的文档、沟通和经验中。差异通常到联调或测试阶段才暴露,表现为接口字段、状态流转或异常场景不一致,因此三方需要基于共享规格协作。
1.5 小结:从单点工具转向完整交付链路
DevMaster 的核心思路是以结构化规格为纽带,让同一份需求信息在分析、设计、开发和测试之间持续流动。整个链路可以概括为四个阶段:需求结构化、应用级拆分、规格驱动开发和测试反馈。
核心产物关系:原始需求经过结构化形成 TRD(跨应用的技术需求规格);TRD 按应用边界拆分为 ATRD(单应用技术需求规格);ATRD 进一步生成设计、任务和增量 Spec,最终约束代码实现与测试验证。
这套设计遵循三个原则。
- 规格是共同依据。产品、开发和测试使用同一组结构化信息,减少各自重新解释需求带来的偏差。
- 关键节点由人确认。AI 负责提取、分析和生成,人负责确认需求边界、技术决策和验收结果。
- 过程可以度量。系统记录规格覆盖、代码匹配、测试覆盖和修复过程,用数据发现问题,而不是只凭主观感受判断效果。

二、自然语言需求的结构化与标准化
2.1 自然语言需求为什么不能直接进入 AI 开发
原始需求往往来自文档、原型与沟通记录,信息缺失或版本不一致会使 AI 偏离真实目标;需求变化也难以及时传递到设计、代码和测试。因此,在进入开发前,需要先将自然语言需求转化为结构稳定、可追踪、可增量更新的规格。
2.2 结构化需求的设计目标
为解决这些问题,我们设计了技术需求文档 TRD(Technical Requirement Document)。它不是对产品文档的简单改写,而是将分散信息整理为可以被人和 AI 共同使用的规格。设计时重点关注四个目标:
- 结构统一:用稳定格式描述触发条件、参与者、业务行为、异常分支和预期结果。
- 来源可追溯:每条规则都能回到原始需求或经过确认的澄清记录。
- 变化可管理:保留需求版本和差异,识别变化对规格及下游产物的影响。
- 结论可审核:AI 负责提取、整理和提出问题,业务决定仍由产品、开发和测试负责人确认。
2.3 核心设计
整个过程可以概括为四步:聚合需求上下文、生成结构化规则、完成歧义澄清、根据需求变化持续更新。四个步骤共享同一份来源和版本信息,避免每个环节重新解释需求。

2.3.1 聚合多来源上下文
系统首先汇总产品文档、评审记录、业务知识和历史澄清结果,并保留每段信息的来源。不同来源发生冲突时,优先采用当前需求中经过确认的结论,其次是本项目的有效规则,历史经验只作为参考。无法确定的信息不会被自动补全,而是进入待澄清列表。
经过人工确认的通用知识和澄清经验可以沉淀到知识库中,在后续需求中复用。知识条目同时保留适用范围和来源,避免历史结论脱离场景后被直接套用。

2.3.2 用 EARS 表达可验证的需求规则
结构化规则采用 EARS(Easy Approach to Requirements Syntax)的基本思想,将自然语言拆分为条件、动作和结果。例如:"当用户满足指定条件并提交申请时,系统应完成校验并返回处理结果;如果校验失败,则保持原状态并说明原因。"
这种表达方式不要求删除所有自然语言,而是把最容易产生分歧的条件、边界和结果显式写出。统一结构既方便开发者阅读,也便于后续生成设计、代码和测试用例,并支持逐条检查需求是否得到实现。

2.3.3 通过人机协同完成需求澄清
系统根据缺失条件、规则冲突和边界不完整等情况生成澄清问题,同时给出问题来源、生成原因和可能影响。对于能够从会议记录、业务知识或历史结论中找到的信息,系统提供候选答案;负责人确认后,答案才会进入正式规格。
这一机制的重点不是让 AI 代替需求评审,而是把分散、重复的检查转成清晰的问题列表。人工主要判断业务规则和例外情况,系统负责整理证据、记录结论并将有效经验沉淀为后续可复用的澄清标准。

2.3.4 检测需求变化并增量更新
需求重新导入后,系统比较新旧版本,定位新增、删除和修改的内容,并判断哪些结构化规则受到影响。对于未变化且已经确认的内容,系统继续保留;对于变化部分,重新生成澄清问题并提示负责人审核。
增量更新避免了每次变更都重新生成整份文档,也保留了需求、澄清记录和 TRD 之间的版本关系。下游系统可以据此判断设计、代码和测试是否需要重新检查。

2.4 实践效果与局限
目前,该方法已覆盖百余个需求,并沉淀数百条经人工审核的澄清标准。实践表明,结构化需求能提升澄清完整性,并为代码和测试用例生成提供更稳定的输入;但其效果仍受原始材料、知识库时效和人工审核质量影响,复杂业务与高风险边界仍需负责人确认。
三、完整需求的应用级拆分
3.1 架构师视角的需求拆分
上一章解决了需求如何被完整、准确地表达,但结构化需求仍不能直接转化为代码任务。进入开发阶段后,还需要完成一次关键的技术拆分:把业务需求映射到具体应用,明确每个应用的职责和协作边界。
业务边界明确,不等于应用边界明确
在现有研发流程中,业务澄清、PRD 输出和优先级确认通常在开发前完成。此时明确的主要是业务目标与需求范围,但研发团队仍需要结合实际系统结构,判断这次需求会影响哪些应用。
开发真正需要回答的是:
- 需求涉及哪些应用?
- 每个应用分别需要完成什么改动?
- 前后端及上下游之间存在哪些依赖?
- 跨应用、跨团队的协作契约如何确定?
这些判断本质上是架构师的结构性决策
应用边界不能只根据 PRD 中的功能描述推断,还需要同时理解现有代码组织、服务依赖、数据流路径和历史技术约束。只有把需求信息与项目结构放在一起分析,才能形成可执行的应用拆分方案。
依赖个人经验的方式难以规模化
随着项目数量、调用链路和协作团队增加,建立上述认知的成本会快速上升。相关知识往往分散在代码、文档和个人经验中;一旦人员变化,新的负责人就需要重新理解系统,拆分效率和准确性都难以稳定。
DevMaster 的目标,是填补"需求到应用边界"的认知鸿沟
DevMaster 通过持续建立项目结构认知,结合代码关系、服务依赖和历史数据流,辅助工程师识别受影响的应用,明确各应用的职责、改动范围与交互契约。完成边界划分后,系统会为每个应用分别生成需求概要设计(ATRD),作为后续 SDD 编码的输入。
3.2 用户最终拿到的是什么?
完成应用边界划分后,DevMaster 会面向每个涉及的应用分别生成一份需求概要设计(ATRD),作为后续 SDD 编码的输入。
需求概要设计不是需求文档的复述,也不是代码注释的堆砌。它从单个应用的视角重新组织需求,把全局方案转换成该应用可以直接执行的工程输入。
一份完整的应用级需求概要设计,重点回答四个问题:
- 背景——为什么要改?说明应用参与本次需求的原因、在整体方案中的角色,以及与上下游的关系。
- 协作触点——和谁协作?明确对外接口、上游依赖、异步消息和数据共享边界,形成前后端及上下游共同遵守的交互契约。
- 改动范围——具体改什么?明确需要新增的能力、调整的逻辑和废弃的路径,让 AI 编码知道从哪里入手,也让 Code Review 知道应重点关注哪些模块。
- 验收标准——怎样算完成?用"给定输入—执行路径—预期输出"描述可验证结果,使其能够继续转化为测试用例和接口自动化测试的输入。
这份产物的核心价值,是让每个应用独立推进,而不是重复对齐。每个应用拿到自己的 ATRD 后,就能明确职责边界、协作契约、改动范围和验收标准,并据此独立进入 AI 辅助编码流程。跨团队协作也从反复开会确认,转变为基于明确契约并行推进。
这些应用级需求概要设计并非依靠静态模板直接生成,而是在项目探索过程中,通过架构地图、代码检索和交互澄清逐步形成。
3.3 一次完整探索的流程

从输入一个需求,到拿到分应用概要设计,大概经历这几步:
- 选择需求、技术栈、相关仓库启动探索。
- 召回或者建立架构地图,追踪数据流,找到相关代码逻辑。
- 选择题式互动澄清,帮你最大程度地"偷懒"。
- 方案 Review,确认应用边界划分、协作契约、改动范围是否准确。
- 确认并交付下游。
3.4 团队记忆与自进化
理念
让每次探索产生的认知,沉淀为团队可复用的资产。
两层沉淀
- 项目级记忆:每次探索结束后,AI 把关键认知写回知识库——模块边界、数据流路径、踩过的理解误区。下次同项目探索时自动注入,不从零开始。
- 团队级知识:跨需求、跨项目积累的经验形成团队级知识——某类需求的影响范围规律、中间件使用约定、历史反复出现的理解偏差。这些不再是个人的隐性知识,而是每次探索时 AI 都会读取的"集体经验"。
三个反哺方向
- 探索更准:带着已有认知进入,直接在已知骨架上定位变化点,更快速准确。
- 设计更可靠:历史同类需求的结论作参照,减少重复犯同样的判断错误。
- 编码少返工:团队沉淀的约束和规范,避免后续再次违反"不成文规定"。
3.5 总结
需求理解不是 AI 编程的准备工作,它本身就是 AI 编程最难的那一步。分应用级需求的拆解和概要设计,是本阶段的核心产物,它是后续每一行 AI 生成代码的出发点,也是让 AI 编码从"写出来"到"写对了"的前提。
四、Harness 驱动的 SDD 开发与质量保障
Spec 能够说明要实现什么,但不能保证开发过程始终遵守规格。要让 SDD 从个人使用方式变成工程体系,还需要解决三个问题:Spec 如何生成,开发时如何执行,需求变化后如何持续维护。
为此,我们在 SDD 工作流中引入 Harness,并通过桌面应用 CodingMaster App 承载这套改造后的工作流。Harness 不负责替代 AI 编码,而是通过约束和检测,让规格真正参与设计、实现、验证和归档;CodingMaster App 则让开发者不需要直接面对命令行,就能使用这套能力。
4.1 整体方案
整体方案可以归纳为四部分:
- 方案来源:参考 OpenSpec 的开源规范管理方案,沿用 Proposal—Apply—Archive 的增量变更思路。
- 流程改造:增加 Init 项目初始化,重构 design、task 和 spec 模板,并补充任务依赖与并行管理。
- 质量增强:加入 Validate、Lint / Build、Verify、Coverage 等质量门禁,以及经验沉淀和持续偏离检测。
- 系统分工:DevMaster 管理需求和项目资产,CodingMaster App 承载改造后的 SDD 流程,Harness 负责约束与检测。
OpenSpec 提供规范管理基础,Harness 和相关工程能力是结合团队研发要求完成的扩展。

4.2 Harness 如何约束和检测开发过程
改造后的 SDD 工作流仍按 Init、Proposal、Apply、Archive 四个阶段推进,但每个阶段都增加了明确的约束和检测,避免只管理流程、不控制产出质量。
4.2.1 Init:建立可信的项目基线
约束:
- 用结构化项目描述记录目标、技术栈、编码与架构规范、测试方式、业务领域和外部依赖。
- 基线 Spec 统一格式,用 Requirement、Scenario 和 SHALL / MUST 表达需求与场景,不接受无法解析的自由描述。
检测:
- 扫描现有代码,生成基线 Spec。
- 检查格式能否被正确识别。
- 逐项核对 Spec 是否准确覆盖已有代码行为。
产出: 结构化项目说明和可机器解析的基线 Spec,为后续增量变更提供起点。
4.2.2 Proposal:形成可执行的设计与任务
约束:
- 前后端分离的 design 模板,要求明确数据流、接口、异常处理、变更文件和依赖。
- tasks 改为结构化元数据,包含唯一编号、状态、Do / Don't、完成标准、修改文件和前置依赖。
- 契约类前置变更单独拆入 pre_tasks;Spec 增量严格使用 Delta 格式。
检测:
- 检查任务依赖是否存在环或悬空引用。
- 检查同一并行批次中的修改文件是否冲突。
- Proposal 完成后执行严格校验,检查 Delta 格式、Scenario、Requirement 重名以及跨区冲突。
产出: 设计文档、结构化任务计划和 Spec 增量;只有依赖已满足且修改文件不冲突的任务才允许并行。
4.2.3 Apply:在编码过程中执行质量门禁
约束:
- 编码前读取历史踩坑经验,避免重复历史错误。
- 按照 tasks 中的依赖顺序和文件范围执行。
- 加载项目 Skill 中的代码风格、命名和异常处理规则。
检测:
- 编码会话结束时在 Stop Hook 中自动触发:前端执行格式和静态规则检查,服务端按项目条件增加编译构建。
- 必要时执行基于 Skill 规则的代码审查。
- 实现完成后检查需求场景是否得到实现、代码是否偏离 Spec,以及是否存在无关变更。
产出: 通过基础工程检查和 Spec 一致性检查的代码,以及对应的验证报告;检查失败会返回当前任务修复,不能直接进入归档。
4.2.4 Archive:完成归档、覆盖率和经验闭环
约束:
- 归档前必须先通过实现验证和测试覆盖检查,确认后的 Delta 才能合并回主 Spec。
- 提交前再次检查归档是否完成,确保先归档、再提交。
检测:
- 测试场景分为 PASS、WARN、FAIL,判断是否存在明确实现证据。
- 从开发对话中提取并过滤有价值的踩坑经验。
- 记录代码变化、场景匹配、测试覆盖和变更追溯等过程指标。
产出: 更新后的主 Spec、验证报告、可复用的踩坑经验和过程度量;沉淀的经验会在下一轮 Apply 前重新加载,形成跨轮次闭环。

4.2.5 归档后的持续检测:巡检 Agent
Archive 完成后,代码仍可能在后续迭代中被修改,导致已归档的 Spec 与实际代码再次产生偏离;这种偏离往往是渐进式的,人工定期核对成本高、频率低。因此,我们引入了持续运行的巡检 Agent,作为 Harness 在归档之后的延伸。
约束:
- 已归档的 Spec 不允许被静静修改:任何导致偏离的代码变更均需被发现。
- 修复只能以 PR 形式提出,涉及 Spec 变化的 PR 必须经过 Code Review,不能全自动合入。
检测:
- 定期或在关键代码变更时自动比对 Spec 与代码。
- 发现偏离后自动生成修复建议。
- 持续上报偏离趋势数据。
产出: Spec–Code 对齐从"一次性归档验收"升级为"持续保障",偏离能在早期被发现和拦截。
4.3 为什么需要 CodingMaster App
痛点:
- 早期 SDD 工作流主要通过 CLI 交付,开发者需要记住初始化、提案、实现、验证和归档等命令。
- 还需要理解目录结构和各阶段产物;流程本身能够运行,但学习成本影响了团队采用。
定位: CodingMaster App 因此出现。它不是新的代码生成工具,而是 SDD 和 Harness 的图形化入口。
三种模式:
- Spec 模式:面向正式需求,完整走 SDD 流程。
- 快速开发模式:面向小范围修改。
- 对话模式:用于方案讨论和问题排查,不绑定 SDD 流程。
Spec 模式如何使用:
- 按步骤展示规格、设计、任务、代码差异和终端结果。
- 开发者通过"下一步"推进流程,不需要记忆底层命令。
- 关键产物仍需人工审核。

4.4 检验与修复自循环:让测试问题回到原开发会话
痛点:
- 传统流程中,开发完成、提测、测试提 bug、开发定位、修复、通知验收,每个环节都靠人工衔接。
- 信息在环节之间断裂,开发常常需要重新回忆需求当时是怎么实现的。
方案: CodingMaster 与测试平台打通后,形成检验与修复的自循环:测试发现的问题自动关联到开发会话,自动发起修复,修复完成自动通知验收,循环直至用例全部通过。
机制:
- CodingMaster 保留需求对应的开发会话,包含 Spec、设计、任务、历史经验和代码变更。
- 测试发现问题后携带需求信息,系统据此定位到原会话继续修复,避免重新解释需求和设计背景。
- 相比冷启动只能看到问题描述和当前代码,复用原会话能看到完整的设计决策和已规避的踩坑,修复更贴合原有约束。
闭环: 修复完成后,结果再次进入测试验收;未通过则继续返回原会话,直到相关用例通过。这个闭环把 Harness 从代码检查延伸到测试结果验证。

4.5 效果与总结
Harness 的价值不是生成更多代码,而是让规格得到执行、问题更早暴露、失败原因能够定位。CodingMaster App 则降低了这套流程的使用门槛。
系统投入使用以来,已经完成了超过数百个需求,输出了数十万行代码,随着迭代深入,代码贡献率、SDD 新增行数呈稳步增长——团队对 AI 辅助开发的依赖度和信任度在持续上升。
这些数据体现了三个方面:
- 质量可保障:Harness 将检查前移,测试覆盖率由不足三成提升到接近七成。
- 过程可度量:通过匹配度、覆盖率、迭代轮次和贡献率定位改进方向。
- 结果可追溯:Spec 关联需求、代码和测试用例,巡检 Agent 持续发现偏离。
五、TestPilot:测试用例的生成与管理
需求结构化之后,测试环节也需要同样的规范和自动化程度。长期以来,测试用例主要依赖人工编写和个人经验积累,格式不统一、检索效率低、新旧规则混杂,逐渐成为交付链路中最容易脱节的一环。
5.1 测试环节面临的问题
- 用例标准不统一:不同团队的用例格式、层级和写法差异较大,跨团队协作时需要反复对齐,历史用例难以直接复用。
- 编写与执行分散:用例编写、任务分配、结果统计分散在多个工具中,环节多、易出错,进度和缺陷关联难以实时查看。
- 业务知识依赖个人经验:历史逻辑和测试方法主要靠口头传承,新人上手成本高;原始需求文档非结构化、跨迭代分散,通用检索效率低。
- 用例库随迭代膨胀:废弃用例和相互冲突的预期长期并存,同一测试点可能有多条矛盾用例,难以确定当前生效的规则。
- 测试与开发脱节:双方主要靠人工沟通对齐,一旦需求或实现变更,另一方往往无法及时感知,同一问题需要反复确认。
5.2 核心设计
5.2.1 统一用例规范
为解决格式不统一、难以复用的问题,规范体系覆盖五个维度:
- 模板:前端和服务端使用不同的层级模板,明确各自需要填写的字段,也支持按业务线自定义。
- 术语:统一维护页面和模块的名称与关系,避免同一功能在不同用例里叫法不一致。
- 节点:用标准节点树约束用例的层级结构,并做必填项和格式校验,保证用例结构完整、可被机器解析。
- 组件:把常见场景封装成可复用组件,例如多分支实验、多端一致性检查、执行结果标记等,编写时直接引用。
- 标签:通过标签管理测试类型、优先级和自动化关联,方便筛选和统计。
在统一规范之上,平台支持按模板逐层展开的手工编写方式,编写过程中可以直接引用标准术语和可复用组件,并实时校验结构完整性。除了手工编写,还提供三类辅助能力:
- 历史用例搜索:用于新增功能场景,按需求、页面或测试点检索相似历史用例,减少重复编写。
- 召回用例推荐:用于需求不变、技术方案调整的场景,按影响范围召回相关历史用例,快速组成回归集合。
- AI 联想补全:输入部分用例内容后,自动联想并补全其余相关用例,提升编写效率和覆盖完整度。

5.2.2 多来源 AI 生成用例
规范建立后,系统支持从多种输入生成用例,覆盖不同研发阶段:
- 从产品需求文档生成需求用例:适用于全部产线,输出结构化的需求覆盖用例。
- 从前端技术需求生成前端用例:适用于已完成需求结构化的产线,输出结构化前端用例。
- 从技术设计和接口约定生成服务端用例:适用于已完成结构化设计的产线,输出覆盖参数组合、边界和异常场景的用例。
三类输入均经过解析清洗、需求点提取、历史用例对齐、用例生成和覆盖检查;结构化服务端场景还会增加质量门禁,在覆盖不足时自动修复,并支持多应用并发生成后汇总。

5.2.3 任务管理与执行
平台将用例组织为包含负责人和周期的执行任务,并支持任务创建、自动分配、进度统计和报告推送。
5.2.4 有效用例治理
有效用例树是当前版本下、覆盖全部功能的有效用例集合,用来回答"当前业务逻辑是什么",而不是历史用例的简单汇总。它的目标是识别重复、冲突和过时的用例,收敛出统一口径,同时为用例生成和知识问答提供现行有效逻辑的对照基准。
治理不是一次性动作,而是跨迭代比对、模型分析和人工确认相结合的持续过程:
- 整合比对:以已确认有效的用例为基准,将新增用例按页面、模块和测试点分组,形成新旧用例的比对集合。
- 模型分析:对每组用例判断关系——属于重复的保留较优版本,属于冲突的保留更合理的版本并说明理由。
- 结果写回:为每条用例标记有效、已废弃或未扫描的状态,废弃用例指向被保留的有效用例。
- 人工复核:测试人员对模型给出的结论做最终确认,可以调整保留、废弃或部分保留。
判断重复和冲突时,主要依据文本相似度、逻辑矛盾、跨迭代重复和时间顺序,版本较新的结论通常优先保留。
5.2.5 业务知识问答
业务逻辑和历史决策容易分散在个人经验和零散文档中,通用问答工具面对非结构化、跨迭代的内容时,容易遗漏或给出不准确的答案,原因主要在于三点:原始文档结构松散、难以稳定提取;同一功能的信息横跨多个迭代和文档,检索时不集中;答案缺少明确出处,难以核实。相比之下,治理后的用例本身具备清晰的页面—模块—测试点结构,天然适合作为问答的知识底座,也能展示具体依据。
早期问答主要依靠规则编排:先用固定规则识别意图,再执行一次检索并直接拼接结果,问法一旦变化就容易走错路径,答案也缺乏校验。现在的架构升级为模型自主规划检索路径:模型先理解问题、拆解成具体的检索计划,再按需调用不同的工具取数——统计类问题走统计工具,业务逻辑类问题走用例检索;取数完成后先进行结果校验,再以"思考—取数—结论"的方式流式呈现,使答案可以对应到具体用例,而不是一段无法核实的总结。


5.3 与开发侧的质量闭环
测试用例治理和生成能力与开发侧质量闭环的衔接,见 4.4"检验与修复自循环"。
5.4 实践效果与局限
目前,这套方法已在数十条业务线落地,沉淀数万条测试用例,AI 生成占比超过一半。实践表明,基于结构化设计生成的用例,其准确率和覆盖率明显高于直接使用原始需求;业务问答升级为模型自主规划后,回答质量也有明显提升,有效用例治理已在部分产线灰度运行。
体系效果仍依赖上游规格质量;用例冲突判断可能误判,高风险场景需要人工复核,业务问答也不能完全替代人工判断。
六、工作方式的变化与结语
6.1 引入系统后的工作方式变化
过去,产品、开发和测试分别理解需求,质量检查集中在开发完成后,缺陷也依赖人工传递。DevMaster 以共享规格连接需求、设计、代码和测试,使工作方式发生以下变化:
- 需求先结构化:产品需求经过澄清和人工确认,形成统一的验收规则。
- 协作边界先对齐:完整需求拆分到相关应用,前端、服务端和测试共享接口约定与验收标准。
- 规格驱动开发与测试:应用级规格继续生成设计、任务和测试用例,减少三方重复理解。
- 质量检查前移:编码过程中持续检查团队规范、编译结果、设计一致性、需求覆盖和测试覆盖。
- 问题回到原上下文:测试失败后,问题关联原需求、设计和开发记录,修复完成后重新验收。
下面两幅图分别展示完整交付链路和引入系统前后的研发流程对比。


6.2 展望
6.2.1 云端 SDD 开发流程落地
未来将在云端完成代码生成、运行、调试和验证,减少本地环境准备,开发者主要负责关键方案与结果审批。
6.2.2 自动化测试验证的接入
未来将引入自动化测试工具完成业务功能验证,并接入开发闭环;未通过的用例自动触发修复和重新执行,人工介入高风险或结果存疑的场景。
附录:术语表

参考资料
- Alistair Mavin、Philip Wilkinson、Adrian Harwood、Mark Novak:《Easy Approach to Requirements Syntax (EARS)》,IEEE International Requirements Engineering Conference,2009。 DOI:10.1109/RE.2009.9
- Fission-AI:OpenSpec 项目。官方网站;GitHub 仓库.
DevMaster 的实践路径揭示了一个关键判断:AI 编程工具的价值上限,并不取决于模型生成了多少代码,而取决于团队能否把需求理解、规格约束和质量验证串成一条可重复的工程链路。只要这条链路保持稳定运转,每一次迭代积累的认知都会成为下一轮的起点。关于 AI 驱动研发体系的更多探索与讨论,也欢迎在云栈社区与更多同行交流。