Agent 评估的理论框架 2026:从能力边界到失败模式分类学
把 Agent 评估从单维准确率测量推进到能力边界拓扑、可靠性随机过程、失败模式分类学的三维坐标系,并据此反推下一代立体 Benchmark 的最低工程标准。
约 31 分钟阅读9,010 字3 次阅读博主

把 Agent 评估从单维准确率测量推进到能力边界拓扑、可靠性随机过程、失败模式分类学的三维坐标系,并据此反推下一代立体 Benchmark 的最低工程标准。

2026 年的 Agent 技术文献里,"评估"这个词的语义负担正在快速膨胀。当我们说"评估一个大模型"时,通常意味着在一组标准任务上测量它的准确率或困惑度——这是一个把模型的内在能力映射到一维或有限维向量空间的相对直接的过程。但当我们说"评估一个 Agent"时,被评估的对象不再是一个静态的输入-输出映射,而是一个长时间跨度、多步决策、与外部环境持续交互的执行系统。它的行为轨迹是一个时序的过程,它的成功标准常常需要在任务完成后才能被定义,它的失败模式既包含"做错了"也包含"做得太慢、超出预算、半途而废"等过程性维度。这种对象性质的转变,使得 LLM 时代发展出来的整套评测方法论——从 MMLU 到 HumanEval 再到 Chatbot Arena——在 Agent 场景下都面临着根本性的不匹配。
更困难的是,Agent 评估的有效性问题本身是递归的:要评估一个 Agent 是否可靠,需要先定义"可靠的 Agent 应该做什么";而要定义"可靠的 Agent 应该做什么",又需要先评估当前 Agent 的能力边界在哪里。这种鸡生蛋蛋生鸡的结构,正是过去两年 Agent 评估领域陷入混乱的核心症结。SWE-Bench、GAIA、τ-Bench、WebArena 等基准各自刻画了 Agent 能力的不同侧面,但它们之间既不构成一个完备的能力坐标系,也缺乏统一的可靠性度量协议——这意味着同一个 Agent 在不同基准上的排名差异巨大,我们无法回答"哪个 Agent 真正更好"这种看起来理所当然的问题。
本文试图从三个层面建立一个 Agent 评估的最小理论框架:第一,能力边界——Agent 在不同任务族上的可达区域如何用拓扑学工具刻画;第二,可靠性建模——给定一个能力边界,Agent 在该边界内行为的一致性如何用随机过程建模;第三,失败模式分类学——当 Agent 越出能力边界或可靠性失效时,错误如何被系统地分类。这三者共同构成一个"能力-可靠性-失败"的三元组评估坐标系,我们将在下文展开其形式化定义与工程推论。
我们把一个 Agent 系统形式化定义为三元组 A = (π, M, E),其中 π 是策略函数(在状态 s 下选择动作 a),M 是记忆与状态表征模块,E 是执行环境。Agent 的运行轨迹是一条 Markov 决策过程 τ = (s₀, s₁, ..., s_T),其中每一步状态转移由 (π, M, E) 共同决定。给定一个任务分布 D(任务族 T 上的概率分布),我们关心三个量:
能力(Capability):Agent A 在任务 t ∈ T 上的成功率,记为 succ(A, t) ∈ [0, 1]。能力边界 ∂C(A) 是所有"刚好达到可接受成功率阈值(如 0.8)"的任务集合——形式上 ∂C(A) = {t ∈ T : succ(A, t) = 0.8}。这个边界在任务空间 T 上通常是一个复杂的分形曲面,而非简单的凸区域。
可靠性(Reliability):在任务 t 上,Agent 重复执行 N 次的成功率方差,记为 var(A, t) = Var[succ(A, t; i=1..N)]。可靠性关心的是"Agent 在能力范围内是否表现稳定"——一个高能力但低可靠性的 Agent 是不可部署的,因为它在生产环境中无法预测。可靠性可以进一步分解为内部方差(相同环境下不同随机种子的差异)与外部方差(不同环境扰动下的差异)。
失败模式(Failure Modes):当 Agent 在任务 t 上失败时,错误归因到 (π, M, E) 三元组的某个分量上,并按归因类别聚类。失败模式分类学 F(A) 是 Agent 在整个任务分布 D 上的失败原因分布——一个 Agent 的失败模式分布越分散,说明其错误越难系统性修复;越集中在少数模式上,则说明可以通过针对性的方法改进。
这三个量不是独立的——能力边界 ∂C(A) 决定了"在哪些任务上需要关心可靠性",可靠性失效决定了"哪些失败模式会被触发",失败模式的分布又反向揭示了"能力边界上的薄弱区"。下文我们将分别深入这三个维度。
能力边界 ∂C(A) 在任务空间 T 上的拓扑结构,是理解 Agent 能力的最深层信息。传统的评测方法把 T 视为一组离散任务的集合,然后在每个任务上测一个分数——这等价于在 T 上做点采样,但完全忽略了 T 的拓扑信息。如果我们能在 T 上引入一个合理的拓扑(例如基于任务描述的语义距离或基于输入分布的 Wasserstein 距离),那么 ∂C(A) 就不再是一个抽象的集合,而是一个可以被刻画连通性、光滑性、分形维数等几何不变量的几何对象。
关键的拓扑不变量有三个。第一是连通性:∂C(A) 是连通的吗?如果 ∂C(A) 是断开的,意味着 Agent 在某些任务族上完全无能而在相邻任务上完全有能——这通常指向训练数据的覆盖断层。第二是维数:∂C(A) 作为 T 的子流形,其内蕴维数是多少?维数越高,说明能力边界越复杂,Agent 越可能在边界附近"溢出"到无能区。第三是光滑性:∂C(A) 在小扰动下稳定吗?不光滑的边界意味着 Agent 的能力对任务描述的微小变化极度敏感——这是典型的过拟合或鲁棒性失败信号。
具体测量方法上,可以借鉴高维拓扑数据分析(Topological Data Analysis, TDA)的工具:对任务空间 T 进行有界扰动采样,构造 Vietoris-Rips 复形,计算持续同调(persistent homology)。能力边界 ∂C(A) 的 Betti 数(β₀ 表连通分量数、β₁ 表环路数、β₂ 表空腔数等)在持续同调图谱上呈现出特定的"形状签名"——这是 Agent 能力结构的拓扑指纹。这一方法在 LLM 评测中已有初步应用(2024 年 NeurIPS 上有多篇论文使用 TDA 工具分析 LLM 在不同 benchmark 集群上的能力分布),但在 Agent 评测中几乎是空白。
工程意义上,拓扑刻画的最大价值是揭示能力边界的薄弱区——β₁ 高的区域意味着 Agent 在某些任务之间存在"能力峡谷",需要专项训练;维数异常高的区域意味着 Agent 在某些任务族上过度专业化、缺乏泛化能力。
能力是必要条件,但只有能力是不够的——一个 Agent 必须在能力范围内稳定地输出正确行为。可靠性的核心是把 Agent 的多次执行建模为一个随机过程,分析其方差与相关结构。
一个朴素的可靠性度量是 succ(A, t) 在 N 次重复执行下的样本方差。但这个度量忽视了三个关键维度:时间相关性(Agent 在长轨迹中的失败概率不是独立同分布的,前期错误会污染后期决策)、任务相关性(Agent 在不同任务上的成功率不是独立的,存在共享的失败模式)、环境相关性(环境的扰动会在 Agent 行为中引入相关性,导致方差被低估)。
更精细的建模是把 Agent 的执行轨迹视为一个隐马尔可夫过程(HMM):观察变量是 Agent 在每一步选择的动作,隐变量是 Agent 的"内部状态"——这个内部状态可能包括置信度、困惑度、记忆饱和度等。可靠性建模的目标是从动作序列反推内部状态的转移矩阵,进而预测 Agent 在长轨迹中的失败概率。这个模型在形式上等价于一个隐状态可靠性模型(Hidden-State Reliability Model, HSRM),其核心方程是:
P(success | τ) = Σ_{h ∈ H} P(success | h) · P(h | τ)
其中 h 是隐态变量,τ 是轨迹,H 是隐态空间。这个方程的关键洞察是:表面上观察到的单步成功率并不等于端到端成功率——端到端成功率是所有可能隐态路径的加权和,而单步成功率高的 Agent 在隐态空间中可能存在某个"失败吸引子",一旦进入就难以逃脱。
实际测量上,可以借鉴Hawkes 过程或泊松点过程对 Agent 失败事件的时间分布建模:如果 Agent 的失败是 Hawkes 过程(自激过程),那么一次失败的概率会激发后续失败的概率——这意味着 Agent 存在"失败集群"现象,工程上对应着"一次失败后立即熔断"的合理策略。如果失败是平稳泊松过程,则每次失败是独立的、不可预测的——这意味着熔断策略不会带来额外收益,需要不同的可靠性工程方法。
当 Agent 失败时,错误归因是改进的第一步。我们提出一个三层的失败模式分类学:
第一层:组件级失败——错误归因到 (π, M, E) 的某个组件。策略失败(π 输出错误动作)、记忆失败(M 检索错误信息或遗忘关键信息)、环境失败(E 反馈异常或工具不可用)。这一层的失败可以通过单元测试与组件级 A/B 实验识别。
第二层:交互级失败——错误归因到组件之间的交互故障。规划-执行不一致(π 规划正确但执行工具失败)、记忆-决策脱节(M 检索到信息但 π 忽略了它)、环境-反馈循环(E 的反馈扰乱了 M 的状态)。这一层的失败更隐蔽,需要 trace 分析与干预实验识别。
第三层:涌现级失败——错误源于系统在长时间跨度、多任务并发下的涌现属性。长程遗忘(任务 N+1 的执行扰乱了任务 1 的记忆)、能力溢出(Agent 在任务 A 上的能力不当地迁移到任务 B 导致过度泛化)、奖励黑客(Agent 找到了满足表面指标但违反真实目标的行为路径)。这一层的失败最难识别,常常需要形式化验证或事后归因分析。
失败模式的拓扑分布是 Agent 鲁棒性的关键签名。一个健康的 Agent,其失败模式应该集中在少数几个高频模式上——这意味着可以通过针对性的修复(如更好的工具、更鲁棒的提示、更可靠的状态管理)显著降低失败率。一个不健康的 Agent,其失败模式长尾分布——失败原因散布在数百个低频模式上,每个模式都难以系统性修复。这种长尾分布通常是 Agent 架构本身有缺陷的信号,而不是组件质量问题。
具体的失败归因方法包括:反事实干预(counterfactual intervention)——改变输入的一个维度,观察 Agent 行为如何变化,从而定位能力边界附近的"敏感区";激活补丁(activation patching)——在 Agent 内部激活上做干预,观察对失败模式的影响;注意力回滚(attention rollout)——可视化 Agent 的注意力分布,理解信息流的瓶颈位置。这些方法在 LLM 可解释性领域已成熟(2025 年 Anthropic 的电路发现工作、DeepMind 的稀疏自编码器研究),但在 Agent 场景下需要适配——因为 Agent 的决策不是单次前向传播,而是多步交互的轨迹。
能力、可靠性、失败模式这三个维度可以在一个统一的理论框架下被刻画:信息瓶颈视角。我们认为 Agent 评估的本质是在任务分布 D 与失败模式分布 F 上同时压缩信息——既要压缩任务描述以提取能力边界,又要压缩失败模式以提取根因结构。
具体地,定义两个互信息度量:I(τ; t) 表示 Agent 轨迹 τ 与任务 t 之间的互信息——这度量了 Agent 是否"理解"了任务;I(τ; f) 表示轨迹 τ 与失败模式 f 之间的互信息——这度量了 Agent 行为是否被失败模式污染。一个健康的 Agent 应该满足 I(τ; t) 高(任务理解强)且 I(τ; f) 低(失败模式污染少)。这两者共同定义了 Agent 的评估空间——任何 Agent 都可以被映射到这个二维平面上,能力强的 Agent 在 I(τ; t) 高端、可靠性高的 Agent 在 I(τ; f) 低端。
信息瓶颈视角的一个深刻推论是:能力边界 ∂C(A) 与失败模式分布 F(A) 之间存在对偶关系——能力边界上的"薄弱区"对应着失败模式分布上的"高频区",二者通过任务空间 T 上的微扰动结构相关联。这意味着改进 Agent 的策略不是独立优化能力与失败模式,而是在任务空间 T 上同时优化二者——把高频失败模式对应的任务族专门加强训练,同时评估能力边界是否同步外扩。
这个统一视角还预测了一个可观测现象:当 Agent 的能力边界扩展到新区域时,会伴随出现一组新的失败模式——这是因为新任务族带来了新的失败结构,旧的失败模式不会消失但会相对稀释。这种"能力扩展-失败涌现"耦合是 Agent 训练中的常态现象,传统的"先扩大能力后修补失败"的两阶段策略可能不是最优的——更优的策略是同步扩展能力与可靠性,例如在训练数据中显式包含失败-恢复样本。
上述理论框架对工程实践的最直接推论是:Benchmark 不应该是平面的,而应该是立体的——既要在能力边界上覆盖足够的任务族,又要在可靠性维度上包含足够的重复执行,还要在失败模式上保留可归因的痕迹。当前主流的 Agent Benchmark(如 SWE-Bench Verified、τ-Bench、WebArena)大部分只做到了第一层——任务族覆盖——而在可靠性与失败模式上几乎是空白的。
具体而言,我们建议下一代 Agent Benchmark 应该满足以下三个最低标准:
第一,每个任务至少 N ≥ 30 次重复执行,并报告成功率均值与方差。一个只跑 1 次的 Benchmark 既无法区分能力差异,也无法揭示可靠性问题——这是当前大部分 Agent 评测的根本缺陷。一个能力 80% 但方差 0.6 的 Agent 与能力 80% 方差 0.05 的 Agent 在生产环境中是天壤之别,但当前所有主流 Benchmark 都无法区分它们。
第二,每个失败案例必须有可追溯的 trace 日志,包含完整的 (s, a, r, s') 元组序列、记忆状态快照、工具调用记录、LLM 推理 token。一个只有"成功/失败"标签的 Benchmark 是不可改进的——开发者无法定位失败原因。一个带有完整 trace 的 Benchmark 则可以支撑自动化的失败归因与组件级 A/B 实验。
第三,Benchmark 应该显式包含"失败注入"任务——在任务执行的中途故意注入扰动(工具超时、记忆损坏、环境反馈错误),观察 Agent 的恢复能力。这对应着可靠性建模中的"外部方差"维度——只有显式扰动实验才能测出 Agent 的鲁棒性边界。当前所有主流 Benchmark 都缺少这一维度,导致我们高估了 Agent 在生产环境中的可靠性。
推论到 Benchmark 设计的元层面:Benchmark 应该有自己的能力-可靠性坐标系,任务族在能力维度上的覆盖应该用拓扑工具刻画(避免冗余任务集中在某个区域),每个任务的重复次数应该在可靠性维度上足够(避免单点估计),失败注入的比例应该在鲁棒性维度上平衡(避免过度偏向正常任务)。这种"立体 Benchmark"是 Agent 评估从"测量"走向"工程"的关键基础设施。
尽管上述框架为 Agent 评估提供了一个最小理论骨架,但当前研究仍存在多个根本性的盲区。
第一,任务空间的拓扑结构本身就是未知的。我们对 T 上的语义距离或 Wasserstein 距离没有共识——这意味着基于拓扑的能力边界刻画依赖于任务表示的选择,不同表示可能给出截然不同的拓扑结构。这一问题在 LLM 评测中已经暴露(不同 embedding 模型给出的任务相似度差异巨大),在 Agent 场景下因为任务包含环境交互而更加严重。
第二,隐态可靠性模型的可识别性问题。我们用 HMM 建模 Agent 内部状态,但 HMM 本身存在不可识别性——多个不同的隐态转移矩阵可能产生相同的观察序列。这要求我们或者对内部状态施加先验约束,或者引入主动干预实验来打破对称性。当前的 Agent 评测既缺乏先验也缺乏干预——这是一个方法论缺口。
第三,失败模式的归因边界。我们把失败归因到 (π, M, E) 三元组,但在实际 Agent 系统中,这三者高度耦合——策略依赖于记忆检索结果,记忆状态受到工具调用的影响,环境反馈经过 LLM 推理后才会影响策略。纯粹的组件级归因忽略了交互失败,而交互失败的归因又常常是欠定的(多个交互链路都可能导致同一个失败症状)。这是失败模式分类学最薄弱的环节。
第四,评估的"测试集污染"问题。Agent 训练数据规模庞大、来源广泛,公开 Benchmark 极有可能已经被污染。当前的反污染措施(动态生成测试用例、held-out 私有集)只能缓解、不能根治——这是整个 LLM/Agent 评估领域的结构性问题,但在 Agent 场景下因为环境交互的复杂性而更加突出。
这些盲区共同指向一个开放问题:Agent 评估需要从"测量科学"走向"工程科学"——前者关心"Agent 在某个任务上表现如何",后者关心"如何系统性地改进 Agent 的能力、可靠性与失败模式"。两个层次的评估缺一不可,但当前研究过度集中于前者,对后者的方法论投入严重不足。
对于要在 Agent 评估领域做严肃研究的团队,我们建议以下最低实验标准:
第一,重复执行。任何 Agent 能力声明必须基于 N ≥ 30 次重复执行的均值与方差,单次执行结果不具备统计意义。报告里应明确给出均值、95% 置信区间、方差三个数字,缺一不可。
第二,可追溯 trace。每次执行必须保存完整的 trace 日志,包括所有 (s, a, r, s') 元组、记忆状态快照、LLM 推理 token、工具调用记录。trace 数据应可公开访问或可按请求提供,以支持第三方复现与失败归因。
第三,环境隔离。同一任务的多次重复必须在隔离环境中执行——不能共享状态、记忆、缓存。否则重复执行之间的方差会被低估,可靠性建模失效。
第四,扰动实验。除正常执行外,应额外报告在扰动条件下的 Agent 表现——包括工具超时扰动、记忆损坏扰动、环境反馈错误扰动、提示注入扰动等。扰动实验的成本比正常执行高,但提供了可靠性建模必需的外部方差信息。
第五,失败归因。每次失败必须有明确的归因——是策略错误、记忆错误、工具错误还是环境错误?归因可以借助自动分析(如基于规则的分类)或人工标注(如专家归因),但必须有归因结果,否则失败数据不可利用。
这五条标准是 Agent 评估的"工程基线"——满足了这些标准的研究才有可能被严肃对待、被复现、被改进。低于这个标准的研究,无论结果多么亮眼,都无法在评估科学上做出真正的贡献。
摘要:本文建立了 Agent 评估的最小理论框架,把能力边界、可靠性、失败模式三个维度统一在信息瓶颈视角下——能力用任务空间上的拓扑刻画,可靠性用隐态随机过程建模,失败模式用三层分类学归因,三者通过对偶关系耦合。该框架对工程实践的核心推论是 Benchmark 应该是立体的——每个任务至少 30 次重复 + 完整 trace + 显式扰动实验。
一句话摘要:把 Agent 评估从单维准确率测量推进到能力边界拓扑、可靠性随机过程、失败模式分类学的三维坐标系,并据此反推下一代立体 Benchmark 的最低工程标准。
Conversation
0 条