核心洞察
数据集是 AI Engineering Loop 中连接生产洞察和开发迭代的桥梁。
不是部署后祈祷最好,而是在代表性输入上获得可重复、一致的检查。
AI Engineering Loop 回顾
生产环境 开发迭代
─────────── ───────────
tracing datasets
monitoring experiments
↓ ↓
洞察 → ───────────────── → 改进
↑ ↑
新数据 ← ──────────────── 部署
循环:每次部署改进 → 产生新数据 → 团队持续循环。
数据集在循环中的位置
前两步:
- Tracing — 应用追踪
- Monitoring — 实时监控
→ 提供可见性 + 改进灵感。
问题:发现值得改进的地方后,如何在部署到生产前测试变更?
答案:数据集 → 实验 → 评估。
数据集项结构
三个字段
| 字段 | 必需 | 说明 |
|---|---|---|
| Input | ✅ | 应用应能处理的场景 |
| Expected output | ❌ | 取决于评估器类型 |
| Metadata | ❌ | 附加信息 |
预期输出模式
1. 精确匹配(Exact match)
定义:预期输出是字面正确答案。
示例:
- 分类任务:正确标签
"billing_inquiry" - 提取任务:预期实体
["Paris", "Thursday"]
2. 参考答案(Reference answer)
定义:gold-standard response,展示好的输出应该什么样。
评估方式:
- 语义相似度对比
- 关键点匹配
3. 评估标准(Evaluation criteria)
定义:输出应满足的检查/要求列表。
示例:
- "must mention the refund policy"
- "must include a link to the help center"
评估器:检查输出是否满足这些标准。
4. 无参考(Nothing)
场景:不需要预期输出。
检查项:
- tone 是否专业
- response 是否安全
- output 是否遵循 required format
评估器:reference-free evaluator。
组合使用
单一数据集项可运行多种评估器组合。
expected output 是 JSON 字段,可存储多种参考数据类型。
高质量数据集原则
1. 范围清晰
| 类型 | 说明 |
|---|---|
| 端到端 | 将内部步骤视为实现细节 |
| 单步骤 | 针对 retrieval、summarization 等特定步骤 |
结果:多个数据集,每个有明确目的。
2. 尺寸适配工作流
| 尺寸 | 用途 | 频率 |
|---|---|---|
| 小且快 | CI/CD pipeline | 每次 push |
| 大且全面 | 定期运行 | 周期性,小变更太耗时 |
构建起点
三步策略
1. 从生产 traces 拉取
→ 发现的具体示例
→ 原样 / 匿名化 / AI 转换
2. 添加手写案例
→ 预定义需求
→ 边界案例
→ Agent 必须可靠处理的行为
3. 生成合成示例
→ 用 AI 生成
→ 知道要覆盖哪些维度后
→ 扩大覆盖范围
建议
从最具体的示例开始,知道要测试什么后再扩展覆盖。
下一步:Experiments
定义:运行系统看变更如何影响输出质量。
链接:https://langfuse.com/academy/experiments
资源
- 作者:Lotte (@lotte_verheyden),Langfuse
- 原文:https://x.com/lotte_verheyden/status/2056032201259831398
- Langfuse Academy:https://langfuse.com/academy
- AI Engineering Loop:https://langfuse.com/academy/ai-engineering-loop
- Tracing:https://langfuse.com/academy/tracing
- Monitoring:https://langfuse.com/academy/monitoring