最近,我们经常被问到这样一个问题:既然有了大模型,直接用它合成数据就能快速生产,那还需要人工标注数据吗?
现在数据生产确实是这么干的,模型蒸馏已经成了行业里公开的秘密。让强模型出题,弱模型跟着学,几行配置,几百张卡挂机跑几天,就能刷出过去百人团队大半年的产能。甚至有人觉得,这完全可以像"永动机"一样,左脚踩右脚实现自我迭代。
但从我们的观察来看,这个结论并不成立。事实上,人工标注不仅依然必要,而且要求更高了。过去那种一天几百块请几个标注员干活的时代已经过去。根据我们的调研,目前国内专业领域的数据单条成本可高达几千元,海外价格更高。
"外包"行业不简单
很多人看不懂小扎为什么重金布局 Scale AI 这样一家数据标注公司,根本原因是不了解标注的真实价值。

这绝非简单的"人力外包"。Meta 看重的是 Scale AI 那套固化在工程流水线里的科学管理机制,以及他们的专家招募和任务评估体系。在后训练时代,标注的核心已从"识别图像"进化为"对齐复杂推理逻辑"。
Scale AI 能把医疗、法律、代码等高门槛领域的隐性知识,通过精密的 SOP 进行结构化拆解和专家筛选,把人类零散的智慧"提纯"为 AI 的核心资产。在算力趋同的当下,谁掌握了这套将"人脑认知"转化为"机器认知"的工业基础设施,谁就掌握了 AGI 竞争的终极变量。
这并非孤例,而是硅谷共识。据外媒曝料,数据标注独角兽 Surge AI 的估值正逼近 250 亿美元。更绝的是,它在融资前营收就已超 10 亿。

该公司的 CEO Edwin Chen(前谷歌科学家)就多次指出纯机器合成数据的问题。
他认为,大模型训练正深陷"榜单作弊"的怪圈:大家用脱离现实的合成题库训练和评测,养出了一批"高分低能"的做题家——模型写文章排版精美、语气讨好,一碰真实业务逻辑就拉胯。
Edwin 原话很扎心:"一万条 AI 批量生成的平庸对话,价值比不上一千条顶尖专家死磕出来的 Corner Cases(极端案例)。"
至于大家最爱吹的"生成成本趋近于零",他认为这本质上是在给未来埋雷——那些带着微小瑕疵的"毒数据"一旦混入底层,前期省下的那点标注费,后期往往要花成百上千倍的算力和人力去排毒。
新洞察的客观证据
作为国内 AI 数据标注领域的代表性公司,我们目前已服务多家大模型厂商。近期,我们的研究团队对数据合成做了深入研究,也进一步验证了上述结论。
我们对两个公开的编程训练数据集做了抽样审查,随机抽取标为 hard 的题目,由经验丰富的专家逐题拆解。审查三步走:先看参考答案能不能通过自身测试(Oracle 验证),再做静态代码审查,最后用大模型动态解题、分析逻辑轨迹。
分别是:
- SETA(Camel-AI 发布):号称全自动生成与验证的 SOTA 级合成数据集。地址:https://github.com/camel-ai/seta-env/

- Terminal-Bench Pro:阿里开源的号称 400 个经专家手工审计的复杂任务。地址:https://github.com/alibaba/terminal-bench-pro

但实际测试结果很打脸:两个数据集合格率一样低,近九成题目存在严重质量问题。问题分布如下:
| 问题类型 | SETA(纯 AI) | Terminal Bench Pro(AI + 人工) | 说明 |
|---|---|---|---|
| "标准答案"自己就是错的 | ~20% | ~10% | 参考答案无法通过自己的测试 |
| 没有训练价值 | ~35% | ~45% | 题面就是答案或假难题,照抄即可 |
| 题目与测试不匹配 | ~35% | ~35% | 做对了判错,做错了判对 |
| 勉强可用 | ~10% | ~10% | 没大问题,但训练价值有限 |
两个数据集的"不合格大头"高度一致:假难题和测试失真合计占了七八成。
人工参与虽然稍微减少了答案出错的概率,但在测试设计和难度校准上,几乎没有改善。
最后结论很残酷:纯靠 AI 合成不行,找不对人来把关也不行。
下面,我们详细看看这次审查的具体发现。
纯靠AI不靠谱
模型面对的不是难题,是废题。
这里模型面临太多的坑,我们来看看都有哪些坑?
第一,环境跑不通。
很多题目在 Docker 环境下根本跑不起来,题目直接报废。比如在任务 Harbor-Dataset/25中,题目要求修复一个日志处理脚本,但是 Dockerfile 中最后一行引用的文件 sample.log 并不存在,在执行 build docker 命令时会直接报错构建失败。Agent 也无法进入 Docker 沙箱去完成 prompt 中给定的任务。
每道题都需要一个 Docker 容器作为运行环境。AI 生成了 Dockerfile,其中会指定要把哪些文件复制到容器中。但问题是:Dockerfile 引用的文件,AI 忘了生成。他们对数据集全部 Dockerfile 进行了自动化扫描,发现不少题目存在这类问题。
这是 AI 的典型短板:在单个文件内能保持逻辑自洽,但在多个文件之间容易出现"引用悬空"。
第二,测试不靠谱。
奖励信号是错的,模型学到的是"碰运气"。
1. 测试了超出题目定义外的内容。
在任务 Harbor-Dataset/82 中,题目要求开发一个命令行工具,实现软件包依赖解析,支持两种升级策略。Prompt 中描述了需要完成的任务,但是并没有限制模型生成的 python 文件需要满足什么样的命名规范。但是在对应的测试中,却直接调用了 /app/pkg_resolver.py 脚本来执行测试。也就是说模型需要在完成任务的前提下,还需要猜中文件命名为 pkg_resolver.py。

2. 应该测试的内容没有测试。
Harbor-Dataset/836 要求编写脚本整理媒体文件,包括按规则重命名、记录操作日志、实现 dry-run 预览模式等。但是在测试中没有任何内容提及 --dry-run 的测试。也就是说哪怕模型完全忽略这个要求甚至胡乱实现,都可能拿到题目的满分。
3. 过严或者过松的标准,导致奖励信号几乎等于随机噪声。
测试用例就是"阅卷老师"。如果阅卷标准本身有问题,那分数就毫无意义。在强化学习训练中,测试用例是奖励信号(reward)的唯一来源。比如题目 Harbor-Dataset/82:开发一个命令行工具,题目只说了"开发一个命令行工具",没有指定工具叫什么名字、参数怎么传、输出用什么格式。但测试里却硬编码了工具名、硬编码了参数名、硬编码了输出措辞。这会给训练发送错误的信号——"你的方案不对",但其实方案没问题,只是名字不一样。
第三,题目没价值。
答案写在题面里,模型只是在练"照抄"。
指令已经把解题步骤和答案写得清清楚楚,模型不需要任何思考和探索,照抄即可。以 Harbor-Dataset/849 题目为例,它要求修复一个有 bug 的部署脚本,但是在脚本中清晰说明了所有的 bug 出现原因。

这类题目虽然都标注为 hard,但模型几乎总能做对,奖励信号的方差极低,梯度几乎为零。它们占用了训练资源,却不会带来任何能力提升。
总结下来,AI 能写出看起来完整的题目和测试代码,但在多文件协同、测试完备性、难度校准上,仍存在显著能力缺口。合成数据无法超越生成它的模型的能力上限。
那加上人类干预呢?
当前,"AI 生成 + 专家复核"是目前行业里公认的更优解,也很符合直觉。Terminal-Bench Pro 就是这个思路的代表,由领域专家手工审计调整,也就是有人类专家把关,规格比 SETA 高了不止一个档次。
但我们的抽样审查结果很残酷:合格率依然只有约一成。
剥开这 90% 的不合格数据,问题集中在两个层面:
一,专家需要管理,否则简单问题也会翻车
人不是万能的,缺乏有效的管理和流程约束,简单的常识性问题仍然会犯。
我们发现在 build-python-sokoban-solver 中,题目要求实现一个推箱子游戏求解器,题目描述中定义了四个方向的坐标映射:上(U)、下(D)、左(L)、右(R)。但 R(右)被写成了 (1, 0),和 D(下)完全一样。这是题目描述里"复制粘贴忘记改"的错误。雪上加霜的是,测试也只用了 1 张图验证,方向定义错了、求解器乱走,也大概率蒙混过关。

雪上加霜的是,这道题测试也有问题:环境里准备了 10 张地图,但测试只用其中 1 张运行求解器验证结果,其余 9 张只检查地图格式是否合法,根本不跑求解。方向定义错了、求解器乱走,也大概率蒙混过关。
二,需要真正懂行的专家,才能发现深层问题
就像前面提到,一些专业领域的数据标注成本高得令人咋舌,这其实是给专家认知买单。
比如这道题(build-nginx-1-24-production-server),要求配置 Nginx 服务器,核心功能是 API 限流:每秒 10 个请求。

测试脚本怎么验证?只发了 5 个请求,状态码为 200 和 503 的都算通过,只要有 3 个以上请求返回就行。这意味着:一台完全没有限流的服务器,5 个请求全返回 200,也能拿满分。限流要求形同虚设。不懂 Nginx 限流机制的审查者,看到"测试发了请求、检查了状态码",很容易觉得没问题。只有懂行的人才会意识到:这个测试从根本上就验证不了限流功能。
从上面两个例子可以看出,简单的专家复核并不能有效提升数据集质量,有效的组织和对口的安排也是关键一环。
这次研究得出的两个反直觉结论,戳破的并不只是"AI 能不能自己造数据"这个问题,而是一个更深层的行业假设:"只要有人看过,质量就有保障"。
小结
我们的研究团队用严谨的论据证明了一点:高质量的编程训练数据,既不能靠 AI 全自动生成,也不能靠"有人看过"就放心。必须是"懂行的专家 + 严格的质量管理流程",缺一不可。
我们一直认为未来最大的护城河是"高质量的人类专家数据"。现在为了贪便宜往数据里掺水,短期看解决了燃眉之急,实际上是饮鸩止渴。Benchmark 看上去很美,一用就废;把混杂泥沙的合成数据当底座,等于把客户信任放在火山口上。每一次看似微小的模型幻觉,在真实业务中都可能酿成灾难。
这正是我们这样新型数据标注公司创立的逻辑:招募最顶尖的领域专家,通过一整套科学和工程化的流程,提纯人类智慧,为客户沉淀真正的商业护城河。
附录 · 数据来源与案例索引
本文引用案例,均来自我们研究团队对以下两个公开数据集的抽样审查。
数据集来源
- SETA(Camel-AI):https://github.com/camel-ai/seta-env
- Terminal-Bench Pro(阿里开源):https://github.com/alibaba/terminal-bench-pro
引用案例来源
- Harbor-Dataset/25 · Dockerfile 文件缺失,容器直接报废
https://github.com/camel-ai/seta-env/tree/main/Harbor-Dataset/25- Harbor-Dataset/82 · 测试硬编码文件名,方案正确也判错
https://github.com/camel-ai/seta-env/tree/main/Harbor-Dataset/82- Harbor-Dataset/836 · --dry-run 功能完全未被测试覆盖
https://github.com/camel-ai/seta-env/tree/main/Harbor-Dataset/836- Harbor-Dataset/849 · bug 原因直接写在题面,照抄即满分
https://github.com/camel-ai/seta-env/tree/main/Harbor-Dataset/849- Harbor-Dataset/1055 · 配置步骤逐条列出,零决策零探索
https://github.com/camel-ai/seta-env/tree/main/Harbor-Dataset/1055- Harbor-Dataset/1249 · 完整命令和路径都在题干里,模型只需翻译
https://github.com/camel-ai/seta-env/tree/main/Harbor-Dataset/1249- build-python-sokoban-solver · 方向坐标复制粘贴错误,测试只用1张图蒙混
https://github.com/alibaba/terminal-bench-pro/tree/main/build-python-sokoban-solver- build-nginx-1-24-production-server · 限流测试发5个请求,不限流也能满分
https://github.com/alibaba/terminal-bench-pro/tree/main/build-nginx-1-24-production-server- bash-tree-diff-sync · 环境初始化直接给了最终状态,模型不做也对
https://github.com/alibaba/terminal-bench-pro/tree/main/bash-tree-diff-sync- analyze-arm-shellcode-network-connections · 答案藏在二进制里,静态读字节绕过动态分析
https://github.com/alibaba/terminal-bench-pro/tree/main/analyze-arm-shellcode-network-connections

