| name | xx-data |
| description | 数据中心与AI评估方法论技能。当产品的 AI 能力需要提升输出质量、用户只靠改prompt碰运气、或缺乏系统化的评估方法时使用。基于Andrew Ng的Data-Centric AI思想,建立评估集、做离线/在线评估、绑定prompt与数据版本,用数据迭代而非盲目调prompt。输出数据迭代日志。AI 按本规范维护评估集与日志,用户按判断标准判断质量好坏。 |
数据中心:用数据迭代 AI,不只靠 prompt
模型是黑盒,但数据是你能控制的。80% 的 AI 质量提升来自数据。
这个技能做什么
帮你建立 Data-Centric AI 思维,用系统化的数据方法提升 AI 输出质量,而不是靠"改 prompt 碰运气"。
输出一份可追溯的数据迭代日志。
读者说明: 本 skill 主要给 AI 执行规范(建评估集、跑评估、记日志的流程),次要给人判断标准(拿到结果能判断是不是真的好)。用户不需要自己算指标,只需要会挑 bad case、能说出"这个命名不对,应该叫 XX"。
1. Data-Centric vs Model-Centric
| 思路 | 做法 | 效果 |
|---|
| Model-Centric | 改 prompt、换模型、调参数 | 短期提升,天花板低 |
| Data-Centric | 改数据、加样本、修评估集 | 长期提升,可持续 |
Andrew Ng 的观点:固定模型,迭代数据,效果往往好于固定数据,换模型。
判断标准(给人): 你最近一次提升 AI 质量是靠"改 prompt"还是"加样本"?如果总是改 prompt,说明还在 Model-Centric,该换思路了。
2. 评估集(Golden Set):你的标尺
评估集 = 一组有标准答案的测试样本,用来量化 AI 输出质量。
2.1 怎么构建评估集
- 数量:20-50 条起步(小产品),核心场景扩展到 100+
- 覆盖:正常 case + 边界 case + 反例 case
- 避免:只挑容易的,只挑自己熟悉的
2.2 评估集的 3 层结构
- 训练样本(few-shot 示例):给 AI 看的
- 评估样本(评估集):跑分的
- 线上样本(采样):监控真实分布的
铁律:评估集和训练样本不能重复——否则等于考试抄答案。
2.3 小象取色评估集示例
以"取色命名质量"为评估对象,评估集结构:
| 样本类型 | 输入 | 标准答案 | 数量占比 |
|---|
| 正常 case | #8B0000 深红 | 故宫红 | 60% |
| 正常 case | #4A90A4 青灰 | 天青色 | — |
| 边界 case | #F5F5F5 近白 | 月白 | 20% |
| 边界 case | #1A1A1A 近黑 | 玄色 | — |
| 反例 case | #FF00FF 猩紫 | (标注:不可编造为"霓虹紫",应归为"品红/洋红") | 20% |
判断标准(给人):
- 评估集里有没有"反例 case"?没有 → 不合格
- 标准答案是你自己拍脑袋定的吗?最好有出处(如《中国传统色》色谱)
AI 执行约束:
- 评估集必须包含正常/边界/反例三类,不能全是简单样本
- 每条样本的"标准答案"必须有依据,不能 AI 自己编
- 评估集与 few-shot 示例物理分离存储,禁止互相引用
3. 数据迭代循环
发现 bad case
↓
分析根因(数据问题 / prompt 问题 / 模型问题)
↓
如果是数据问题:
├─ 补充同类样本到评估集
└─ 补充 few-shot 示例
↓
如果是 prompt 问题:
└─ 改 prompt(记录版本)
↓
跑全量评估集
↓
指标提升 → 上线
指标下降 → 回滚,重新分析
AI 执行约束: 每次只能改一个变量(要么改数据,要么改 prompt,要么换模型),不能同时改多个,否则无法归因。
4. 评估方法论
4.1 离线评估 vs 在线评估
| 类型 | 何时做 | 指标 | 陷阱 |
|---|
| 离线评估 | 上线前用评估集跑 | 准确率/召回率/人工评分 | 评估集污染训练集 |
| 在线评估 | 上线后看真实行为 | 完成率/重试率/负反馈 | 新老用户数据混着看 |
4.2 关键认知:离线指标好 ≠ 上线效果好
很多团队离线跑分很高,上线后用户还是不满意。这种 gap 必须靠"在线指标 + 人工抽样"弥合。
小象取色示例:
- 离线指标:评估集准确率 85%
- 在线指标:用户取色后"重命名率"(用户不满意、重新取色)> 30% → 说明离线分高但实际不满意
- gap 根因:评估集全是纯色,线上多是混合光环境下的偏色
判断标准(给人): 离线分高但用户骂,先别信离线分,去看线上 bad case。
AI 执行约束: 离线评估结果必须同时记录"评估集版本",不能只报一个准确率数字。
5. prompt 版本与数据版本绑定
改 prompt 要记版本,改评估集也要记版本,两者必须绑定:
prompt v1.2 + eval-set v3 → 准确率 78%
prompt v1.3 + eval-set v3 → 准确率 82%
prompt v1.3 + eval-set v4 → 准确率 85%(加了 10 条边界 case)
铁律:每次改 prompt 或改评估集,都要重新跑全量评估,记录结果。
AI 执行约束: 日志里每一行必须同时有 prompt 版本和 eval-set 版本,缺一不可。
6. 常见陷阱
陷阱 1:评估集和训练集污染
评估集里的样本出现在 few-shot 示例里,等于考试抄答案,跑分虚高。
应对: 评估集和训练样本分开管理,版本独立。
陷阱 2:只挑容易的 case
评估集全是简单样本,上线后遇到复杂 case 就崩。
应对: 刻意补充边界 case 和反例 case。
陷阱 3:只看准确率
准确率 90% 看着很好,但最关键的 10% 场景全错了。
应对: 按场景分桶看准确率,不只看整体。
陷阱 4:一次改太多变量
同时改 prompt + 换模型 + 加数据,不知道哪个起作用。
应对: 每次只改一个变量,跑全量评估对比。
判断标准(给人): 跑分涨了但说不清是哪个改动起的作用 → 等于没学到东西。
7. 输出:数据迭代日志
AI 参考输出格式:
## 数据迭代日志 — [产品/功能名]
### 当前版本
prompt: v1.3
eval-set: v4(50 条)
准确率: 85%
bad case 数: 8
### 评估集分布
| 类型 | 数量 | 准确率 |
|------|------|--------|
| 正常 case | 30 | 93% |
| 边界 case | 12 | 75% |
| 反例 case | 8 | 62% |
### 历史记录
| 日期 | prompt | eval-set | 准确率 | 改动说明 |
|------|--------|----------|--------|---------|
| 07-01 | v1.0 | v1(20条) | 60% | 初版 |
| 07-02 | v1.1 | v1 | 65% | 加了输出格式要求 |
| 07-03 | v1.1 | v2(30条) | 70% | 评估集补充边界 case |
| 07-04 | v1.2 | v2 | 73% | 改了角色设定 |
| 07-05 | v1.3 | v3(40条) | 80% | 加了 3 条 few-shot 示例 |
| 07-05 | v1.3 | v4(50条) | 85% | 评估集补充反例 case |
### 下一轮待解决 bad case
1. #FF00FF 被命名为"霓虹紫"(应归品红)
2. ...
判断标准(给人,日志验收清单):
AI 执行约束: 日志必须可追溯——任一行都能复现当时的 prompt + 评估集 + 结果。
使用方式
把你的 AI 产品的当前状态告诉我,我帮你建立评估集和迭代日志。
对话示例:
- "小象取色的命名老是不对味,怎么提升" → 我帮你建取色命名评估集(正常/边界/反例)
- "我有一堆取色截图,命名都不满意,能怎么用" → 我帮你把这些 bad case 转成评估集样本
- "离线跑分 90% 但用户骂,为啥" → 我帮你分析离线/在线 gap,看是不是评估集太简单
- "改了 prompt 涨了 5 分,但不知道是不是运气" → 我帮你回滚对照,确认归因
与其他技能的关系
- 前置: xx-prd 定义 AI 质量标准(评估集的及格线来自这里)
- 并行: xx-ai 的 prompt 工程是本 skill 的迭代对象(prompt 版本绑定数据版本)
- 下游: xx-track 上线后采集线上 bad case,反哺本 skill 的评估集
- 安全交汇: xx-safety 的敏感词测试 case 也应进评估集(反例 case 的一种)
方法论来源
- Data-Centric AI — Andrew Ng(吴恩达),"固定模型,迭代数据"
- Offline/Online Evaluation Gap — 机器学习工程实践经验
- Golden Set 方法 — 评估集构建与污染防范
- Version Control for ML — DVC / MLflow 的版本绑定思想