Skip to content

评测数据集建设 ​

1. 数据集是持续工程资产 ​

1.1 背景 ​

Agent 评测数据集不能只是一批问答样本。真实任务包含用户目标、初始环境、可用工具、权限、成功条件、风险边界和期望业务状态。数据集建设的难点在于把这些业务语义稳定表达出来,并随着线上失败持续更新。

高质量数据来自产品需求、真实 trace、客服工单、运营反馈、红队样本、历史 bug、模拟用户和合成对抗样本。每条样本都要能复现,否则失败无法修复。

1.2 Case 结构 ​

json
{
  "case_id": "refund_001",
  "suite": "regression",
  "input": {
    "user_message": "帮我查询订单 2026-A17 能不能退款"
  },
  "environment": {
    "fixtures": ["orders_seed.json"],
    "permissions": ["order.read"]
  },
  "expected": {
    "outcome": "returns_policy_explained",
    "must_not_call": ["refund.create"]
  },
  "risk": "medium",
  "source": "production_trace"
}

Case 要描述环境和限制。没有 fixtures、权限和禁止动作,评测很难发现工具误用。

2. 数据集分层 ​

2.1 Suite 类型 ​

Suite来源目标运行时机
Smoke核心路径手工编写验证系统可用每次提交
Regression稳定能力和线上事故防止倒退PR 和发布前
Capability新需求和困难任务衡量能力提升nightly
Safety红队和策略边界阻断高风险发布前
Replay生产失败 trace验证修复事故后
Calibration人工标注样本校准 LLM Judge定期

Capability 可以随系统成熟迁移到 Regression。Replay 让线上失败进入持续改进流程。

2.2 数据流 ​

生产 trace 不能直接进入数据集。需要脱敏、裁剪、环境重建和成功条件定义。

3. 数据质量控制 ​

3.1 常见问题 ​

问题表现处理方式
样本不可复现同一 case 多次结果不一致固定环境和数据版本
成功条件模糊评分器无法判断定义 outcome 和禁止动作
数据泄露训练或提示中见过答案隔离评测集和开发样本
分布偏移离线高分线上低分trace 回流和分布对比
样本饱和全部通过,无改进信号增加 capability 和对抗样本

数据集要记录来源、版本和最后复核时间。业务政策变化后,旧样本可能需要更新。

3.2 样本审核流程 ​

python
def validate_case(case):
    required = ["case_id", "suite", "input", "environment", "expected", "source"]
    missing = [k for k in required if k not in case]
    if missing:
        return {"ok": False, "error": f"missing fields: {missing}"}
    if "outcome" not in case["expected"]:
        return {"ok": False, "error": "expected.outcome required"}
    return {"ok": True}

最小审核器先保证字段完整。成熟后可加入环境可启动、评分器可运行、敏感内容检测和重复样本识别。

4. 真实 trace 回流 ​

4.1 回流步骤 ​

步骤说明
识别失败低分、投诉、人工接管、异常成本
聚类归因按工具、策略、检索、模型错误分类
脱敏裁剪移除 PII 和无关上下文
重建环境固定数据库、文件、工具返回
定义评分写 outcome 和 trajectory 评分器
加入 suite进入 replay 或 regression

回流的关键是可复现。只有能在离线环境重现的失败,才能稳定验证修复。

参考资料 ​