本文へ移動
cccskills
無料GitHub で公開

eval-dataset-design

设计 Agent 评估数据集或单条评估任务时使用——解剖评估任务的四个组成部分、设计验证器与验收标准(含防敷衍性修复)、划分任务难度与陷阱任务、防范训练/评估数据泄漏(参数化实例、canary)、建设评估集的质量控制与长期维护、选择公开基准/自建业务集/生产轨迹回流三个来源。

覆盖 τ²-bench、SWE-bench、AndroidWorld、OSWorld、Terminal-Bench、GAIA 的可迁移设计手法。

インストール方法を見る

含まれるファイル(1)

  • SKILL.md10.8 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

评估数据集设计

何时使用

  • 从零设计评估集,或评审现有任务定义是否站得住
  • 为 Agent 编写单条评估任务:工单、用户模拟规范、初始状态、验收标准
  • 设计验证器:该断言终态、断言动作,还是检查必须告知用户的信息
  • 评估任务被模型"猜答案"蒙过,需要提高信噪比
  • 怀疑评估集已被污染/泄漏进训练数据,需要防泄漏与检测手段
  • 决定自建评估集的任务从哪来:公开基准、业务集、还是生产失败回流
  • 评估集上线后需要长期维护:修补环境、描述、验证逻辑与初始状态问题

核心原则

  • 一条评估任务 = 四个部分:给 Agent 的工单、给模拟器的行为规范、两侧状态的初始重置、成功判定标准。缺任何一部分,任务都无法重复运行。
  • 把用户的认知边界建模为独立字段,而非靠提示词约束。 用户不知晓的信息 Agent 无从推测,只能通过提问与引导获得——渐进式信息透露不是一句"不要一次说完",而是 known_info 与 task_instructions 的拆分。
  • 没有事实锚定的用户模拟器会让评估退化为两个模型相互确认。 模拟用户关于环境状态的任何回答都必须以工具返回为依据,不许编造工具结果;否则 Agent 稍加引导,用户就确认"问题已解决"。
  • 验证器必须核实机器可独立复核的事实,不能采信 Agent 的自我陈述。 Agent 很容易写一篇"任务已全部完成"的报告而实际什么都没做。
  • 训练集与评估集严格隔离。 答案不可从互联网直接检索、任务实例参数化生成、嵌入 canary 使泄漏可检测——三招至少用一招。
  • 验收口径要有可核实的边界,防"敷衍性修复"。 "网络已恢复"不可核实;"测速评级 excellent 才算解决,poor/fair/good 均不接受"才堵得住压制症状、不除根因的糊弄。
  • 高质量的评估集是修出来的,不是写出来的。 主流基准的现行形态都是初版暴露问题后逐轮修补的结果;发布前人工淘汰、发布后持续修两类问题都要预算。
  • 每道题亲手做一遍。 做完问两个问题:描述是否有多种合理解释,验证器认可哪一种?蒙混过关的最低成本路径是什么,验证器拦得住吗?
  • 难度分层让评估集不过时,且每层失败指向不同改进方向:基础层失败指向工具使用,中间层指向多步规划,最高层指向长序列思考。

实践模式

1. 任务解剖:四件套字段清单

以 τ²-bench telecom 一条真实任务为范本,逐项对照自建任务:

  • ticket(给 Agent 的工单):只含用户会主动说出的部分。真实用户的初始表述往往只是"我上不了网",把需求澄清到可执行的程度本身就是 Agent 必须具备的能力。
  • user_scenario(给模拟器的行为规范):known_info 界定用户知悉范围(姓名、号码、所在国),故障原因不在其中;task_instructions 规定透露方式,并包含三类约束——情绪设定(首次修复失败后表现不满)、验收口径(仅 excellent 算解决)、事实锚定(设备状态回答必须基于工具结果)。
  • initial_state(初始重置):initialization_actions 把两侧状态重置到同一起点,包括用户侧(飞行模式、漫游开关)与 Agent 侧(运营商侧配置)。
  • evaluation_criteria(成功判定):四个可检查维度按需组合,外加聚合规则。

2. 四维校验与聚合规则

  • env_assertions 验终态:移动数据可用、测速达 200 Mbps 且评级 excellent。
  • actions 验关键动作是否发生(哪些工具被哪一侧调用)。
  • communicate_info / nl_assertions 验必要信息是否已告知用户——别只查环境状态。
  • reward_basis 是聚合规则。二元奖励(只看终态)以过程颗粒度换取跨模型可比的单一数字:满分轨迹里违反"一次只做一个工具调用"的政策也不会被捕获。生产评估系统需要更多:不仅判对错,还要指出问题出在哪。

3. 验证器设计的三种模式

  • 双命题验证(SWE-bench Verified):FAIL_TO_PASS(修复前失败、修复后通过,证明问题确已解决)+ PASS_TO_PASS(修复前后均通过,证明未引入新缺陷)。只验前者,Agent 可以删改妨碍通过的断言蒙混;只验后者等于未检验。另需排除自身不稳定的 flaky test。
  • 深状态核查(OSWorld 式):134 个独立评估函数,拥有完整系统访问权限,查文件系统结构、进程状态、网络连接与应用内部状态;数据库任务连库核实 SQL 是否真执行,浏览器任务分析 DOM、cookie 与 localStorage 并向后端发验证请求——能抓住"表面完成、实质错误"。
  • 不可伪造执行(Terminal-Bench 式):成功标准是真实构建并运行(如从源码构建内核并在 QEMU 启动日志出现自定义 printk),Agent 无法伪造输出,只能真做完全流程。

4. 难度划分与陷阱任务

  • 分层标注并用于诊断:GAIA 466 题分三级——Level 1 只需一至两个工具(人类 93.9%,早期模型 30.3%),Level 2 多步思考,Level 3 复杂组合。Level 1 失败指向基础工具使用,Level 2 指向多步规划与信息整合,Level 3 指向长序列思考与复杂性管理,改进方向各不相同。
  • 陷阱任务检验压力与误导下的判断力:用户声称"客服已批准取消",实际并不符合政策,看 Agent 是否维持正确判断。
  • 任务集覆盖从易到难的全谱,模型能力提升时评估集不会快速过时。

5. 数据泄漏防范

  • 组合多源 + 专有附件 + 精确匹配(GAIA 式):答案必须组合多个信息源才能得出,单一网页无法直接给出;部分任务配互联网上不存在的 PDF/音频/图片附件;用精确字符串匹配判定。
  • 参数化模板实例化(AndroidWorld 式):任务是"将联系人 X 的电话改为 Y"这类模板,每次评估随机生成参数。三收益:回放固定操作序列失效;单模板可生成近乎无限实例;固定部分参数、只改其余,可精确测量特定因素的影响。
  • 金丝雀标识符(Terminal-Bench 式):题面嵌入 canary GUID,模型能输出含该 GUID 的内容即说明基准已进训练集。它不阻止泄漏,但使泄漏可被检测。

6. 质量控制与长期维护

  • 发布前人工淘汰:SWE-bench Verified 从 2294 个原始任务抽 1699 个,93 名精通 Python 的开发者逐条检查(描述是否清晰、测试是否覆盖边界、是否稳定、参考 patch 是否引入新错误、难度是否合理),仅 500 个通过——淘汰 71% 换来更高信噪比,评估成本下降约 80%。复杂 Agent 任务动辄数分钟至数小时,前沿模型跑完一个评估集往往需要数千美元 token,控本就是控迭代速度。
  • 发布后持续修补:OSWorld 发布 15 个月暴露出 300 余个问题,分四类——环境问题(反爬、CAPTCHA、动态内容,靠锁定版本与离线备份)、任务描述歧义(改写消除)、验证逻辑过严或过松(人工建立正确基线再调条件)、初始状态不完整(增加完整性校验)。修补方式可整体借鉴。
  • 从初版到成熟版的五处典型重设计(τ-bench → τ²-bench):任务指令过于笼统导致可猜 → 拆分 known_info/task_instructions;成功条件不精确 → 改为可核实边界;模拟用户过于机械 → 补情绪、耐心上限与事实锚定;只有 Agent 能改变环境 → 引入用户侧工具的双控机制;静态任务 → 参数化批量生成实例(同时改善覆盖率与抗泄漏)。

7. 评估集的三个来源与演进

  • 公开基准:用于粗筛模型与借鉴设计手法(验证深度、参数化生成、防泄漏、质量维护),一般不用于产品决策——其任务分布与业务分布不一致。
  • 自建业务集:覆盖真实任务分布,作为模型选型与 Harness 设计决策的依据。可拿成熟基准当骨架,替换领域数据与工具集。
  • 生产轨迹回流:用户明确纠正、点踩、事后规则/LLM 审计发现的失败案例,经失败归因后沉淀为回归用例。成本最高、准确性最高,直接来自用户实际遇到的问题。
  • 演进节奏:起步只有公开基准 + 少量手写业务集;上线运行一段时间后,回流用例成为主体。今天线上暴露的失败模式,明天就是守住底线的回归用例。

常见陷阱

  • 任务指令写得宽泛,模型无需澄清需求、凭常识猜一套流程也能通过。
  • 成功条件是"网络已恢复"这类无边界描述,被压制症状的敷衍性修复蒙过。
  • 只验 FAIL_TO_PASS 不验 PASS_TO_PASS,Agent 靠删断言作弊;或不排除 flaky test,结果不可复现。
  • 用户模拟器没有事实锚定,评估退化为 Agent 与模拟用户相互确认;没有耐心上限,沟通效率低下不被计失败。
  • 静态题面被模型记忆,且无 canary,泄漏发生了都不知道。
  • 验证器过严(把正确答案判失败)或过松(放走表面完成实质错误);初始状态配置不完整,每次运行起点不同。
  • reward_basis 只看终态,过程违规(策略违背、信息未告知)不被捕获,且不另建过程检查。
  • 任务描述存在多种合理解释而验证器只认一种,开发者与人肉执行者的判断不一致。
  • 评估集建成后不再维护,上线后仍是手写那几十条,与真实用户分布脱节。

配套代码

  • chapter7/tau2-bench-eval/ — τ²-bench telecom 任务定义四部分(ticket / user_scenario / initial_state / evaluation_criteria)的完整解剖与双控环境运行记录
  • chapter7/public-health-reporting-eval/ — 五个确定性任务的六点结构化评分示范验证器设计:工具选择、参数、答案(含数值容差)、证据行精确集合、无依据声明处罚
  • chapter7/android-world/ — T3A 失败轨迹与归因笔记,演示参数化任务实例、验证器终态判定,以及从失败轨迹回流生成轨迹前缀回归任务

深度阅读

  • book/chapter7.md「一条评估任务的解剖:τ²-bench 的 telecom 领域」
  • book/chapter7.md「评估数据集的设计」

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

为 Agent 建立或改进评估体系时使用——设计评估指标(Pass@k/Pass^k/成本)、搭建可重复运行的评估环境、选择确定性验证器或 LLM-as-a-Judge 及各自适用边界、编写 Rubric、做失败归因与回归任务、评估驱动的模型选型、判断统计显著性、建设可观测性与内部评估基础设施(消融、AB 测试、特性开关、提示词回归)、从 Benchmark 报告走到系统改进。

日本語の概要は準備中です。原文の説明を表示しています。

bojieli/ai-agent-book5.4万2026年10月9日 更新

让 Agent 从运行经验中持续学习、构建自进化闭环时使用——涵盖从运行轨迹提取学习信号(三层轨迹验证)、四种进化方式(经验知识库、Prompt/Skill、程序/Harness、模型参数)的适用边界与选择依据、Prompt 自动优化、轨迹编译为程序、Agent 自我修改与安全门禁、睡眠学习与长期分层评估。触发词:持续进化、自进化、经验学习、轨迹验证器、自我修改、进化闭环。

日本語の概要は準備中です。原文の説明を表示しています。

bojieli/ai-agent-book5.4万2026年10月9日 更新

Agent 陷入无限循环、数不清工具调用次数、遗忘 TODO 或目标偏离、长任务中思考 token 持续膨胀时使用——Agent 状态栏机制、作为 user 消息注入末尾的 KV Cache 理由、每轮替换与持久追加两种实现及成本模型、五种状态栏技术(时间戳、工具计数器、TODO、详细错误、系统状态)与维护铁律。

日本語の概要は準備中です。原文の説明を表示しています。

bojieli/ai-agent-book5.4万2026年10月9日 更新

ai-style

無料

中文文案去「AI 味」检查清单,由用户纠正反馈持续提炼而来

日本語の概要は準備中です。原文の説明を表示しています。

bojieli/ai-agent-book5.4万2026年10月9日 更新

构建异步/事件驱动 Agent,或让 Agent 响应外部事件(新邮件、webhook 回调、IM 消息、定时器、系统告警)、 处理工具执行期间的用户打断与多任务并发时使用。覆盖事件循环与安全点、三类事件触发工具、用户沟通与多渠道召回、 虚拟身份与隔离执行环境、队列式/取消式/并行式三种事件处理策略及紧急度判定,以及模型原生异步与同步接口兼容两条路线。 触发词:异步 Agent、事件驱动、event-driven、webhook、定时器、心跳、任务句柄、打断、steering、并行工具执行。

日本語の概要は準備中です。原文の説明を表示しています。

bojieli/ai-agent-book5.4万2026年10月9日 更新

把生产 bad case / 失败轨迹转成训练数据时使用——从失败归因、轨迹前缀截取、DPO 偏好对构造、LoRA 训练到边界集与保留集双集验证的完整链路;也用于判断某类问题该走 SFT、DPO、RL 还是先修 Harness/工具/tokenizer,以及如何从运行轨迹中提取带证据的结构化学习信号。触发词:bad case、失败归因、DPO、偏好对、轨迹前缀、拒绝采样、过度矫正、边界集、保留集、过早结束、reward hacking、LoRA 微调、训练评估隔离。

日本語の概要は準備中です。原文の説明を表示しています。

bojieli/ai-agent-book5.4万2026年10月9日 更新

bojieli のスキルをすべて見る

このスキルの問題を報告する