尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
智能体面试准备(十一):Agent 评估——怎么证明你的 Agent 真的“能用“
智能体面试准备十一Agent 评估——怎么证明你的 Agent 真的能用写在前面B1 到 B10 我们把 Agent 的架构、ReAct、工具、规划、记忆、多智能体、框架、工作流、Agentic RAG 全过了一遍。能写一个 Agent 不难能证明它可靠才值钱。这一篇讲评估evaluation——这是 B10 埋的轨迹级指标伏笔的真正展开。面试官问你怎么知道你的 Agent 比上版本好如果你答我试了几个例子感觉还行直接出局。一、先定义评估 Agent 和评估大模型有什么不同评估一个聊天模型如写首诗看输出文本质量就行输入→输出是单步映射。但 Agent 是多步决策系统它内部有一串思考→动作→观察的轨迹trajectory最终答案只是轨迹的终点。所以 Agent 评估至少有三层评估层看什么典型指标难度结果层最终答案对不对准确率/成功率/EM/F1低轨迹层走的路径合不合理工具选择正确率、步数效率中过程层单步动作/反思质量动作准确率、格式合规率中核心观点只看结果会漏掉瞎猫碰死耗子——Agent 走了一条烂路径碰巧答对了。评估必须同时看结果和轨迹。二、Agent 评估的四大维度2.1 任务成功率Task Success Rate最直觉的指标给定 N 个任务Agent 完整、正确完成的比例。难点在正确怎么判定——有标准答案如数学题直接比对。无标准答案如帮我订个会议室需要预定义成功标准success criteria例如产生了含时间地点的预订请求且未报错。2.2 工具选择准确率Tool Selection AccuracyAgent 在每一步是否选了该选的工具。比如问北京今天天气第一步就该调 weather 工具而不是先调 search。这一步选错后面全歪。评估方法用标注好的黄金轨迹gold trajectory做对比算动作序列和黄金序列的匹配度token/步级 F1、或编辑距离。2.3 轨迹效率Trajectory Efficiency完成同一任务步数越少越好但也不能跳步导致错。常用平均步数Avg # steps冗余步数占比走了回头路/无效调用是否触发护栏B9 讲的 max-steps / retry 兜底一个 10 步才答完、中途重试 3 次的 Agent和 4 步答完的成功率可能一样但效率和成本天差地别。面试官很看重你是否意识到这点。2.4 格式/协议合规Format ComplianceAgent 输出是否严格遵循约定的动作格式如 ReAct 的Action: xxx/Action Input: yyy。格式错了解析器解析不出来整个链路断掉。这是工程上最该先卡死的基础指标。三、一段能跑的 Agent 评估代码轨迹级下面用纯 Python 演示给定黄金轨迹和Agent 实际轨迹算任务成功率、工具选择准确率、平均步数三个指标。这是你面试白板能写出的评估骨架from typing import List def evaluate_agent(gold: List[str], pred: List[str], success_criteria) - dict: gold: 黄金动作序列, 如 [search, calc, answer] pred: Agent 实际动作序列 success_criteria: callable, 输入 pred 返回 bool任务是否成功 # 1) 任务成功率 success success_criteria(pred) # 2) 工具选择准确率逐位匹配padding 到等长 n max(len(gold), len(pred)) g gold [pad] * (n - len(gold)) p pred [pad] * (n - len(pred)) correct sum(1 for a, b in zip(g, p) if a b and a ! pad) valid sum(1 for a in g if a ! pad) tool_acc correct / valid if valid else 0.0 # 3) 轨迹效率 avg_steps len([x for x in pred if x ! pad]) return { success: success, tool_selection_acc: round(tool_acc, 3), steps: avg_steps, } # ---- 演示一个查天气再回答的任务 ---- def criteria(pred): # 成功 调了 weather 且最后一步是 answer return weather in pred and pred[-1] answer gold_traj [weather, answer] cases { 完美轨迹: [weather, answer], 多走一步: [search, weather, answer], 选错工具: [calc, answer], 没答就停: [weather], } for name, pred in cases.items(): r evaluate_agent(gold_traj, pred, criteria) print(f{name:8} - 成功{r[success]!s:5} 工具准确率{r[tool_selection_acc]} 步数{r[steps]})跑出来你会看到完美轨迹三项全满多走一步成功、工具准确率下降多调了 search、步数 3——效率差但结果对选错工具失败、工具准确率 0——典型的轨迹错没答就停失败——过程不完整。这段代码的价值在于它把成功/工具准确率/步数三个维度分离开了你一眼能看出 Agent 是哪类失败。面试时画出这个表格比空说我评估了强十倍。四、无标准答案时怎么办LLM-as-Judge很多 Agent 任务客服、写报告没有唯一正确答案。现代主流做法是用另一个强模型当裁判LLM-as-a-Judge给 judge 模型任务描述 Agent 轨迹 最终输出 评分维度有用性/忠实度/安全。judge 输出分数如 1–5或等级 理由。评估方式成本可复现偏差风险适用人工标注高高低金标准/校验规则/脚本低高中有确定标准LLM-as-Judge中中中(位置/长度偏差)开放任务在线 A/B高高低生产迭代面试考点LLM-as-Judge 有哪些偏差——位置偏差放前面的答案分高、长度偏差越长显得越认真、自我偏好偏好同家族模型输出。缓解对拍swap 顺序、用强模型、给 rubric、多人裁判取共识。五、生产环境的评估体系压轴真实团队不会只跑几个样例而是建评估集eval set 持续回归建评估集覆盖典型任务 边界非法输入、工具超时、多跳各几十到几百条带标注的 success criteria。离线回归每次改 prompt / 换模型 / 调工具重跑全量评估集对比成功率/工具准确率/步数/成本四项。在线监控生产流量里采样记录轨迹、成功率、人工抽检发现退化就回滚。轨迹可视化把失败案例的轨迹画出来哪一步选错工具、哪一步卡护栏定位根因。呼应 B10Agentic RAG 的评估器兜底就是轨迹层评估的工程落地——用一个小评估器判断当前检索结果够不够好不够就继续检索。评估不是事后的是嵌入 Agent 运行时的。六、面试高频追问自测成功率 100% 但步数翻倍算变好吗 → 不算要综合成功率效率成本可能只是更啰嗦地答对了。怎么评估没有标准答案的 Agent → LLM-as-Judge 人工抽检 在线 A/B三管齐下。轨迹评估和结果评估冲突听谁的 → 看业务客服类重结果用户拿到答案即可审计类重轨迹每一步要可解释。评估集怎么建才不作弊 → 评估集要和训练/调参数据隔离且持续补充失败 casefailure-driven 扩充。小结Agent 评估分结果/轨迹/过程三层核心指标是成功率 工具选择准确率 轨迹效率 格式合规。那段能跑的评估代码把成功 vs 工具准确率 vs 步数解耦正好帮你定位 Agent 是答错了还是走歪了。无标准答案用 LLM-as-Judge注意三大偏差生产要建评估集做持续回归。下篇 B12我们从零手写一个完整的 ReAct Agent把 B1–B11 的所有零件焊成一台能跑的机器。本篇 B11 完。B 系列评估篇收尾B12 起进入完整代码实例收官阶段B13/B14 继续两个完整 Agent 实战。
RELATED

相关推荐

go并发的核心数据结构--channel

go并发的核心数据结构--channel

开篇:go并发的核心数据结构–channel go语言并发的核心哲学是:不要通过共享内存来通信,而要通过通信来共享内存。channel(通道)就是go语言提供的协程间的通信方式,用来传递数据、同步状态、协调并发&#x…

📅 2026/9/8 6:33:49
RC电路充放电时间计算:从原理到实战的电子设计核心技能

RC电路充放电时间计算:从原理到实战的电子设计核心技能

1. 项目概述:从“感觉”到“计算”的必经之路搞硬件、玩单片机、做电源设计,甚至是修个简单的电子小玩意儿,RC电路都是一个绕不开的基础单元。我见过太多新手朋友,包括当年的我自己,在调试一个延时电路或者滤波电路时&…

📅 2026/8/23 1:46:57
Unity多版本共存环境搭建与避坑指南:从环境隔离到高效开发

Unity多版本共存环境搭建与避坑指南:从环境隔离到高效开发

1. 项目概述:为什么Unity多版本共存是开发者的刚需?如果你是一名Unity开发者,无论是独立游戏制作人、技术美术,还是大型项目团队的成员,那么你的电脑里很可能不止一个版本的Unity。这几乎是现代Unity开发工作流的常态。…

📅 2026/8/23 1:46:57
MORE NEWS

更多资讯

📰

yarn.lock 地址不对怎么办?从 signature 哈希到依赖锁定机制全解析

1. 从一个诡异的签名串说起:yarn.lock 里的地址为什么会对不上第一次看到signatureb05c505286f606b32d69ab58ee3e7bf4这串东西挂在photobooth/yarn.lock后面,很多人第一反应是"这是不是某个校验和写错了"。我当初也是这么想的,直到…

📰

nas-tools 2026完整指南:三步部署你的NAS媒体库管理工具

nas-tools 2026完整指南:三步部署你的NAS媒体库管理工具 【免费下载链接】nas-tools NAS媒体库管理工具 项目地址: https://gitcode.com/GitHub_Trending/na/nas-tools nas-tools 是一款免费开源的 NAS 媒体库管理工具,把散落在各处的媒体文件整理…

📰

TodoMVC 应用规范(App Specification)完全解读:从目录结构到路由与持久化的实现指南

TodoMVC 应用规范(App Specification)完全解读:从目录结构到路由与持久化的实现指南 【免费下载链接】todomvc Helping you select a JavaScript framework - Todo apps for React.js, Angular, Vue and many more 项目地址: https://gitco…

📰

OpenCore Legacy Patcher 免费升级 macOS:老款 Mac 手把手装上最新系统

OpenCore Legacy Patcher 免费升级 macOS:老款 Mac 手把手装上最新系统 【免费下载链接】OpenCore-Legacy-Patcher Experience macOS just like before 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher OpenCore Legacy Patcher …

📰

DolphinScheduler中ChunJun任务保存失败?全套排查定位与修复指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

Security-101 课程精讲:负责任 AI(Responsible AI)——AI 安全视角下的伦理、透明度与问责实践

Security-101 课程精讲:负责任 AI(Responsible AI)——AI 安全视角下的伦理、透明度与问责实践 【免费下载链接】Security-101 8 Lessons, Kick-start Your Cybersecurity Learning. 项目地址: https://gitcode.com/GitHub_Trending/se/Sec…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬