一、背景与主题
随着 AI 辅助编程工具(如 GitHub Copilot、Cursor、Claude Code等)的普及,我们团队在 Electron + Vue + 本地 Node 服务 + 远程 Python 后端 这种多进程、跨语言架构下的开发效率显著提升。原型生成、前后端代码生成、API 对接等环节变得非常迅速。
然而,我们也发现了一个新瓶颈:测试阶段并未因为代码生成变快而缩短,反而在某些场景下变得更长。原因在于:AI 并行生成的前端、后端、IPC 通信等代码中,存在大量隐含的假设不一致(字段名、错误格式、数据类型等),这些误差逐级放大,直到集成测试时才集中爆发,导致调试成本急剧上升。
本次讨论的主题:如何通过 详细的产品 PRD 文档 + 可被 AI 遵循的规范 Skill,在开发阶段就约束跨层一致性,从而将问题左移,真正压缩测试周期。
二、我们要解决的核心问题
-
AI 生成的多模块代码隐含假设冲突
- 前端期望
userId,后端返回user_id - Python 服务返回整数
cost,Vue 组件当成字符串使用 - IPC 通道命名随意,参数结构不统一
- 前端期望
-
错误信息跨层丢失或混乱
- 本地 Node 调用 Python 失败后,只返回 "Error",无法定位是网络、参数还是业务错误
- 日志格式不统一,生产环境问题难以串联追踪
-
集成测试成为唯一的质量闸门
- 单元测试覆盖率低,且不验证跨层契约
- 测试阶段要同时处理多个层面的不兼容问题,大量时间花在"对齐"而非"验证功能"
-
AI 无法自动遵循团队的工程标准,更无法理解隐含的业务逻辑
- 没有显式规范,AI 只能按通用模式生成代码,不符合项目约定
- 没有详细 PRD,AI 会过度关注原型视觉而忽略业务规则(如边界条件、异常处理)
三、解决方案:PRD + 规范 Skill 双层约束
核心思想:以详细的产品 PRD 作为逻辑真相源,以规范 Skill 作为工程实现约束,两者配合让 AI 生成一致、可测的代码。
第一层:逻辑约束 ------ 详细的产品 PRD
在 AI 辅助研发中,一份结构良好、关注业务逻辑和约束的详细 PRD,其指导意义远大于原型 HTML。原型只能表达正常路径的视觉,无法传递数据校验、异常处理、计算规则等关键信息。而 PRD 可以明确:
- 业务规则与边界条件(例如"金额必须为 0.01~999999.99,超过 1000 需二次确认")
- 数据模型与字段定义(类型、必填、枚举值、单位)
- 非功能性需求(性能、安全、日志要求)
- 验收标准(Given-When-Then 格式)
PRD 应被写成结构化文档(Markdown + 表格 + 可嵌入 OpenAPI 片段),并作为 AI 生成代码的首要输入。AI 从 PRD 中提取确定性信息,生成符合业务逻辑的代码,而非仅凭原型猜测。
第二层:工程约束 ------ 规范 Skill 体系
在 PRD 定义"做什么"的基础上,规范 Skill 定义"怎么做"。我们确定了 6 个关键规范:
| 规范名称 | 解决的问题 | 交付形式(Skill) |
|---|---|---|
| 1. 错误处理与日志规范 | 跨进程定位问题,统一错误码与日志格式 | 错误码表 + JSON 日志模板 + 各语言 logger 实现片段 |
| 2. 数据序列化与校验规范 | 避免 JavaScript ↔ Python 数据类型映射错误 | 类型映射表 + Zod/Pydantic 同步方案 + 日期/空值约定 |
| 3. 组件通信规范(Vue) | 统一组件间事件、状态管理、props 定义 | 事件命名规则 + Pinia/Vuex 使用约束 + props 校验模板 |
| 4. 进程间通信(IPC)规范 | 规范 Electron 主进程与渲染进程的调用 | 通道命名规则 + 消息格式(含 requestId)+ 超时处理模板 |
| 5. UI/UE 规范 | 保证视觉一致性,减少 UI 回归测试工作量 | 设计 tokens + 组件库使用指南 + 响应式布局规则 |
| 6. 后端接口定义规范 | 统一 Python 服务 API 的请求/响应结构、版本管理 | OpenAPI 模板 + RESTful 命名 + 分页/错误结构标准 |
每个 Skill 以结构化 Markdown 文档存放于 .agents/skills/,在 AI 提示词中显式引用。
第三层:自动化检查 ------ 左移保障
- 契约测试:基于 PRD 生成的 OpenAPI 定义,自动生成前后端校验代码。
- Linter 规则:ESLint/Pylint 自定义规则,检查代码是否违反 Skill。
- Pre-commit 钩子:提交前运行类型检查、单元测试、格式校验。
四、如何落地:从 PRD 到规范到自动化
步骤 1:强化 PRD 编写
- 要求每个功能必须有结构化的 PRD,包含业务规则、数据模型、验收标准。
- PRD 作为 AI 生成代码的主要输入,原型 HTML 仅作为视觉参考。
步骤 2:编写规范 Skill
- 团队分工完成 6 个规范文档,统一放在
docs/skills/。
步骤 3:融入 AI 提示词
- 示例:"请遵循
docs/skills/error-handling.md和 PRD 中第 3.2 节的业务规则,生成此函数。"
步骤 4:实现自动化检查(第 3 周)
- 为每个规范至少实现一项自动校验(ESLint、pre-commit、契约测试)。
五、总结
在 AI 辅助研发时代,测试周期成为新瓶颈的根本原因之一,不是 AI 能力不足,而是缺少 逻辑约束(PRD) 和 工程约束(Skill) 的双层对齐。详细 PRD 确保 AI 理解业务规则,规范 Skill 确保 AI 输出一致的代码结构。两者配合,加上自动化检查,就能让集成测试回归业务验证,真正缩短测试周期。
掘友们有什么好的测试工具推荐吗?