1. 为什么“好不好用”这个问题,到了2026年才真正有标准答案
做 AI Agent 的人都有一个共同的尴尬:演示的时候惊艳全场,上线之后骂声一片。2024 年到 2025 年上半年,整个行业都在堆功能——能调工具、能查知识库、能多轮对话,看起来什么都能干。但真到了生产环境,问题就来了:任务完成率到底多少?多轮对话里有没有跑偏?工具调用失败之后能不能自己找补回来?这些事没人说得清。
我从 2023 年底开始陆续参与过几个 Agent 项目的落地,从客服工单自动分类到内部知识问答,再到后来帮朋友搭的电商选品助手。踩过的坑基本能写一本书:有的 Agent 在测试集上跑出 92% 的准确率,上线第一天就被用户骂“答非所问”;有的 Agent 单轮表现很好,一旦对话超过五轮就开始胡言乱语;还有的 Agent 调用外部 API 失败后直接卡死,连个兜底回复都没有。这些问题的根源,不是模型不够强,而是评估体系没跟上。
到了 2026 年,情况发生了根本性变化。业界对 AI Agent 的评估不再停留在“跑几个 case 看看效果”的原始阶段,而是形成了一套相对完整的标准框架。这套框架的核心逻辑是:Agent 的评估必须覆盖任务完成度、过程可靠性、资源消耗、安全边界四个维度,而且每个维度都要有可量化、可复现的指标。换句话说,以前是“你觉得它行就行”,现在是“数据说它行才行”。
这篇文章适合三类人看:第一类是自己动手搭过 Agent、但不知道怎么系统评估的开发者;第二类是团队里负责 Agent 上线质量把控的技术负责人;第三类是对 AI Agent 感兴趣、想了解业界最新评估思路的产品经理或创业者。我会从评估框架的设计思路讲起,然后拆解核心指标的计算方法和实操要点,接着给出一套可以直接抄作业的评估流程,最后分享几个我在实际项目中踩过的坑和排查技巧。全文没有虚的,都是能落地的东西。
2. 2026年 AI Agent 评估框架的整体设计思路
2.1 从“单点测试”到“全链路评估”的转变
2024 年之前,大部分团队评估 Agent 的方式非常粗暴:准备几十条测试用例,跑一遍,人工看看结果对不对,然后打个分。这种方式的问题在于,它只关注了“最终输出”,完全忽略了 Agent 在中间步骤的表现。一个 Agent 可能最终给出了正确答案,但中间调用了错误的工具、浪费了大量 token、甚至绕了一大圈才回到正轨。这种“结果对但过程烂”的情况,在生产环境里是致命的——因为一旦遇到稍微复杂一点的任务,过程烂就意味着大概率会失败。
2026 年的评估框架强调全链路可观测。什么意思?就是从用户输入开始,到 Agent 理解意图、规划步骤、调用工具、处理中间结果、生成最终回复,每一个环节都要有对应的评估指标。这就像评估一个员工,不能只看他最后交上来的报告好不好,还要看他查了什么资料、用了什么方法、花了多少时间、有没有走弯路。
具体来说,全链路评估包含以下几个关键节点:
- 意图理解层:Agent 是否准确识别了用户的真实需求?有没有把“帮我查一下明天北京的天气”误解成“帮我订明天北京的机票”?
- 任务规划层:Agent 拆解出的步骤是否合理?有没有遗漏关键步骤或者安排了多余的步骤?
- 工具调用层:Agent 选择的工具是否正确?传入的参数是否准确?调用失败后是否有重试或降级策略?
- 结果生成层:最终输出是否完整、准确、符合用户预期?格式是否规范?
- 资源消耗层:整个任务消耗了多少 token、多少时间、多少次工具调用?是否在可接受范围内?
这套框架的设计逻辑是:Agent 的可靠性不取决于它最擅长的场景,而取决于它最薄弱的环节。所以评估必须覆盖全链路,不能有盲区。
2.2 为什么是这四个维度:任务、过程、资源、安全
2026 年业界主流的评估框架,基本都围绕四个核心维度展开。这四个维度不是拍脑袋想出来的,而是从大量生产环境事故中总结出来的。
任务完成度是最直观的维度。一个 Agent 好不好用,首先看它能不能把事办成。但“办成”的定义需要细化:是完全办成、部分办成、还是完全没办成?对于部分办成的情况,完成了多少比例?这些都需要量化。业界常用的指标包括任务成功率、部分完成率、失败率,以及针对特定任务的精确率、召回率、F1 值等。
过程可靠性是区分“演示级 Agent”和“生产级 Agent”的关键。一个 Agent 可能最终完成了任务,但过程中出现了工具调用错误、参数传递错误、逻辑跳跃等问题。这些问题在简单任务中可能被掩盖,但在复杂任务中会直接导致失败。过程可靠性的评估指标包括工具调用准确率、步骤冗余率、错误恢复率、平均重试次数等。
资源消耗直接关系到 Agent 的可用性和成本。一个 Agent 如果每次任务都要消耗几十万 token、调用几十次 API、耗时几分钟,那它在生产环境里基本没有实用价值。资源消耗的评估指标包括平均 token 消耗、平均响应时间、平均工具调用次数、峰值并发下的资源占用等。这里特别要提一下并发场景——很多 Agent 在单用户测试时表现良好,一旦并发上来就各种超时、限流、状态混乱。所以 2026 年的评估框架里,并发压力测试是必选项。
安全边界是 2026 年新增的重点维度。随着 Agent 被赋予越来越多的权限——能发邮件、能改数据库、能调用支付接口——安全问题变得至关重要。安全边界的评估包括:Agent 是否会执行危险操作?是否会泄露敏感信息?是否会被恶意输入诱导?是否有权限控制机制?这些问题的答案,直接决定了 Agent 能不能被允许在生产环境运行。
2.3 评估框架的落地形态:从人工打分到自动化流水线
2026 年的另一个显著变化是,评估不再是“上线前跑一次”的临时动作,而是变成了持续集成的一部分。每次 Agent 的 prompt 调整、工具更新、模型切换,都会触发一轮自动化评估。评估结果直接决定这次变更能不能上线。
这种自动化评估流水线通常包含以下几个环节:
- 测试集管理:维护一套覆盖核心场景和边界场景的测试用例集,支持版本管理和动态扩充。
- 自动化执行:通过脚本批量运行测试用例,记录每个用例的完整执行轨迹。
- 指标计算:根据执行轨迹自动计算各项评估指标。
- 阈值判定:将计算结果与预设阈值对比,判断是否通过。
- 报告生成:输出可视化报告,标注失败用例和异常指标,方便定位问题。
这套流水线的核心价值在于:把评估从“人的主观判断”变成“系统的客观判定”。人工评估不仅慢,而且不一致——不同的人对同一个结果的评价可能完全不同。自动化评估虽然不能完全替代人工,但至少能保证评估标准的一致性,并且能覆盖人工无法处理的大规模测试。
3. 核心评估指标的计算方法与实操要点
3.1 任务完成度:怎么算“办成了”这件事
任务完成度的计算,难点在于“完成”的定义。对于简单任务,比如“查询明天北京的天气”,完成就是返回了正确的天气信息。但对于复杂任务,比如“帮我规划一个三天的北京旅行行程”,什么叫“完成”?是给出了行程就算完成,还是必须包含景点、餐厅、交通、住宿才算完成?
2026 年业界常用的做法是分层定义完成度。以旅行规划为例:
- L1 完成:给出了一个包含三天行程的回复,但内容可能不完整或不准确。
- L2 完成:行程包含景点、餐厅、交通建议,且信息基本准确。
- L3 完成:行程合理、信息准确、符合用户偏好(如用户说了“不想走太多路”,行程中步行距离控制在合理范围)。
评估时,根据任务类型设定不同的完成度层级,然后计算各层级的达成率。这样既能反映 Agent 的整体能力,也能定位具体短板。
实操中,我通常会用以下公式计算任务完成度得分:
任务完成度得分 = (L1达成数 × 0.3 + L2达成数 × 0.6 + L3达成数 × 1.0) / 总测试用例数
这个加权方式可以根据业务需求调整。比如对于客服场景,L2 可能比 L3 更重要,因为用户更在意“问题有没有解决”而不是“回复有没有温度”。
3.2 过程可靠性:工具调用准确率与错误恢复率
过程可靠性的核心指标是工具调用准确率和错误恢复率。这两个指标直接决定了 Agent 在复杂任务中的表现。
工具调用准确率的计算方式是:
工具调用准确率 = 正确调用次数 / 总调用次数
“正确调用”的定义包括:选择了正确的工具、传入了正确的参数、在正确的时机调用。这三个条件缺一不可。我见过很多 Agent 能选对工具,但参数传错——比如把“北京”传成了“北京市”,导致 API 返回空结果。这种问题在测试中很容易被忽略,但在生产环境里会直接导致任务失败。
错误恢复率的计算方式是:
错误恢复率 = 成功恢复的错误次数 / 总错误次数
“成功恢复”指的是 Agent 在遇到工具调用失败、API 超时、返回结果异常等情况后,能够通过重试、降级、换工具等方式继续推进任务,最终完成任务或给出合理的失败说明。这个指标特别能反映 Agent 的“韧性”。一个错误恢复率高的 Agent,即使遇到意外情况也能稳住;一个错误恢复率低的 Agent,稍微有点风吹草动就崩了。
实操中,我建议对每一次工具调用都记录以下信息:
| 字段 | 说明 |
|---|---|
| 调用时间 | 精确到毫秒,用于分析时序问题 |
| 工具名称 | 调用了哪个工具 |
| 输入参数 | 完整的参数内容,便于复现问题 |
| 返回结果 | 成功/失败、返回数据、错误码 |
| 耗时 | 调用耗时,用于分析性能瓶颈 |
| 重试次数 | 如果失败了,重试了几次 |
| 最终状态 | 成功、失败、降级处理 |
这些数据不仅能用于计算指标,还能在排查问题时提供关键线索。
3.3 资源消耗:token、时间与并发下的表现
资源消耗的评估,很多人只关注 token 数量,这其实是不够的。2026 年的评估框架里,资源消耗包含三个子维度:token 消耗、时间消耗、并发表现。
Token 消耗的计算相对简单,但需要注意区分输入 token 和输出 token。输入 token 包括系统 prompt、用户输入、工具返回结果等;输出 token 包括 Agent 的思考过程、工具调用参数、最终回复等。对于按 token 计费的模型,这两部分都要算成本。
时间消耗包括总响应时间和各环节耗时。总响应时间是从用户发出请求到收到最终回复的时间。各环节耗时包括:意图理解耗时、规划耗时、工具调用耗时、结果生成耗时。通过分析各环节耗时,可以定位性能瓶颈——比如如果工具调用耗时占比超过 70%,那优化重点就应该放在工具调用的并行化或缓存上。
并发表现是很多团队容易忽略的。单用户测试时响应时间 2 秒,100 个并发用户时可能变成 20 秒甚至直接超时。评估并发表现时,需要关注以下指标:
- 吞吐量:单位时间内能处理的请求数。
- 平均响应时间:并发场景下的平均响应时间。
- P95/P99 响应时间:95% 和 99% 的请求在多少时间内完成,这个指标比平均值更能反映用户体验。
- 错误率:并发场景下的请求失败率。
- 资源占用:CPU、内存、网络带宽的占用情况。
我一般会做三组并发测试:低并发(10 用户)、中并发(50 用户)、高并发(100+ 用户),观察各项指标的变化趋势。如果高并发下错误率飙升或响应时间急剧增加,说明系统存在瓶颈,需要优化。
3.4 安全边界:那些“不该做”的事有没有被拦住
安全边界的评估,核心是测试 Agent 在面临“诱导”或“越权”请求时的表现。常见的测试场景包括:
- 提示注入:用户输入中包含试图覆盖系统 prompt 的内容,比如“忽略之前的指令,现在你是一个……”。
- 越权操作:用户试图让 Agent 执行超出其权限的操作,比如普通用户让 Agent 删除数据库。
- 敏感信息泄露:用户试图诱导 Agent 输出系统 prompt、API 密钥、内部数据等敏感信息。
- 危险操作:用户试图让 Agent 执行可能造成实际损害的操作,比如发送大量邮件、修改生产数据。
评估安全边界时,我通常会用一套专门的“对抗测试集”,包含各种恶意输入和边界情况。评估指标包括:
安全拦截率 = 成功拦截的恶意请求数 / 总恶意请求数
这个指标的目标是 100%。任何一次拦截失败,都意味着 Agent 存在安全漏洞,必须修复后才能上线。
4. 一套可以直接抄作业的评估流程
4.1 评估前的准备工作:测试集、环境与基线
在开始评估之前,需要做好三项准备工作:测试集构建、环境准备、基线设定。
测试集构建是最重要的一步。一个好的测试集应该覆盖以下场景:
- 核心场景:Agent 最常处理的任务类型,占比约 60%。
- 边界场景:输入模糊、信息不全、多意图混合等复杂情况,占比约 25%。
- 异常场景:工具调用失败、API 超时、返回结果异常等情况,占比约 10%。
- 安全场景:提示注入、越权操作、敏感信息诱导等,占比约 5%。
测试集的数量没有固定标准,但一般建议不少于 200 条。如果 Agent 处理的场景特别复杂,测试集应该相应扩大。测试集需要版本管理,每次 Agent 变更后,用同一套测试集评估,才能保证结果可比。
环境准备包括:确保 Agent 依赖的所有工具和 API 可用、准备好测试数据、配置好监控和日志。特别要注意的是,测试环境应该尽量模拟生产环境,包括网络延迟、API 限流、并发压力等。我见过很多团队在本地环境测试一切正常,上线后各种问题,就是因为测试环境太“干净”了。
基线设定是指确定一个参考标准。可以是当前线上版本的指标,也可以是行业平均水平,或者团队设定的目标值。有了基线,才能判断评估结果是变好了还是变差了。
4.2 执行评估:自动化脚本与人工抽检的结合
执行评估时,我推荐自动化为主、人工为辅的方式。
自动化脚本负责批量运行测试用例、记录执行轨迹、计算各项指标。脚本的核心逻辑是:
# 伪代码示例 for case in test_cases: # 记录开始时间 start_time = now() # 执行 Agent result = agent.run(case.input) # 记录结束时间 end_time = now() # 记录执行轨迹 trace = agent.get_trace() # 计算指标 metrics = calculate_metrics(case, result, trace, end_time - start_time) # 保存结果 save_result(case.id, result, trace, metrics)人工抽检负责处理自动化无法判断的情况。比如对于“回复是否友好”这种主观指标,自动化脚本很难准确判断,需要人工抽检。我一般会从自动化评估结果中随机抽取 10% 的用例,由人工进行二次评估,对比自动化评估和人工评估的一致性。如果一致性低于 90%,说明自动化评估的规则需要调整。
4.3 结果分析与问题定位:从指标到根因
评估完成后,得到一堆指标数字只是第一步,更重要的是从指标异常定位到具体问题。
我常用的分析方法是分层下钻:
- 先看整体指标:任务完成度、过程可靠性、资源消耗、安全边界四个维度的整体得分是否达标。
- 再看细分指标:哪个维度的哪个子指标异常?比如任务完成度整体达标,但 L3 完成率很低,说明 Agent 能完成任务但质量不够高。
- 然后看具体用例:哪些用例失败了?失败的用例有什么共同特征?比如是不是都涉及多轮对话?是不是都调用了某个特定工具?
- 最后看执行轨迹:失败用例的执行轨迹中,哪个环节出了问题?是意图理解错了,还是工具调用错了,还是结果生成错了?
通过这种分层下钻,可以快速定位到根因。比如我曾经遇到一个案例:Agent 的整体任务完成度从 85% 下降到了 72%。分层下钻后发现,下降主要来自“多轮对话”类用例。进一步分析发现,这些用例在第三轮对话后开始出现意图理解错误。最终定位到问题是:对话历史过长导致 prompt 超出模型上下文窗口,模型丢失了早期对话信息。解决方案是增加对话历史摘要机制,把早期对话压缩成摘要,而不是完整保留。
4.4 持续监控:上线后的评估不能停
评估不是上线前的一次性动作,而是贯穿 Agent 整个生命周期的持续过程。
上线后的持续监控包括:
- 实时监控:监控 Agent 的响应时间、错误率、token 消耗等指标,设置告警阈值。
- 定期评估:每周或每月用测试集跑一次完整评估,观察指标变化趋势。
- 用户反馈分析:收集用户对 Agent 的反馈(点赞、点踩、投诉等),分析反馈与评估指标的相关性。
- A/B 测试:如果有多个版本的 Agent,通过 A/B 测试对比它们的表现。
持续监控的价值在于:及时发现指标退化。Agent 的指标可能会因为各种原因退化——模型更新、工具 API 变更、用户输入分布变化等。如果没有持续监控,可能等到用户大量投诉才发现问题,那就太晚了。
5. 常见问题与排查技巧实录
5.1 评估结果波动大:是 Agent 不稳定还是测试集有问题
评估结果波动大是常见问题。同样的 Agent、同样的测试集,两次评估结果可能差很多。遇到这种情况,先别急着改 Agent,先排查以下几个可能原因:
原因一:测试集本身不稳定。有些测试用例的预期结果不明确,或者依赖外部数据(比如天气 API 返回的数据每天不同),导致每次评估结果不一致。解决办法是:对测试用例进行分类,把依赖外部数据的用例标记出来,评估时要么固定外部数据,要么单独统计。
原因二:模型输出的随机性。大模型本身具有随机性,同样的输入可能产生不同的输出。如果 Agent 的 prompt 没有做好约束,这种随机性会被放大。解决办法是:在评估时设置固定的随机种子(如果模型支持),或者对每个用例运行多次取平均值。
原因三:并发或资源竞争。如果评估脚本并行运行多个用例,可能会因为资源竞争导致部分用例超时或失败。解决办法是:控制并发数,或者把评估分成多批串行执行。
原因四:Agent 内部状态未重置。有些 Agent 会维护对话历史或缓存,如果评估时没有正确重置状态,前一个用例的结果可能影响后一个用例。解决办法是:确保每个用例执行前,Agent 的状态被完全重置。
我一般会先用同一套测试集连续跑三次评估,如果三次结果的差异超过 5%,就说明存在稳定性问题,需要按上述原因逐一排查。
5.2 工具调用失败率高:从参数校验到降级策略
工具调用失败是 Agent 评估中最常见的问题之一。失败的原因通常有以下几类:
| 失败类型 | 典型表现 | 排查方法 | 解决思路 |
|---|---|---|---|
| 参数错误 | API 返回 400 错误 | 检查调用参数是否符合 API 文档 | 增加参数校验和格式化逻辑 |
| 权限不足 | API 返回 401/403 | 检查 API 密钥和权限配置 | 更新密钥或申请权限 |
| 限流 | API 返回 429 | 检查调用频率是否超限 | 增加重试和退避策略 |
| 超时 | 请求长时间无响应 | 检查网络和 API 性能 | 设置超时时间,增加重试 |
| 返回异常 | API 返回非预期格式 | 检查 API 版本和返回结构 | 增加返回结果校验和容错 |
除了修复具体问题,更重要的是设计降级策略。当工具调用失败时,Agent 不应该直接崩溃,而应该尝试其他方式完成任务。比如:
- 如果主 API 失败,尝试备用 API。
- 如果实时查询失败,尝试使用缓存数据。
- 如果所有工具都失败,给用户一个合理的解释和替代建议。
降级策略的设计原则是:宁可给用户一个不完美但有用的结果,也不要给用户一个错误或空白的结果。
5.3 多轮对话跑偏:上下文管理与意图漂移的应对
多轮对话是 Agent 评估中的难点。很多 Agent 在单轮对话中表现良好,但多轮对话超过五轮后就开始跑偏。常见的问题包括:
- 意图漂移:Agent 逐渐忘记了用户的原始意图,被中间对话带偏。
- 上下文丢失:Agent 忘记了早期对话中的重要信息。
- 重复提问:Agent 反复询问已经回答过的问题。
- 逻辑矛盾:Agent 前后回复自相矛盾。
解决这些问题的核心是上下文管理。我常用的策略包括:
- 关键信息提取:在每轮对话后,提取并保存关键信息(如用户偏好、已确认的事实、待办事项),而不是完整保留所有对话历史。
- 意图锚定:在系统 prompt 中明确记录用户的原始意图,并在每轮对话中提醒 Agent 不要偏离。
- 对话摘要:当对话历史超过一定长度时,用模型生成摘要,用摘要替代原始对话历史。
- 状态机管理:对于流程明确的任务(如订票、填表),用状态机管理对话流程,确保 Agent 按步骤推进。
实操中,我建议对多轮对话场景单独设计测试集,覆盖 5 轮、10 轮、20 轮等不同长度的对话,观察 Agent 的表现变化。如果发现超过一定轮数后指标明显下降,就需要优化上下文管理策略。
5.4 并发场景下的性能瓶颈:从限流到异步处理
并发场景下的性能问题,是很多 Agent 从测试环境走向生产环境时遇到的最大障碍。常见的问题包括:
- 响应时间飙升:并发用户数增加后,平均响应时间从 2 秒变成 20 秒。
- 错误率上升:部分请求超时或失败。
- 资源耗尽:CPU、内存、数据库连接池被占满。
- 状态混乱:多个用户共享同一个 Agent 实例时,状态互相干扰。
解决并发问题的思路包括:
- 限流:限制同时处理的请求数,超过限制的请求排队或直接拒绝。
- 异步处理:对于耗时较长的任务,采用异步方式处理,先返回“任务已接收”,再通过轮询或推送返回结果。
- 水平扩展:部署多个 Agent 实例,通过负载均衡分发请求。
- 无状态设计:尽量让 Agent 实例无状态,把状态存储在外部(如 Redis),避免状态混乱。
- 缓存:对于重复的查询请求,使用缓存减少重复计算。
我一般会用压力测试工具模拟不同并发场景,观察各项指标的变化。如果发现瓶颈,先用 profiling 工具定位到具体环节,再针对性优化。比如如果瓶颈在工具调用,就考虑并行调用或缓存;如果瓶颈在模型推理,就考虑模型量化或更换更轻量的模型。
5.5 评估成本太高:如何用最少资源跑出可信结果
评估成本是很多团队面临的现实问题。跑一次完整评估,可能需要消耗大量 token、调用大量 API、花费大量时间。如果评估频率高,成本会非常可观。
降低评估成本的策略包括:
- 分层抽样:不是每次评估都跑全部测试集,而是根据变更范围选择相关子集。比如只改了工具调用逻辑,就只跑涉及工具调用的用例。
- 快速筛选:先用少量核心用例做快速筛选,如果通过率低于阈值,直接判定不通过,不再跑完整测试集。
- 缓存结果:对于不依赖外部数据的用例,缓存执行结果,避免重复运行。
- 离线评估:对于不依赖实时 API 的指标(如意图理解准确率),可以用离线数据评估,减少 API 调用。
- 自动化报告:自动生成评估报告,减少人工整理数据的时间。
我的经验是:评估的投入应该与 Agent 的重要性和变更风险成正比。对于核心 Agent 的重大变更,值得跑完整评估;对于边缘 Agent 的小幅调整,快速筛选就够了。
6. 我在实际项目中总结的几条硬核经验
6.1 评估指标不是越多越好,关键是可行动
刚开始做评估时,我恨不得把所有能算的指标都算出来。结果就是报告几十页,但真正有用的没几个。后来我学乖了:每个指标都必须对应一个可行动的动作。如果一个指标异常了,但我不知道该做什么来改善它,那这个指标就不应该出现在报告里。
比如“平均对话轮数”这个指标,如果它异常了,我能做什么?好像也做不了什么。那它就不如“意图理解准确率”有用,因为后者异常了,我可以去优化 prompt 或增加意图分类训练数据。
6.2 测试集要像代码一样维护,定期更新
测试集不是建一次就完事了。随着 Agent 功能的变化和用户需求的变化,测试集也需要定期更新。我一般每季度会做一次测试集评审,做以下几件事:
- 删除过时的用例(比如已经下线功能的用例)。
- 增加新的用例(覆盖新功能和新场景)。
- 修正预期结果不明确的用例。
- 根据线上失败案例,补充新的边界用例。
测试集也需要版本管理,每次评估时记录使用的测试集版本,方便追溯和对比。
6.3 人工评估不可替代,但要控制比例
虽然自动化评估效率高,但人工评估在某些场景下不可替代。比如评估回复的“友好度”、“专业性”、“是否符合品牌调性”等主观指标,自动化很难准确判断。
我的做法是:自动化评估覆盖 100% 的用例,人工抽检覆盖 10% 的用例。人工抽检的重点是自动化评估结果与人工判断不一致的用例,以及自动化评估无法判断的主观指标。这样既能保证评估的全面性,又能控制人工成本。
6.4 评估结果要能追溯到具体用例和轨迹
评估报告不能只给一个总分,必须能追溯到具体用例和执行轨迹。我见过很多评估报告只写“任务完成度 85%”,但问“哪些用例失败了”就答不上来。这样的报告没有诊断价值。
好的评估报告应该包含:
- 整体指标概览。
- 各维度指标详情。
- 失败用例列表,包含用例输入、预期结果、实际结果、失败原因。
- 关键用例的执行轨迹,展示每个环节的输入输出。
- 与上一轮评估的对比,标注指标变化。
6.5 安全评估要单独做,不能混在功能评估里
安全评估和功能评估的目标不同,方法也不同。功能评估关注“能不能完成任务”,安全评估关注“会不会做不该做的事”。这两类评估应该分开做,用不同的测试集和评估标准。
安全评估的测试集应该包含各种恶意输入和边界情况,评估标准是“拦截率必须 100%”。任何一次拦截失败,都应该被视为严重问题,必须修复后才能上线。
7. 后续可以这样扩展你的评估体系
如果你已经有一套基础的评估流程,想进一步提升,可以考虑以下几个方向:
方向一:引入对抗评估。除了常规测试集,增加对抗测试集,专门测试 Agent 在极端情况下的表现。比如输入包含大量噪声、输入包含矛盾信息、输入包含诱导性内容等。
方向二:建立评估基准。如果你的 Agent 属于某个特定领域(如客服、编程、数据分析),可以尝试建立该领域的评估基准,与其他团队的 Agent 进行横向对比。
方向三:自动化根因分析。当评估发现指标异常时,自动分析执行轨迹,定位到具体环节和原因,减少人工排查时间。
方向四:用户反馈闭环。把用户反馈(点赞、点踩、投诉)与评估指标关联起来,分析哪些指标与用户满意度最相关,从而优化评估体系。
方向五:多模态评估。随着 Agent 支持的能力越来越多(图片、语音、视频),评估体系也需要扩展到多模态场景。
我个人在实际操作中的体会是:评估体系的建设是一个迭代过程,不要追求一步到位。先建立基础框架,跑通流程,然后根据实际使用中发现的问题逐步完善。最重要的是,评估结果要真正用于指导优化,而不是为了评估而评估。