从技术方案设计到开发自测上线的AI实践
AI研发流程工程实践
一、后端研发工作概览
后端开发工作主要包括技术方案设计、开发、自测、联调、CR、上线,后边章节主要从这些具体的工作来描述下 AI 工具的使用以及一些个人的小技巧。
二、技术方案设计
2.1、常见问题
- 缺少技术相关的约束信息,比如技术选型、业务约束信息
- AI 生成的技术方案过于发散,过度设计
- 缺少关键模块,遗漏重要信息
- 遗漏异常处理、幂等、并发、事务、权限和兼容性。
- 技术方案和接口文档分别生成,最终出现遗漏或口径冲突。
2.2、具体实践
- 通过 AGENTS.md 固化团队约束,让 AI 在进入项目时自动读取。
- 补充项目特有约束,例如技术选型、模块边界、状态流转、外部依赖和兼容要求。
- 提供技术方案模板
我:根据需求文档XXX,阅读现有工程代码,按照技术方案模板,生成技术方案。其中重要约束:XXX
- 关键处理流程先对齐,再让 AI 画 plantUML 图
我:先对齐下创建任务的处理流程
AI:XXXXXX
我:XXX会不会有并发的问题,是不是XXX处理会更好些?
AI:XXXXXX
......
我:基于以上对话,生成创建任务的时序图,使用plantUML
- 根据接口文档模板生成接口文档
我:根据需求文档XXX、技术文档XXX,按照接口文档模板,生成接口文档。其中重要约束:XXX
- 对齐需求文档、技术文档、接口文档,确保无遗漏项、冲突项
我:对齐需求文档XXX、技术文档XXX、接口文档XXX,确保无遗漏项、冲突项、待解决项
2.3、人工检查点
- 方案是否满足真实业务目标,而不只是技术上可实现。
- 是否复用了现有能力,避免重复建设和过度抽象。
- 关键状态是否具备合法流转、幂等和并发控制。
- 接口、数据和配置变更是否兼容已有调用方。
- 异常是否有明确返回、日志、监控
三、开发自测
3.1、常见问题
- 技术方案过于笼统,AI 在缺少上下文时自行补全实现细节。
- 只覆盖正常路径,遗漏空值、极值、重复请求、并发和下游异常。
- 修改新功能时破坏旧接口、旧字段或历史数据兼容性。
3.2、具体实践
- 实际开发前,先让 AI 输出开发规划
依据需求文档、技术方案、接口文档和项目 AGENTS.md 制定开发规划。
- 按步骤开发,完成一个步骤,同时进行相关测试
完成步骤XXX,开发时同步开发单测
- 使用 curl 模拟接口请求进行集成测试
完成代码不等于完成任务。至少需要给出编译结果、测试结果、关键差异和未覆盖风险。无法执行的验证必须明确说明原因。
完成前检查
使用curl模拟接口请求进行集成测试,定时任务通过临时脚本触发。
最后汇总:修改文件、核心行为变化、验证接口及结果、兼容性结论、剩余风险。
如果有测试未执行,请说明具体原因。
四、联调
4.1、常见问题
- 前端请求缺字段、字段类型错误,或实际请求与接口文档不一致。
- 后端响应结构、字段名或错误码与约定不同。
- 只看到最终报错,需要按调用链定位问题发生在哪一步。
4.2、具体实践
- 复制前端入参,直接发给 AI 进行入参诊断
- 复制日志平台出入参,发给 AI,让 AI 对比接口文档进行分析
五、CR
5.1、常见问题
- 边界条件、异常路径被遗漏。
- AI 增加了很多业务上不存在场景的校验和处理
5.2、具体实践
- 先执行 AI Review,再由人工结合需求和项目背景复核。
- 按“必须修复、建议优化、待确认”分级,避免所有意见权重相同。
- 每个问题必须包含文件位置、触发条件、影响和修改建议。
- 对于 AI 判断错误的意见,记录误报原因,持续完善项目约束。
| 环节 | 更适合 AI | 必须人工确认 |
|---|---|---|
| 代码检查 | 异常处理、空值、重复代码、规范和测试遗漏 | 业务语义、方案合理性和隐性需求 |
| 风险分析 | 并发、事务、幂等、兼容性和安全检查清单 | 风险是否真实、影响是否可接受 |
| 修改建议 | 给出代码位置、触发条件和可选修复方案 | 选择最终方案并判断维护成本 |
对比当前分支与 master,结合需求、技术方案和项目规范进行 Review。
重点检查业务正确性、并发、事务、幂等、兼容性、安全和测试覆盖。
按“必须修复、建议优化、待确认”分级。
每项提供文件位置、触发条件、影响和建议;没有证据的问题不要下结论。
六、上线
6.1、常见问题
- 配置项遗漏
- 发布顺序错误,导致线上故障
- 无回滚方案,导致线上问题时无法快速回滚
6.2、具体实践
- 按照上线 checkList 模板生成上线 checkList,避免上述问题
对比当前开发分支和 master,并结合技术方案与上线 Checklist 模板生成检查清单。
评论与讨论
回复 :
留下你的想法