给我需求,用AI开发,怎么保证完成质量高完成任务

来自夹夹 QQ 群讨论,审核后公开 · 。查看原始讨论

提问

给我需求,用AI开发,怎么保证完成质量高完成任务

回答

先说结论:AI 写代码的质量上限,取决于你把任务切得多具体,以及你留了几道自动校验关卡;这跟模型是否足够聪明关系不大。

具体做法分四步。

一、需求先变成可验收的东西。给 AI 的需求不能写成「做一个用户管理模块」;要写成「接口 POST /users 接收 name、email,校验 email 格式,成功后返回 201 和 id,重名返回 409;再加三个单测覆盖这几种情况」。判断标准是:如果你没办法写出一条命令来验证它做对没有,这条需求就还不算准备好给 AI。这一步花掉的时间往往比写代码多,但省下的是返工。

二、给它约束,而不是只给愿望。把项目现状一起递过去:技术栈、目录结构、已有的相似代码(让它照着写)、不允许引入的新依赖、命名规范。AI 最大的出错点在于它不知道你的上下文,于是自己发明一套。有相似模块时,直接说「照 modules/order 那套结构写」比写十行说明有效。

三、设好自动检查环节,让它自己发现错误。这是质量的核心机制,而不是靠你逐行 review。到位的最小组合:类型检查、lint(含格式)、单测。跑不通就不允许它说「完成了」。再往上加 Hook:每次改动文件后自动跑 lint 和单测,失败就退回让它修,修不好就停下问你。这一步把「AI 说做完了」变成「检查通过才算做完」,是效率差别最大的地方。

四、分小步,一次只让它做一件能验证的事。一步一个可运行的检查点,做完就跑一遍、看一眼 diff 再进下一步。大任务一次性丢给它是质量问题的主要来源:它会在中途走偏,而你看不出是在哪一步偏的。看 diff 时重点看三处:有没有偷偷改你没让它动的文件、有没有吞掉的错误处理(try/catch 空着)、有没有假装通过的测试(断言写成了永真)。

再补两个容易被忽略的点。

测试不该让 AI 全自动生成。让它写测试,它容易写出「顺着自己实现走」的测试,等于没测。可行的做法是:你先写关键用例的断言(哪怕只有三条),让它补实现;或者让它先写测试、你过一遍断言再放行。

以及兜底口径。明确告诉它「不确定的地方停下来问我,不要猜」。默认行为是它会编,尤其是API 签名、配置项、包的版本,这些必须查真实文档或让它读源码,不能信它的记忆。

你现在具体要开发什么?是实习那个子系统的功能,还是自己的项目?说清楚我可以给你一套贴合的任务切分和检查单。