ARTICLE · 1002125
AI辅助软件开发流程(一)
一个功能验证清楚后再增加下一个功能,通常更稳妥。
第一:
让AI修改程序时,一定要加约束条件,描述的要清晰精准。
增加功能时使用固定格式,每次只提交一个明确需求。
例如:
本次只增加“图像模糊检查”。
不修改配准、OCR、条码和五类缺陷。
请说明:
1. 输入输出;
2. 判定规则;
3. 新增配置;
4. 对现有行为的影响;
5. 自动测试;
6. 人工验证方法;
7. 回滚方法。
模拟写法:
本次只增加图像模糊检查。
输入:一张待测图片。
输出:blur_score、阈值、PASS/FAIL和原因。
规则:blur_score低于配置阈值时返回IMAGE_QUALITY_FAIL;达到阈值时不影响后续流程。
验收:3张清晰图必须通过;3张人为模糊图必须失败;报告必须显示实测值和阈值;旧模板不增加字段也能运行。
非目标:本次明确不改变现有状态优先级;不改变现有JSON字段;不增加第三方依赖;不改变报告中已有字段;不重新生成模板;不影响旧模板兼容性;不修改与本功能无关的文件。
好的需求应该在实现前就能回答:怎样才算做完?否则AI很容易自己补充规则,最终实现虽然合理,但未必符合你的真实意图。
-----------
第二:
实现完成后,先不继续增加第二个功能,直到你可以回答:
每增加一个重要功能
→ 能说清用途,为什么需要它?
→ 能说清输入输出,什么情况下触发?
→ 能说清判定影响
→ 有测试
→ 有真实样本验证办法,怎样证明它正常?
→ 更新文档(核心工程文档:系统总览、判定规则表、变更记录)、(专项使用文档:操作说明、参数说明、报告说明、标定说明、部署打包说明)
→ 再增加下一个功能
-----------
第三:
每次功能迭代建议控制规模
理想的一次迭代应满足:
- 一个明确目标;
- 修改少量相关文件;
- 参数尽可能少;
- 有默认值并兼容旧模板;
- 有自动测试;
- 有一组实际验证图片;
- 有简短变更记录;
- 能独立回滚;
- 不顺便重构无关代码。
尤其避免一句需求同时包含:
优化精度
+ 提高速度
+ 增加新算法
+ 修改页面
+ 修改报告
+ 改变阈值
这些应该拆成多个阶段。
-----------
模板:
你可以直接保存这份简版提示词
以后每次可以先发给AI:
本次只实现一个功能:【目标】……【原因】……【输入】……【输出】……【判定规则】……【验收标准】……【非目标】本次不修改……不顺便重构无关代码。参数尽可能少,新增参数必须有默认值并兼容旧配置。请先检查工程并简要说明:1. 预计修改的文件;2. 对现有行为的影响;3. 是否影响旧模板和配置;4. 自动测试和人工验证方法;5. 风险与回滚方式。范围合理后直接实施。实施完成后:1. 运行新增测试;2. 运行全部原有测试;3. 列出修改文件;4. 说明变化与保持不变的行为;5. 更新相关文档和简短变更记录;6. 不继续增加其他功能。
一次只解决一个明确问题;先定义怎样算完成,再让AI实现;通过自动测试、真实样本和人工理解后,才进入下一项。