同一份接口需求,我让模型写了两遍:差在验收,不差在文采
发表于:2026-10-07 11:48:06浏览:5次
我比的不是谁更像资深工程师
很多人拿两个模型比文采:谁的命名更像人、谁的注释更完整。我拿同一份需求写过两遍,用的是同一个模型。两遍都能交出看起来能跑的代码。拉开差距的不是文笔,是第一遍没有验收,第二遍有。
需求只有三句。老师登录后,选择班级和考试,导出成绩,列里要有姓名、学号、分数、是否及格。项目是 Webman,成绩在 MySQL 里。
第一遍:只丢需求
模型交回一个完整控制器。查用户、查成绩、写表格、返回下载。用一个 30 人的班级点一下,文件确实下来了。代码整齐,注释也全,拿去演示不会丢人。
不能上线的地方,它一个都没问:
- 请求里的班级编号被直接使用,没有核对这个老师是不是这个班的任课老师。别人改一个数字,就能把别的班下走。
- 一场考试两千人,它一次把行全部载入内存再写文件。演示数据看不出这个问题。
- 及格线写死 60。这套系统的及格线在试卷上,有的考试是 70。
- 文件名用了班级名。班级名里出现斜杠,保存路径就坏了。
这四件事后来都返工了。模型没有偷懒,它只是在你没说的地方做了最常见的假设。演示环境里,及格线正好是 60,班级不到五百人,也没有人去改请求,所以第一遍看起来和正确版本一样好。
第二遍:先写验收,再让它写
第二次我把提示词改成两段。第一段还是那三句需求。第二段是验收,并且加了一句:先不要写代码,先列出你打算采用的假设,等我确认再写。
它列出的假设里有一条:「及格线默认 60,如果以后有配置再改。」我直接否掉,告诉它及格线只读试卷表,没有配置就拒绝导出,不要猜一个数。来回只有两句话,但把后面一次返工消掉了。
确认之后的验收是这五条:
- 只能导出自己任课的班级。越权必须拒绝,文件一个字节都不能生成,并记一条日志。
- 及格线读试卷配置,禁止写死。
- 超过 500 行就分批查,不许一次载入全部。
- 文件名只保留中文、字母和数字。
- 先写两条验证:任课老师成功;张老师只教高一二班,请求改成高一三班必须失败。
第二遍的代码不一定更好看。它第一次提交就能对上业务,我只改了一处命名。
不要让它给自己盖章
有人会在代码写完后补一句:帮我把测试也写了。模型会按自己刚写的逻辑写测试,测试当然全绿。那不叫验收,叫自己给自己盖章。
验收要写在代码之前,用业务语言写,而且至少有一条是「必须失败」的。成功用例模型自己会凑。失败用例才说明权限真的存在,而不是页面上碰巧没有那个按钮。
| 要在写代码前定下来 | 不写时,模型通常会怎么猜 |
|---|---|
| 谁能调用,谁不能,拒绝时返回什么 | 只要登录就算有权限 |
| 关键数字从哪张表来 | 写成一个看起来合理的常数 |
| 最多多少行,超过怎么分批 | 按演示数据一次性查完 |
| 失败时用户看见什么,日志记什么 | 抛一个通用错误,或悄悄当成功 |
| 哪一条验证必须失败 | 只给你一条能跑通的示例 |
这五行写不清,换一个更贵的模型,也只是把错误写得更自信。若它开始写代码时还在问「及格线是不是 60」,说明五行里还有空,继续写,别让它猜。
文采是副产品。验收才是你和模型之间的合同。
栏目分类全部>
推荐文章
- 大模型量化技术:INT8 与 INT4 是什么
- OpenClaw 进阶:浏览器自动化、多模型接入与 Dashboard
- OpenClaw 连接 Telegram 完整教程(最推荐的入门渠道)
- 它说「已修复」,我只认这 4 个证据
- PhpStorm 链接管理Mysql数据库(远程数据库和本地数据库)
- 温度、Top-p 等采样参数详解:控制大模型的「脑洞」
- OpenClaw 快速上手:5 分钟跑通你的第一个 AI 对话
- 【Webman+MySQL答题系统九】登录鉴权:HMAC Token 与中间件
- Prompt 提示词工程入门:如何问出好答案
- OpenClaw 安装教程:Windows 环境从零开始

