Agent · 数据
07|Agent 数据处理:任务契约、语义去重与难例
将工单类任务组织成可回放的数据集。按场景家族拆分、保存环境快照,并覆盖拒绝、追问和多解。
章节 · 数据与评测
登录后可保存进度和领取学习积分。
目标:做一份可重放、可分组、能自动评分的 Agent 数据集。示例是客服退款工单,使用虚构订单和沙箱 API。
01|数据行要有环境和任务契约
建议字段:task_id、family_id、user_input、initial_state_ref、tool_schema_version、policy_version、oracle、difficulty。oracle 记录成功谓词、允许的状态差异、禁止副作用和必要的回复要素;训练示范工具轨迹另存,不作为评测输入。示例「查退款资格」与「实际退款」不同:前者即便答案正确,若状态发生退款也应判失败。工具参数里的金额、币种、用户和订单 ID 要有确定类型,不拿自然语言串作为唯一判据。
02|切分按家族,不按随机行
先做规范化文本哈希和近重复候选,再按模板、实体族、工具序列与规则版本审查。保留 group manifest,确保同源改写和同一历史工单不会横跨训练与测试。专留组合能力(已知工具新组合)、新场景家族和故障恢复切片。保存数据生成提示版本、去重规则、标注冲突和复查样本,模型挑选时不回看最终测试标签。
03|难例要有行为边界
构造成对样本,只改一个条件:同一个订单申请退款,有无确认;两个同名订单,是否存在可消歧信息;工具响应丢失前是否已经写入。标出需追问、应拒绝和无需调用工具的样本。工具观察可以有多种格式,允许等价的调用顺序,但最终状态和禁止副作用必须一致。真实日志进入训练前要去标识、删密钥和私有内容;能用合成工单就先用合成工单。
练习|附件生成合成任务并审计模板、实体和规范化签名是否跨集合。加两条只换订单号的改写,验证它们被留在同一家族。尝试为「查询资格」写一个检查状态零变化的 oracle。