想象你要为一位“全能管家”发上岗证。简历上写着:能做三菜一汤、会用吸尘器、能规划一周行程。但你不敢凭简历就放他进门,于是设计了一场三天三关的“试用考核”:第一天看他能不能独立把菜端上桌;第二天让他用微波炉、洗衣机、扫地机器人各完成一件事;第三天你全程跟着,观察他每个动作的先后顺序与判断依据是否合理。三天后,你从“结果、工具、过程”三个角度给他打出总分,决定要不要录用。 在 AI 世界,这位“全能管家”就是 Agent——一个能自主规划、调用外部工具、拆解复杂任务的智能体。而“试用考核表”就是 Agent 评测。光说“体感不错”不行,我们要用任务完成率、工具调用准确性、推理链质量三个维度,把“感觉”变成“数字”。这篇文章从评测基准设计讲起,途经自动化评分与人工评估,探讨开放域评测的可靠性挑战,最后聊聊怎么把评测装上流水线、跑进 CI/CD,让 AI 管家从“能干活”真正走向“靠得住”。
掌握 Agent 评测方法,是 AI 工程师从“做出 Demo”跨向“交付可靠产品”的关键一跳——没有可信的标尺,就没有持续优化的方向盘。
可视化演示
从任务完成率、工具调用准确性与推理链质量三个维度量化Agent综合能力,对比自动化评分与人工评估在效率与准确性上的取舍。
本节配有交互动效(进入视口后自动加载,约 3KB)。
三维评测框架 完成率/工具准/推理链 综合评估 单一指标无法全面反映Agent真实能力。
评测三维度
驾校要给学员发驾照,不是看一次倒库表现就拍板,而是先考理论、再考场地、最后路考——三个层面都过关才敢放你上路。评估一个 Agent 也是同理:它跟用户聊得再热闹,最终要看三件事——事办成了没有、工具用对了没有、走弯路了没有。这三个问号,正好对应评测三维度:任务完成率、工具调用准确性、推理链质量。
任务完成率最直接,像“科目三路考”,终点到达才算通过;工具调用准确性是“科目二倒库”,方向盘、后视镜这些“工具”用得精准才不碰杆;推理链质量则像副驾安全员手里的过程评分表,学员每踩一脚刹车、每变一次道,依据是什么、顺序是否合理,都会被记录在案。
三个维度各自独立又互相补充。任务完成率只关心最终输出是否兑现用户的真实目标,不管中间走了多少弯路;工具调用准确性统计 Agent 每一步中要调用的 API、函数、数据库是否选对、参数是否填对;推理链质量则由 LLM 生成的过程轨迹来评判——子目标分解是否合理、计划是否可执行、有无冗余甚至幻觉步骤。三者交叉,才能描绘出 Agent 的综合能力画像。
三个维度合一,才是一张完整的“成绩单”。就像驾校不会只问“到了没”,还要问“怎么开的”——任务完成率给结果背书,工具准确率给“家伙什”背书,推理链质量给驾驶习惯背书。三者都拿到高分,这位 AI 管家才敢真正上岗。
- 分子——成功完成的评测任务数即评测集中 Agent 的最终输出兑现了用户目标的任务个数,记为 S。
- 分母——评测任务总数评测基准中全部任务的个数 N,对应驾考大纲里的题目总量。
- 比率——完成比例S 除以 N 得到 0 到 1 之间的小数,再乘 100% 化为百分数,便于横向对比。完成率越高,说明“车开到的终点”越多。
评测基准设计
有了评分标准,下一步是出题。驾校考试不能只在一个院子倒库,还得分城市路、高速、夜间、雨天。Agent 评测基准(benchmark)就是那本《驾考大纲》,它决定 Agent 在哪些“道路”上接受检验、题目从哪来、难度梯度和领域分布如何设定。
评测基准设计的好坏,直接决定分数有没有参考价值。一个只考“今天天气怎么样”的基准,就像只考倒库的驾校,再高的分也代表不了真实驾驶水平。设计基准要回答四个问题:考什么任务、任务多难、覆盖哪些领域、题目有没有漏题。
任务集构建要从真实业务日志中提炼高频且有代表性的用户诉求,避免凭空编题;难度分级要覆盖简单、中等、困难、地狱四个梯度,防止“人人满分”或“人人零分”失去区分度;领域覆盖要打开,客服、办公、编程、搜索、金融等场景都应入册;防过拟合要求评测集与训练数据严格隔离,并定期用线上新难题刷新题库,防止 AI 像学生“刷真题”一样背答案。
一份合格的基准,就像一份覆盖城市路、高速、乡道和雨天的驾考大纲,题目的难度、领域和新鲜度都有规则可言。题库设计得扎实,考出来的分数才配写进“档案”,成为后续迭代的参照坐标。
- 领域得分 S_k第 k 个领域,如客服、办公、编程、搜索,各自得到的得分。计算方式与任务完成率一致:该领域成功任务数除以该领域任务总数。
- 领域权重 w_k根据真实业务中该领域的出现频次设定的权重,出现越多权重越高,且所有权重加起来必须等于 1。
- 加权求和每个领域得分乘以对应权重再累加,得到的综合分落在 0 到 1 之间,代表 Agent 在真实任务分布下的总体水平。
自动化评分
科目二的项目现在大多是红外线电子考官——车有没有压线,摄像头和传感器比人眼更精准。Agent 评测也追求尽可能自动化,否则每天跑几百条任务、每条任务几十个步骤,光靠人看会累死。但自动化评分并非只有一种姿势。
自动化评分本质是“机器当考官”,常见有三种裁判方式:规则匹配、模型评分、工具结果校验。它们像电子考官的不同传感器,各有所长,组合使用才能把客观题和主观题都评得服气。
规则匹配最直接,写正则或 JSON Schema 检查 Agent 输出的格式、关键词、JSON 结构是否符合预期,适合工具参数这类强约束字段;模型评分是请一个更强的 LLM 当“阅卷老师”,按评分卡对它给出的完成度、相关性逐项打分,适合开放性的自然语言结果;工具结果校验最硬核,直接看 Agent 调用的工具返回码、数据库状态、文件是否真实生成,用事实说话。自动化评分上线前,必须验证它与人工评分的一致性,常用的指标就是 Cohen's Kappa 系数,看“机器考官”和“人类考官”的给分是否达成共识。
电子考官厉害,但也要先“校准”。自动化评分不是拍脑袋定规则,而是先跟人类考官对答案,达成共识后再批量上岗。这样既保留了机器的效率,又守住了人类的标准。
- 观察到的一致率 P_o机器评分与人工评分在抽样样本上意见一致的占比,代表“实际有多一致”。
- 随机一致率 P_e假设机器和人工完全随机打分,偶然一致的期望概率,由各分类的边缘分布计算。它代表“瞎猜也能猜对多少”。
- Kappa 系数实际一致性超出随机一致性的比例,取值范围 [-1, 1]。κ=1 表示完全一致,κ>0.6 视为可用水平,低于 0.4 说明自动评分标准要回炉重调。
人工评估方案
电子考官再先进,路考还是要把安全员请进副驾。因为有些东西传感器看不出来:学员起步前有没有观察后视镜、斑马线前有没有主动减速——这种“过程文明”,必须靠人眼判断。Agent 评测同样需要人工评估来兜底。
人工评估不是把几百条任务全人工跑,那成本太高。工程上的标准做法是:设计一套科学的抽样、标注与一致性校验机制,让最少的人力覆盖最关键的盲区。
首先是标注体系:定义清晰的评分卡,把“推理是否合理”“回复是否得体”“是否产生有害内容”拆成可打勾的条目,而不是让标注员凭感觉打总分;然后是抽样策略,按难度、领域、模型输出类型做分层抽样,保证各层都有样本进人工池;接着是一致性校验,至少两人独立标注同一批样本,口径一致率超过约定阈值才采信,否则说明评分卡写得不够清楚,要回炉重写。整个人机协同的设计,目标是把“人的判断力”用在最需要的地方。
安全员坐在副驾,不是要抢方向盘,而是守护电子设备看不到的“过程底线”。人工评估也一样,它不追求全量覆盖,而是用一套严密的抽样与校验制度,在自动化盲区里补上一双可靠的眼睛。
- 分子——多方标注结果相同的样本数两名以上标注员对同一份 Agent 输出打了相同结论的样本数量,代表评审团达成共识的场次。
- 分母——抽样样本总数本次人工评估从评测池中抽取出的全部样本数量 M,样本量越大,一致性估计越稳。
- 一致性比例两者相除并化为百分数。行业经验是 ≥ 80% 说明评分卡清晰可用;低于这个值,就说明标准中有灰色地带,需要先把口径对齐再继续采信结果。
开放域挑战
驾校考场是封闭的,而真实道路上有行人穿行、有暴雨积水、有施工改道。Agent 一旦进入开放域环境,评测就开始“水土不服”:同样的题目昨天能得 90 分,今天只拿 80 分——这是学员水平波动,还是路况变了?
开放域评测最大的敌人有三个:不可复现、标注偏差、环境不稳定。它们动摇了“评测分数可信”这个根基。
不可复现来自 LLM 采样随机性——温度大于 0 时,同一 prompt 每次输出都不同;外部依赖的模型版本更新、A/B 实验切换也会让行为漂移。标注偏差来自主观性:不同人对“回答得够不够好”的标准天生不一致,标注规范再细也有灰色地带。环境不稳定指外部 API 超时、限流、文档变更导致工具调用失败,分数下滑未必是 Agent 变笨了。应对方法是多次采样取均值、把评测环境做成沙箱快照、对评测任务固定随机种子,并在报告里同时给出平均值和置信区间,让“分数”带上“误差棒”,也让“评测可靠性”本身被量化。
开放域就像没有围墙的考场,天气和路况天天变。与其追求一个“绝对精准”的分数,不如接受波动并用统计工具管理它——给分数装上误差棒,让每一次评测都诚实标注“这次考卷的可信度有多高”。
- 样本均值 x̄对同一 Agent 多轮独立评测得分的算术平均,代表能力的中心估计。
- 标准差 σ各轮得分离散程度的度量,反映评测波动大小。σ 越大,说明这 Agent 的状态忽高忽低。
- 标准误 σ/√n采样平均值的波动幅度。采样轮数 n 越大,标准误越小,平均分估计越精确。
- 乘子 1.96对应 95% 置信水平的正态分布分位数。报告常说“平均分 ± 1.96 倍标准误”,就是给分数画出一条可信的落点区间。
工程落地实践
驾校一旦规模化,就要上排考系统、成绩档案和复考制度——不能靠教练记小本本。Agent 评测要真正服务生产,同样得工程化:把评测从“脚本”升级为“流水线”,嵌进 CI/CD,配上监控和告警。
从技术原型到大规模生产,评测要回答三个新问题:每次改 Prompt 或换模型怎么快速知道变好还是变差?线上 Agent 会不会悄悄退化?评测集怎么持续保鲜?
答案是三条流水线。发布流水线:模型或 Prompt 变更时自动触发评测机跑全量回归集,得分下滑超过阈值直接拦截合并请求;监控流水线:生产环境每两小时跑一组迷你基准(20 到 30 条任务),分数或工具成功率漂移超过 5% 就告警;优化闭环:把线上人工客服标记的“疑难件”定期补充进评测集,让基准和真实世界同频进化。三条线串起来,Agent 能力就成了可观测、可回溯、可迭代的工程资产。
打分体系一旦跑进流水线,就变成了生产的“红绿灯”。每次模型更新都要过闸机,线上波动有雷达盯着,题库随真实世界持续生长——到这一步,Agent 评测才真正从“考试”变成了“质量基础设施”。
- 基线得分 S_base上次合入主分支时的评测得分,作为参照物,相当于“上一次路考的成绩存档”。
- 新版本得分 S_new当前合并请求所代表模型或 Prompt 的评测得分。
- 差值 ΔS新版本相对基线的变化量。正数表示变好,负数表示变差。
- 门禁阈值 θ允许的最大回退幅度。若 ΔS 小于 -θ,说明这次改动让 Agent 明显变笨,CI 直接拦截,要求开发者先解决退化再合入。
AI 应用场景
电商客服 Agent 上线前考核
阶段:模型发布前评测门禁
解决的问题:客服 Agent 上线前若缺乏标准化考核,容易出现误答复、乱调订单 API 等问题。仅凭几个 demo 用例“感觉不错”就发布,结果是线上投诉率飙升。用三维度评测 + 回归阈值搭建“上岗证”制度,把主观感受变成硬数据。
具体案例:某电商平台将 3000 条脱敏历史工单制成评测基准,覆盖售前咨询、售后退款、物流催促等场景。客服 Agent 每次改动必须通过评测门禁:任务完成率 ≥ 85%、工具调用准确性 ≥ 90%、推理链质量人工抽样一致率 ≥ 80%,任一指标不达标则自动回滚,全流程在 CI 中自动完成。
金融研报 Agent 生产监控
阶段:生产环境持续评测
解决的问题:金融研报 Agent 依赖的行情 API 和数据源频繁波动,输出质量可能悄悄漂移。等到用户投诉才发现问题,早已造成信任损失。需要一套轻量、高频的在线评测雷达。
具体案例:某券商团队为研报 Agent 部署了监控流水线,每 2 小时跑一轮 30 条的迷你基准,监测任务完成率与工具返回码成功率。当连续 3 轮低于阈值时触发飞书告警,系统自动切换备用数据源并拉起人工复核——把一次潜在的事故消灭在用户感知之前。
RAG 助手知识库更新回归
阶段:知识库更新回归测试
解决的问题:知识库每次更新后,检索结果和生成质量都可能突变,出现“修了旧 bug 引入新 bug”。人工逐条验证成本太高,需要自动化回归来守护每一次变更。
具体案例:一家企业内部 RAG 助手在知识库更新后自动跑 300 条回归任务,对比新旧版本的检索命中率与引用准确率。分数下降超过阈值时,自动生成“差评任务清单”,列出具体是哪批文档导致退化,供工程师定向修复。
Python 演示
import jsonimport random class SimpleAgent: """模拟的Agent, 带一个技能水平参数.""" def __init__(self, name, skill_level=0.8): self.name = name self.skill_level = skill_level def complete_task(self, task): return random.random() < self.skill_level def call_tool(self, tool_name): return random.random() < self.skill_level def reason_steps(self, task): return ["理解任务", "拆解子目标", "调用工具", "汇总结果"] class AgentEvaluator: """评测器: 输出三维度完整报告.""" def __init__(self, tasks, rounds=3): self.tasks = tasks self.rounds = rounds self.report = {} def evaluate(self, agent): total = len(self.tasks) * self.rounds tool_total = sum(len(t.get("tools", [])) for t in self.tasks) tool_total *= self.rounds success = tool_hit = reason_ok = 0 for task in self.tasks: for _ in range(self.rounds): if agent.complete_task(task["desc"]): success += 1 for tool in task.get("tools", []): if agent.call_tool(tool): tool_hit += 1 steps = agent.reason_steps(task["desc"]) if len(steps) >= task.get("min_steps", 3): reason_ok += 1 self.report[agent.name] = { "task_completion": round(success / total, 3), "tool_accuracy": round(tool_hit / tool_total, 3), "reason_chain": round(reason_ok / total, 3), } return self.report[agent.name] if __name__ == "__main__": benchmark = [ {"desc": "查询天气并提醒带伞", "tools": ["weather_api"], "min_steps": 3}, {"desc": "整理一周日程并发送摘要", "tools": ["calendar", "email"], "min_steps": 4}, {"desc": "对比两款手机价格并推荐", "tools": ["search", "compare"], "min_steps": 4}, ] evaluator = AgentEvaluator(benchmark, rounds=5) score_a = evaluator.evaluate(SimpleAgent("agent_a", 0.85)) score_b = evaluator.evaluate(SimpleAgent("agent_b", 0.65)) print(json.dumps(score_a, ensure_ascii=False, indent=2)) print(json.dumps(score_b, ensure_ascii=False, indent=2))
class SimpleAgent:定义一个带技能水平参数的模拟 Agent,技能值越高,完成任务和调用工具的成功率越高。return random.random() < self.skill_level用随机数模拟“任务是否成功”,技能值就是成功概率。class AgentEvaluator:评测器本体,负责对 Agent 执行多轮评测并汇总三维度报告。def __init__(self, tasks, rounds=3):初始化时接收评测任务集和重复轮数,轮数越多波动越小。for task in self.tasks:遍历评测基准里的每个任务,就像考官逐题发卷。if agent.complete_task(task["desc"]):让 Agent 执行任务并判断是否成功,累计成功次数。if agent.call_tool(tool):检查每个工具调用是否正确,累计命中次数。"task_completion": round(success / total, 3)用成功次数除以总执行次数,得到任务完成率。benchmark = [...]定义评测基准:三条任务、每个任务需要的工具和最少推理步数。evaluator.evaluate(SimpleAgent("agent_a", 0.85))同时评测 skill_level 为 0.85 和 0.65 的两个 Agent,直观看出高分 Agent 的三维得分更高。
常见误区
误区只要任务最终做成功了,这个 Agent 就是优秀的,不用管中间过程。完成率 90%,说明它很靠谱,可以直接上线。
正解任务完成率只是“科目三路考”中的终点结果。一个 Agent 可能碰巧成功,但中间推理混乱、工具乱用——好比学员虽然到了终点,但一路压线逆行、闯了红灯,你敢让他上路吗?必须同时考察工具调用准确性和推理链质量,综合三维度才能下结论。
为何常见:人类天然关注结果导向,而且完成率最直观、最容易量化,过程质量看不见摸不着,容易被忽略。
误区评测任务越多越全面,随便堆上千条任务就是高质量基准。反正数据便宜,量变引起质变。
正解量大不等于质优。若任务同质化严重、难度分布失衡、领域覆盖窄,再多任务也只是反复考同一道题。好的基准像驾考大纲,覆盖城市路、高速、夜间、雨天,而不是考 100 次倒库。设计任务集要考虑代表性、难度梯度、领域宽度和防泄漏,每一环都影响分数可信度。
为何常见:收集任务成本低,设计一套有区分度的任务集成本高,于是“堆量”成了省力的路径依赖。
误区搭好自动化评分管道后就不需要人了,机器能评所有维度。规则、模型、工具校验三件套已经够全,人工评估纯属浪费钱。
正解自动化擅长客观维度——任务是否完成、工具返回码是否正确;但推理链是否合理、回复是否得体、是否产生有害内容,这些“过程文明”仍需要人工目测。没有人工抽查兜底,评分偏差会悄悄积累。自动化评分上线前还要用 Kappa 系数和人工评分对齐,电子考官也得先跟人类考官校准。
为何常见:自动化成本低、速度快,容易让人产生“全自动评测”的美好幻觉,忽略了机器的判断边界。
误区每次跑评测结果都一样,分数稳定,一次评测就能代表 Agent 的真实水平,不需要重复评测。
正解开放域环境中,LLM 采样有随机性、外部 API 有波动、数据分布会漂移。同一个 Agent 两次评测分数可能差 3 到 5 分。正确做法是多次采样取平均,并报告置信区间。就像路考也要考虑天气和路况,单次成绩永远有噪声,要按统计规律来看待分数。
为何常见:传统软件测试是确定性的——同样输入必定得到同样输出,人们把这种惯性带到了充满随机性的 Agent 评测中。
面试题
Q1. Agent评测中,“最终结果是否达成目标”对应哪个维度?
- A.任务完成率维度← 正确答案
- B.工具调用准确维度
- C.推理链质量维度
- D.推理时延开销维度
答案:A。任务完成率只看最终结果是否达成用户目标,相当于路考是否到达终点。工具调用准确性看工具使用是否得当,推理链质量看中间决策过程,推理时延则与目标达成无直接关系。
Q2. 工具调用准确性最直接的评测方式是?
- A.统计完成任务数量
- B.比对参数与预期值← 正确答案
- C.人工阅读Agent日志
- D.查看模型参数量级
答案:B。工具调用准确性的核心是核对工具名与参数是否符合预期,就像科目二检查方向盘打没打对、点位对不对。统计完成任务数量是任务完成率,人工阅读日志是辅助手段,模型参数量与工具使用无关。
Q3. 推理链质量评估关注哪些方面?
- A.子目标分解是否正确← 正确答案
- B.中间步骤是否有冗余← 正确答案
- C.是否选用合适的工具← 正确答案
- D.最终回复文本词数
答案:ABC。推理链质量关注过程合理性:子目标是否被正确分解、中间步骤是否冗余、是否选对工具。最终回复的词数与推理过程好坏无关,字数多不等于推理好,就像开车绕远路也能到终点,但过程评分肯定不高。
Q4. 评测基准“防过拟合”的核心做法是?
- A.减少测试任务总量
- B.避免题目泄漏到训练集← 正确答案
- C.降低模型参数量级
- D.缩短评测运行时间
答案:B。防过拟合指评测题目不能泄漏进训练语料,否则 Agent 像刷过真题的考生,分数虚高。任务总量、模型参数量、运行时长都不是防过拟合的手段。
Q5. 自动化评测的常用手段包括?
- A.用规则匹配输出格式← 正确答案
- B.用大模型进行打分← 正确答案
- C.校验工具返回结果← 正确答案
- D.人工复审全部日志
答案:ABC。自动化评分三种主流手段:规则匹配输出格式、用更强模型当裁判、直接校验工具返回结果。人工复审全部日志不属于自动化范畴,且全量复审成本过高,工程上采用抽样人工评估。
Q6. 开放域评测“不可复现”的首要原因是?
- A.评测代码存在缺陷
- B.采样随机和环境波动← 正确答案
- C.服务器带宽不够用
- D.任务数量太少导致
答案:B。开放域不可复现主要是 LLM 采样随机性和外部环境(模型更新、API 波动)造成的,同名路考受天气和路况影响。评测代码缺陷是工程 bug,服务器带宽与任务数量都不是首要原因。
Q7. 人工抽样评估的核心价值在于?
- A.完全取代自动评分流程
- B.复核主观质量维度得分← 正确答案
- C.缩短评测流水线耗时
- D.扩大评测任务集规模
答案:B。人工抽样评估的核心价值是复核自动评分覆盖不了的主观质量维度,比如推理是否得体、过程是否合理,类似于安全员判断“过程文明”。它不替代自动评分,更不是为了耗时或造数据。
Q8. Agent评测流水线在CI/CD中应置于?
- A.生产环境故障响应阶段
- B.模型发布前回归测试环节← 正确答案
- C.需求文档评审阶段初期
- D.运维日志归档备份时段
答案:B。评测门禁放在模型发布前的 CI/CD 回归测试环节,让每个候选版本先过考再合入,相当于驾校发驾照前必须路考。线上故障响应是事后,需求评审是事前,日志归档与评测无关。
Q9. 提升开放域评测可靠性可采用?
- A.多次采样求平均值← 正确答案
- B.固定随机种子复现← 正确答案
- C.沙箱环境隔离外部波动← 正确答案
- D.直接使用生产真实数据
答案:ABC。多次采样平均能压低随机噪声,固定随机种子让结果可复现,沙箱快照隔离外部 API 波动,三者都能提升可靠性。直接使用生产真实数据看似真实,但不可控、不可复现,恰是开放域评测要解决的问题。
Q10. 评测监控告警的核心指标包括?
- A.分数、采样率与异常率← 正确答案
- B.代码行数与注释占比
- C.CPU温度与风扇转速
- D.仓库Star与PR数量
答案:A。评测监控围绕分数、采样率、异常率等质量指标展开,类似驾驶监控系统盯着车速、油量、胎压。代码行数、CPU 温度、仓库 Star 数都不属于 Agent 评测的监控对象。