数据工程与清洗
Q:构造数据集遇到过什么难点,怎么解决?
来源:阿里 AI Agent 开发一面 【CVTE AI应用工程师一面追问:怎么合成数据集 / 合成数据集质量达不到预期怎么办】
新手答:“数据不够,就多标一些。”
高手答:
最大的问题不是数据不够,而是数据不真实。
人工构造的数据常常太标准——用户表达很整齐,参数给得很全,工具永远成功。结果上线之后用户一句话没说全,模型就不会了。
三个核心难点和解法:
难点一:数据不真实 → 把真实线上 query 引进来,按意图、复杂度、缺参情况、歧义情况分桶,然后做针对性补齐
难点二:标注不一致 → 同一种问题不同人可能给出不同工具路径,所以需要先统一 schema 和决策标准,再开始标注
难点三:长尾样本太少 → 靠模板改写、对抗生成和人工补充边界案例,把最容易出事故的地方优先补上
差距在哪:新手以为问题是“量不够”。高手知道问题是“质不真”。面试官想听的是你真实踩过的坑。
Q:预训练数据清洗方法?
来源:阿里 AI Agent 开发一面
新手答:“去重,过滤脏数据。”
高手答:
预训练数据清洗要解决三类问题:
| 类型 | 典型表现 |
|---|---|
| 脏数据 | 乱码、HTML 残留、脚本片段、异常符号、错误编码 |
| 重复数据 | 完全重复、近重复 |
| 低质量数据 | 广告、灌水、模板文、机器翻译残片、拼接错乱文本 |
处理流程分三步递进:
- 规则清洗:去标签、过滤控制字符、长度约束、语言检测
- 质量过滤:困惑度过滤、分类器识别垃圾文本、关键词规则
- 去重:MinHash、SimHash、LSH 做近重复检测
真正影响模型上限的,很多时候不是模型结构,而是预训练数据质量。
差距在哪:新手只说了两个词。高手按“规则→统计→算法”的层次把清洗逻辑讲清楚了。面试官考的是你有没有处理过大规模数据的经验。
Q:Agent 工具调用怎么训练?训练集该包含什么?数据怎么来?
来源:阿里 AI Agent 开发一面
新手答:“找一些工具调用的例子做微调。”
高手答:
训练集至少要覆盖三类样本:
- 该调用工具的——正样本
- 不该调用工具的——只教“会调用”不够,还得教“什么时候不要调”
- 多工具串并联调用的——复杂场景下的编排能力
数据来源一般有四种:
| 来源 | 做法 | 特点 |
|---|---|---|
| 人工标注轨迹 | 问题 → 思考 → 工具选择 → 参数 → 结果,整合成监督样本 | 质量高,成本大 |
| 线上日志回放 | 从高质量人工操作或已有系统中抽取工具调用链 | 真实,但需清洗 |
| 规则合成数据 | 用模板生成标准调用样本 | 量大,但多样性差 |
| 模型自举 | 用强模型生成轨迹,再人工检验修正 | 扩量快,需质检 |
真正关键的是负样本和边界样本——参数缺失、工具返回空、多个工具都可用但优先级不一……这些不补,模型上线很容易乱调。
差距在哪:新手只想到了正样本。高手覆盖了正/负/复杂三类样本和四种数据来源。面试官考的是你理不理解模型是怎么学会使用工具的。