Appearance
Q97 · 任务成功率(Task Completion Rate)
客服 Agent 跑完一张售后单后说:“已处理完成。”运营团队却发现回复草稿里写错了订单状态,或者后台根本没有保存草稿。只统计模型说完成的次数,会把这些失败算成成功。任务成功率要回答的是:给 Agent 一组事先定义好的任务,最终有多少次真的达到约定的业务终态?成功条件、观察证据、分母边界要在运行前写清,之后才谈百分比。
本文用一个虚构客服系统做可复核的算例。设测试集固定为 40 个合法、授权、可完成的草稿任务;每个任务只运行一次,工具和初始数据在每次运行前重置,最多运行 3 分钟。Agent 可查订单、政策、附件并生成草稿,但不能发送消息或实际退款。40 个任务不是来自真实生产样本,数字只是教学假设,不代表某个模型或产品的真实表现。
先定义会计数的词
| 术语 | 含义 | 本例如何认定 |
|---|---|---|
| 任务(task) | 有明确输入、初始环境和成功条件的一道测试 | “查订单并把正确状态写成未发送草稿” |
| 尝试(trial) | Agent 对一道任务的一次完整运行 | 40 道题各运行一次,共 40 次尝试 |
| 终态(outcome) | 尝试结束后,系统里真正留下的状态 | 订单数据未变、草稿存在且内容正确 |
| 轨迹(trace) | 本次运行的模型回复、工具调用、错误和转人工记录 | 可查为何取错订单或在哪一步超时 |
| 评分器(grader) | 按约定条件检查终态或轨迹的程序/人工规则 | 核对数据库草稿、订单号、权限与发送记录 |
| 分子 | 符合本指标成功条件的尝试数 | 独立完成且通过终态核验的 27 次 |
| 分母 | 事先划定的所有应计尝试数 | 全部 40 次合法任务尝试 |
| 部分完成 | 某些步骤对了,但整体终态未满足 | 查对订单却没有有效草稿 |
| 人工介入 / 接管 | 人修正或完成 Agent 未独立完成的部分 | 客服改好草稿后才满足终态 |
| 切片 | 按任务类型等维度分别计算同一指标 | 订单状态、质量政策、缺少材料三类分别看 |
| 拒绝 / 等待 / 超时 | 不继续执行、等待外部输入、超过运行上限 | 要区分“正确停下”和“合法任务未完成” |
Anthropic 的 Agent 评测指南也把任务、尝试、评分器、轨迹和环境终态分开定义;它举的例子是订机票 Agent 即使说“已预订”,也要检查数据库里是否真有预订。τ-bench 原始论文同样以对话结束后的数据库状态与目标状态比较,说明结果核验比听模型口头宣布更可靠。Anthropic:Demystifying evals for AI agents · τ-bench 原论文

先写成功终态,再运行任务
40 个案例分三类,目标都止于草稿。第一类 20 个“订单状态答复”:客服已有访问权,Agent 查到被指定订单的真实状态,草稿准确写出状态,不编造到货时间,且没有发送。第二类 12 个“质量问题政策草稿”:用户描述鞋子签收第 9 天开胶;假设平台的 7 天无理由规则与质量问题流程不同。成功草稿要引用当前有效的质量处理规则,不因超过无理由窗口就直接拒绝,也不能承诺已退款。第三类 8 个“缺少材料”:系统确认没有开胶照片,成功终态是草稿明确请求补照片、暂不做退款结论。第三类的正确等待客户补照片,是这道“生成下一步草稿”任务的成功;若把任务定义成“完成退款”,同一个等待状态就不是成功。终态必须随任务目标解释。
每个案例在运行前固定输入、订单数据、政策版本、附件状态、用户权限与评分规则。评分器先检查订单号和事实是否匹配,再检查草稿已在测试环境保存、没有发送或退款记录,最后按事先写好的必要条件评估草稿。开放性措辞可以人工或按标注好的规则审核,但“已发货”与“未发货”这类事实应尽量由代码对照权威订单状态。只有所有必要条件满足,才给本例的二元成功(成功/未成功)记 1;部分完成另记标签,不偷偷算半个成功。Anthropic 建议同时看环境终态和交互质量,并在多组件任务中记录部分信用,但要保持主指标口径清楚。Anthropic:Demystifying evals for AI agents
这里尤其要防“评分器被话术骗过”:模型若回答“我已保存草稿”,而草稿表没有记录,就算失败;如果草稿表有记录,但内容引用了另一张订单,也算失败。反过来,若 Agent 用了与预设示范不同的工具顺序,却产生了正确、安全的终态,不应只因步骤不一致而判失败。可以把必要行为约束如“不得发送”单独检查,而不是硬编码一条唯一行动路线。Anthropic 指出评测应尽量检验产物,避免过度要求 Agent 按固定步骤走,也要阅读失败轨迹检查评分器本身是否有缺陷。Anthropic:Demystifying evals for AI agents
40 次结果怎样算成一个数
下表是同一轮、每题一次的虚构记录。“人工后完成”表示 Agent 交给客服,客服修正后才满足任务终态;对“Agent 独立完成率”而言仍不是 Agent 自己的成功。四种失败标签互斥,每次尝试只放一格,行和列都能核对。
| 任务切片 | 任务数 | Agent 独立完成 | 人工后完成 | 部分完成 | 超时 | 错误结论或误拒 |
|---|---|---|---|---|---|---|
| 订单状态答复 | 20 | 16 | 2 | 1 | 1 | 0 |
| 质量问题政策草稿 | 12 | 7 | 2 | 1 | 1 | 1 |
| 缺少材料草稿 | 8 | 4 | 1 | 2 | 0 | 1 |
| 合计 | 40 | 27 | 5 | 4 | 2 | 2 |
于是本例的Agent 独立任务成功率是 27 ÷ 40 = 67.5%。分母是全部 40 次有效尝试,不只选已经给出回答的次数。其余 13 次由 5 次人工后完成、4 次部分完成、2 次超时和 2 次错误组成;13 = 5 + 4 + 2 + 2。若另报“人机协作后的整体完成率”,在同一批任务且上述人工完成确实经终态核验时,才可算 (27 + 5) ÷ 40 = 80%,必须清楚标成含人工,不能称为“Agent 独立成功率”。
还应看切片:订单状态 16 ÷ 20 = 80%;质量问题政策 7 ÷ 12 ≈ 58.3%;缺少材料 4 ÷ 8 = 50%。总分 67.5% 掩盖了后两类较弱。下一轮可优先检查“质量问题是否错误套用无理由规则”“缺照片时是否知道正确暂停”两类轨迹。样本只有 40 次,而且按教学目的构造,百分比不是生产环境的可靠估计;每个切片更小,更不能因为 4/8 就断言真实缺材料场景恒定只有 50% 成功。正式发布评估应说明抽样方法,并扩大且保持有代表性的任务集,必要时报告不确定区间或重复运行波动。Anthropic:Demystifying evals for AI agents
部分、拒绝、等待和超时怎么处理
部分完成不是“模型感觉差不多了”。例如 Agent 查对 R-2041 的签收时间,却把草稿写成“已退款”;事实核验或安全条件失败,这道题的二元结果仍为失败。可以附加“订单查询成功、政策判断失败、草稿未达标”的分项分数,帮助定位,但不要在主成功率里把这次记作 0.5,除非在运行前正式定义了另一个加权指标。Anthropic 也建议多组件任务记录部分信用,以免丢失诊断信息。Anthropic:Demystifying evals for AI agents
人工接管可能是安全且正确的选择,却改变了指标含义。本测试要测“Agent 是否独立写好草稿”,客服改完后才通过就不能计入 27;同时单列“正确升级给人”的比例,防止系统为了争成功率而硬猜。若业务最初把“遇到复杂政策就正确交给人”定义为目标终态,那么经过授权的交接本身可以是成功;前提仍是事先写清。同理,第三类任务里等客户补照片是约定的正确草稿终态;如果 Agent 只是卡在等待工具结果、没有生成可用草稿,则未完成。
拒绝也要看任务是否允许。本例 40 道都是经授权的合法草稿任务,因此其中一次错误拒绝记为失败。另建的安全测试集若包含“请看其他客户订单”这类无权请求,预期终态就是拒绝且无数据泄露,正确拒绝应算那道安全任务的成功。不要为了提高客服任务完成率把所有拒绝从分母删掉,也不要把正确拒绝错误地当作模型没能力。
超时的两次保留在分母。超过 3 分钟还未满足终态,即使模型后来给了漂亮解释,这一轮也未按约定完成;若是测试环境故障而非 Agent 行为,应按运行前的无效试验规则标记并重跑,而非只挑某个模型的失败删掉。每次试验前重置订单、草稿与缓存状态,避免前一次留下的草稿让下一次“躺赢”。Anthropic 特别强调评测环境隔离、稳定和检查环境噪声,以免性能数字被共享状态或基础设施故障污染。Anthropic:Demystifying evals for AI agents
固定样本能比较版本,但别把它误当全部现实
比较两版 Agent 时,用同一批 40 个任务、同一初始数据、相同授权和 3 分钟上限,分别跑一轮,再比较成功率和失败切片。如果模型有随机性,可给每题多次独立尝试并写明统计单位:是“全部尝试的成功比例”,还是“每题多次中至少一次成功”。后者常称 pass@k 一类指标(k 是每题允许尝试的次数),与本例“每题一次”的比例不同,不能混报。评测还应记录调用成本、完成时间和是否出现越权动作;任务成功率高不意味着安全或便宜。Anthropic:Demystifying evals for AI agents · OpenAI:Evaluate agent workflows
固定回归样本能发现版本退步,也可能被反复调参“做熟”。生产里的新问题要持续抽样,按相同终态原则由人抽查或在脱敏沙箱回放;报表区分离线固定样本、线上真实任务和包含人工的业务完成率。OpenAI 的 Agent 评测文档把轨迹、评分器、数据集和评测运行分开,并建议利用轨迹定位工具选择、交接和规则违反问题;这些中间证据有助于解释成功率,但终态仍须核验。OpenAI:Evaluate agent workflows
面试中可以这样回答
我会先把“任务成功”写成可核验的终态,再定分母。比如 40 次固定、合法的客服草稿任务,每题只跑一次;成功要求查对授权订单或政策、生成正确且未发送的草稿,不能只看模型说“完成”。若 27 次无需人帮忙且通过终态检查,独立任务成功率就是 27/40,也就是 67.5%;5 次人工改完才通过要另报含人工完成率,部分完成、超时和错误仍在这 40 次里。正确拒绝或等待能不能算成功,取决于运行前定义的任务目标。还要按订单状态、政策和缺材料场景切片,保证相同样本和环境比较版本,并看轨迹找出失败原因。
若追问“Agent 说已处理但系统没记录怎么办”,就回答:以数据库、工单状态和草稿内容等终态证据为准,模型自述不计成功。若追问“67.5% 能否推到线上”,就回答:不能直接推;40 个教学样本小且任务分布固定,需说明抽样范围、扩展真实场景、观察切片与波动,并把安全和成本另报。
资料来源
- Anthropic:Demystifying evals for AI agents:任务、试验、轨迹、终态、评分器、部分信用和稳定环境的评测方法。
- τ-bench:A Benchmark for Tool-Agent-User Interaction in Real-World Domains:以最终数据库状态对照目标状态的原始研究。
- OpenAI:Evaluate agent workflows:轨迹、评分器和数据集的官方 Agent 评测说明。