#核心洞察
数据集是 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