通过 率 全 绿, 行为 漂移 仍然 看不见
AgentAssay 用三值判定和行为指纹做非确定智能体的回归测试。7,605 次试验花了 227 美元:通过率一直是 100%,一元检验力为 0,指纹检验力 0.86。SPRT 把 100 次降到 22 次。注入回归的实验作者写明还没做。

本文目录
本文是技术报告 AgentAssay: Token-Efficient Regression Testing for Non-Deterministic AI Agent Workflows(arXiv:2603.02601)正文第 1 节至第 11 节的中文译文,由智测团队翻译。作者是独立研究者 Varun Pratap Bhardwaj(ORCID 0009-0002-8726-4289)。参考文献和附录 A 的完整证明未逐条展开。这不是已发表的会议论文。作者写明,带注入回归和自助法验证的扩展实验,还在为会议版本准备。下面凡是正文、图注和表不一致的地方,以表为准,并在第 9 节末单独列出。
摘要
建在大语言模型上的自主智能体天生不确定:同样的提示、工具和模型,多次运行可以走出不同行为。AutoGen、CrewAI、LangGraph、OpenAI Agents SDK 这些框架增长很快,但还没有一套有原则的测试方法,用来核验提示、工具、模型或编排逻辑改过之后,智能体有没有退步。传统软件测试假定输出确定、判定是二元的通过或失败,这两条对随机系统都不成立。本文提出 AgentAssay,作者称之为第一套面向非确定智能体工作流的、省 token 的回归测试框架,声称在保持严格统计保证的同时把成本降 78% 到 100%。贡献有十项:(1)随机测试语义,用通过、失败、证据不足这三值代替二元判定,并配置信区间和序贯分析;(2)覆盖工具、决策路径、状态空间、边界和模型五个维度的覆盖指标;(3)针对提示、工具、模型和上下文窗口的变异算子,以及形式化的杀死语义;(4)面向多步工作流的蜕变关系;(5)把持续集成与持续部署的发布关口定义成统计决策程序;(6)通过 AgentAssert 接入行为契约;(7)在 5 个模型、3 个场景、7,605 次试验、花费 227 美元上的评估;(8)行为指纹,把执行轨迹映成低维行为流形上的紧凑向量,用多元检验提高每个样本的检验力;(9)自适应预算,按实际行为方差校准试验次数,对稳定智能体把所需试验降到原来的约四分之一到七分之一;(10)轨迹优先的离线分析,在事先录好的生产轨迹上,以零额外 token 做覆盖、契约和蜕变测试。作者写这些技术合起来是 5 到 20 倍的成本下降,统计保证不变。实验用的五个模型是 GPT-5.2、Claude Sonnet 4.6、Mistral-Large-3、Llama-4-Maverick 和 Phi-4。行为指纹在二元通过或失败检验力为 0 的地方达到 86% 的检测力;序贯概率比检验(SPRT)在各场景把试验次数稳定地降约 78%;完整流水线靠轨迹优先的离线分析,把这次回归检查的额外接口成本降到 0,也就是表里的 100% 节省。
1 引言
设想企业用智能体做客服工单路由。周一提示改完,93% 的工单路由正确。到周三,模型供应商悄悄更新了底层模型,准确率掉到 71%。没有测试抓住这次退步,也没有告警。团队是在客诉涌上来之后才发现。作者说这种「周一还能用、周三就坏」不是假想,而是把自主智能体放进生产后的日常。根因是非确定性:同一套配置(提示、工具、模型、编排逻辑)会因温度采样、模型权重更新、工具延迟和上下文窗口效应,在不同调用上给出不同输出。近期经验工作确认智能体行为会随机偏离路径,但没有有原则的测试方法来判断这种偏离何时构成回归,也就是质量上统计显著的下降。
1.1 传统测试为什么失效
传统测试靠两条假设,智能体都破坏了。第一,确定性:同样输入,函数给出同样输出,测试写的是断言相等。智能体同一次输入可以选出不同工具、走出不同推理链、给出不同最终答案,相等断言没有意义。第二,二元判定:一次失败可能只是噪声,一次成功可能只是走运。要问的不是「过了没有」,而是「以足够高的概率过了没有」。已有的大模型评估,例如 deepeval、promptfoo、OpenAI Evals,处理的是单轮输出质量,没有把多步智能体工作流的回归检测形式化。它们评的是智能体有多好,不是它有没有变差。较新的 agentrial 会多次运行并算置信区间,但是没有形式化的随机测试语义、覆盖指标、变异测试、组合理论,也没有统计保证的证明。
1.2 从二元到概率
作者主张判定空间从「通过、失败」改成「通过、失败、证据不足」。执行模型从确定改成随机。断言从相等改成「满足性质的概率不低于阈值」。回归从「输出变了」改成「新版本通过率低于基线减去一个最小降幅」。证据从跑 1 次改成带置信度地跑多次。第三值「证据不足」是必要的:试验次数还分不清信号和噪声时,诚实的答案既不是通过也不是失败,而是还要更多证据。后面所有贡献都建在这个三值语义上。文中举例用的统计参数是:要检出的最小降幅 δ 等于 0.10,显著性 α 等于 0.05,第二类错误 β 等于 0.10。按固定样本公式,每个场景大约需要 100 次试验。50 个场景、每个 100 次,就是每次回归检查 5,000 次智能体调用。若前沿模型一次复杂运行要 5 到 15 美元的接口 token,单次回归检查就是 25,000 到 75,000 美元,超过许多团队一个月的生产用量。第 9 节的真实试验并不是这个价位,见后文。
1.3 测非确定性有多贵
即使 SPRT 把试验次数降一半,作者在第 7 节开头仍认为成本高得用不起。成本来自一个错配:二元通过或失败把每次试验里的轨迹、工具用法、推理深度和输出结构压成 1 个比特。若从轨迹抽出行为指纹,就可以做多元统计检验,每个试验带走更多信息,从而减少试验次数。省 token 的三根支柱是:行为指纹、按方差校准的自适应预算、轨迹优先的离线分析。再加上多保真代理测试和热启动序贯分析,作者声称在 α、β 不变时把成本降到原来的五分之一到二十分之一。离线分析让六类测试里的四类不必再做实时智能体执行。
1.4 贡献与结构
C1 是第 3 节的随机测试语义,含判定可靠性(定理 3.1)、回归检测力(定理 3.2),以及把 Wald 的 SPRT 改到智能体测试上(命题 3.3)。C2 是第 4 节的五维覆盖,并证明覆盖单调(定理 4.1)。C3 是第 5 节的四类变异算子和变异充分性(定理 5.1)。C4 是第 6 节的四族蜕变关系。C5 是第 6.2 节的发布关口。C6 是第 8 节与 AgentAssert 的契约集成:在给定条件下,通过判定蕴含契约以相应概率被满足。C7 是第 9 节的实验。C8 是第 7.1 节的行为指纹和 Hotelling T² 检验(定理 7.1)。C9 是第 7.2 节的方差校准预算(定理 7.2)。C10 是第 7.3 节:覆盖、契约、蜕变关系和变异评估这四类可以在预录轨迹上以零额外 token 运行(定理 7.3)。第 2 节是相关工作,第 10 节是效度威胁与局限,第 11 节是结论。完整证明在附录 A,本文不展开。
2 相关工作
作者把工作放在五块文献的交界:蜕变测试、统计检验与序贯分析、大模型和智能体评估、智能体框架的可靠性、概率模型检验,并对照不稳定测试(flaky tests)。定位是:已有评估框架回答「好不好」,AgentAssay 要回答「改完之后有没有变差」,并且把 token 成本写进方法,而不只写进实验账单。
3 随机测试语义
智能体定义为四元组:提示 π、工具集合、底层语言模型 μ(含版本、温度和采样参数)、编排逻辑 ω。一次执行轨迹是步骤序列。每步记录动作(推理、调用工具或回答)、调用了哪个工具、该步输出,以及成本(token、延迟、金额)。因为智能体是随机的,同一输入上的重复执行给出轨迹分布。
评估器把输入和输出映成 0 或 1。它可以是确定性的规则(例如输出是否包含某个关键词),可以是自身也随机的大模型裁判,也可以是 AgentAssert 的行为契约。评估器本身随机时,框架把智能体和评估器合成一个随机过程,不再假装判定是确定的。
测试场景是输入、期望性质集合和评估器。随机测试由三元组 (α, β, n) 参数化。α 是把其实达标的智能体判成失败的第一类错误上界。β 是把其实低于阈值的智能体判成通过的第二类错误上界,1−β 是检验力。n 是独立试验次数。给定最小降幅 δ,所需样本量按正态分位数和通过率方差估算。单版本阈值检验用双侧分位数;回归检验用单侧,备择假设是当前通过率低于基线。
观察到的通过率是 n 次里判定为 1 的比例。置信区间用 Wilson 得分区间。判定规则是:区间下界不低于阈值 θ 则通过;区间上界低于 θ 则失败;否则证据不足。例 3.1:n 等于 50,θ 等于 0.85,α 等于 0.05,若 50 次里 45 次通过,通过率 0.90,Wilson 95% 区间大约是 [0.789, 0.958]。下界 0.789 低于 0.85,判定为证据不足。n 增到 100、通过率仍是 0.90 时,区间大约收到 [0.826, 0.946],仍是证据不足。n 到 200、通过率 0.90 时,区间大约是 [0.853, 0.935],下界不低于阈值,才判通过。定理 3.1 说:若判通过,则真实通过率其实低于阈值时仍被判通过的概率不超过 α;并且真实通过率以至少 1−α 的概率不低于 θ 减去一个随样本量增大而消失的容差。形式界用 Clopper-Pearson 精确区间,证明在附录。
回归判定比较基线通过率和当前通过率。失败的条件是:原假设的 p 值小于 α,且两者差值的绝对值至少为 δ。通过则还要求检验力至少达到 1−β。证据不够就停在证据不足,而不是硬给二元结论。多个场景同时检验时,用 Holm-Bonferroni 校正,把族错误率控制在 α,又比朴素 Bonferroni 保留更多检验力。
4 智能体覆盖
语句、分支、路径这些覆盖定义在从源码抽出的确定控制流上。智能体没有这种源码,它的「代码」是提示、工具清单、模型权重和编排逻辑的组合。测试套件的覆盖是五维元组,每一维都在 0 到 1 之间:工具覆盖、决策路径覆盖、状态空间覆盖、边界覆盖、模型覆盖。
工具覆盖是被调用过的工具数除以可用工具数。10 个工具只触发 3 个,覆盖就是 0.30,其余 7 个可能藏着还没被碰到的回归。它只看有没有被调用,不看调用时输入是否多样;输入多样性交给边界覆盖。路径覆盖用轨迹里的动作与工具序列,并用 Chao1 估计器估计还没被抽到的路径。状态空间覆盖先把轨迹抽象成智能体状态再计覆盖,其中的粒度参数要按智能体类别校准。边界覆盖看工具输入是否碰到模式里的边界。模型覆盖看同一套测试是否在多个模型上跑过。总覆盖是这五维的汇总。定理 4.1 是覆盖单调:在温和条件下,覆盖按分量更高的套件,期望能发现的不同缺陷不少于覆盖更低的套件。作者说这与传统测试里覆盖和缺陷检测的相关类似,并称在第 9.2 节做了经验验证。第 9.2 节实际报告的是行为刻画和轨迹采集是否成功,并没有给出覆盖对缺陷检测的定量验证,见第 9 节的限定。
5 智能体变异测试
传统变异改的是源码语法。智能体的「源」是提示、工具配置、模型和上下文,所以要新的算子。变异算子只改四元组里的一个分量。
提示变异有四个:同义替换,例如把「总结文档」换成「压缩文档」;打乱指令顺序,内容不变、优先级变了;注入无关文字,模拟提示污染;随机删掉一条指令,模拟提示被截断。作者认为,设计得好的智能体应对同义替换和重排稳健,对删指令敏感。变异分数衡量的是测试套件能否把语义变化和非语义变化分开。
工具变异有三个:随机删掉一个工具,看是体面降级还是静默失败;打乱工具清单顺序,模拟有的模型对位置敏感;在工具描述或模式里注入误导信息,模拟描述错误或对抗性工具定义。
模型变异有两个:换成同一能力档的另一个模型,例如用 Claude 3.5 Sonnet 换掉 GPT-4o,测跨模型兼容;换成更旧或更弱的版本,例如 GPT-4o 换成 GPT-4o-mini,测降级是否可控。
上下文变异有三个:把输入截到原长度的一个比例,模拟窗口溢出;往上下文注入无关段落,模拟检索噪声;打乱上下文片段顺序,模拟检索增强场景对文档顺序敏感。
传统变异里,测试失败就算杀死了变异体。这里杀死是随机的:要按第 3 节的判定,在给定 α、β 下认定变异体的通过率相对原智能体下降了至少 δ。变异分数是被杀死的非等价变异体占全部非等价变异体的比例。等价变异体问题在传统软件里不可判定,对智能体同样不可判定。作者的启发式是:在若干场景上做满规定次数试验后仍看不到显著差异,就暂且当成等价。这可能把行为差异很细的非等价变异体误判成等价,从而抬高变异分数。定理 5.1 的变异充分性依赖耦合效应:复杂缺陷会和简单变异耦合。这在源码变异上较熟,但作者承认,对提示扰动和工具修改还没有大规模经验验证。设计原则是:一次只改一个分量,变异要像真实发生的改动,并且单个变异可以复合。
6 蜕变关系与发布关口
开放式任务往往没有标准答案。蜕变测试不直接判断输出对不对,而检查两次相关执行之间的关系是否成立。关系作用在一对执行上:源输入 x,以及由变换得到的后续输入。关系被违反,就提示可能有缺陷。
置换关系:检索增强智能体里,打乱检索文档顺序不应改变答案里的事实;对有明确解的任务,打乱工具清单顺序不应改变最终结果。扰动关系:更难的输入,期望得分不应高于更易的输入;输入加上不超过 ε 的小噪声,判定应保持不变,这是对随机执行以高概率成立。组合关系:流水线前一段给出正确中间结果时,后一段给出正确最终结果的概率应不低于阈值;在某类输入上功能等价的两个智能体,换进流水线不应改变流水线判定。预言关系:输出必须符合规定格式;输入里的约束(例如最多 100 词)必须被满足;对代码格式化、数据清洗这类任务,做两次应和做一次近似相同。命题 6.1:若某版本在 n 对试验上违反率不超过 ε,新版本违反率超过 ε 加 δ,就可以把这当成该性质上的回归信号,套进第 3.4 节的回归判定。
发布关口把 m 个场景的判定和覆盖元组映成三个决定:套件判定为通过且总覆盖不低于下限,则部署;套件判定为失败,则阻断;套件证据不足或覆盖不够,则转人工,而不是自动阻断。配置元组包括 α、β、最小降幅 δ、通过率阈值 θ、最低覆盖、每场景试验上限和墙钟时间上限。算法是:对每个场景,试验次数取公式所需量和上限的较小者,用 SPRT 跑,算回归判定,再用 Holm-Bonferroni 合成套件判定,并计算覆盖。
接入现有持续集成有两条。一是 pytest 插件,命令行带 --agentassay,结果以 JUnit XML 输出,可接 GitHub Actions、GitLab CI、Jenkins 和 CircleCI。二是退出码:0 是部署或通过,1 是阻断或失败,2 是人工或证据不足。作者建议典型持续集成里把试验上限设为 30,并配合 SPRT,以便在 α 等于 0.05 时对 δ 至少 0.15 的回归有足够检验力。
7 省 token 的测试
每个场景要 n 次独立执行。m 个场景的花费是次数乘以单次成本。第 7 节开头仍写 SPRT 大约把 n 降 50% 之后成本依然不实用。同一节后文和第 9 节的实测是从固定的 100 次降到平均 22 次,约 4.5 倍,节省约 78%,比这句「大约 50%」更大。作者把省 token 测试写成五件套,声称统计保证不变、成本降到五分之一至二十分之一。核心观察是:文本输出很随机,但工具序列、推理深度、输出结构和效率指标集中在比原始输出空间小得多的流形上。在这块压缩后的行为空间里检验,样本效率更高。
行为指纹从轨迹抽出六族特征,拼成向量。一是工具调用的归一化频率。二是结构复杂度:轨迹长度、工具调用的最大嵌套深度、不同推理分支数。三是输出特征:最终输出的 token 数,以及一个 0 到 1 的复杂度分,例如把 Flesch-Kincaid 等级除以一个参考上限。四是动作类型分布。五是有没有出错,以及出错后成功恢复的比例。六是总成本与平均每步成本。实现里把工具频率和动作分布补零到固定维,实用指纹是 14 维,便于跨智能体比较。有效维度是解释至少 95% 方差所需的主成分个数。回归检测用指纹向量上的 Hotelling T²,定理 7.1 称其每个样本的检测力严格高于只看通过率的一元检验。
自适应预算用少量校准试验估计真实方差,再决定达到 α、β 保证所需的最少试验,而不是按最坏情况取 n。定理 7.2 称对稳定智能体可以降到原来的约四分之一到七分之一。第 9 节里,这一步相对已经用了 SPRT 的方案只是边际改进,见数字不一致说明。
轨迹优先:六类测试里的四类,即覆盖、契约、蜕变关系和变异评估,可以在预录轨迹上跑,不再为它们发起实时调用。定理 7.3 给出可靠性。候选版本的回归检测仍要实时跑,所以实时运行的成本下限不是零。多保真测试用便宜的代理模型承担大部分试验,只在目标模型上抽少量试验。热启动序贯分析用已有轨迹给 SPRT 一个起点,而不是从零积累证据。
作者把五项的保守缩减相乘,得到大约 0.05 到 0.20 的成本比例,也就是 5 到 20 倍。这是理论区间,不是第 9 节那张表的直接读数。推论说:若生产轨迹存得全,且代理模型与目标的相关至少 0.7,则每次回归检查的期望成本会收到离线计算成本,加上仍须在目标侧跑的那一部分。相关趋近 1 时,成本趋近纯离线。
例 7.1 是假设,不是第 9 节实测。客服智能体、50 个场景、GPT-4o 每次 0.15 美元、代理用 GPT-4o-mini 每次 0.01 美元、相关 0.82。经典做法 50 乘 100 乘 0.15 等于每次检查 750 美元。完整系统里 35 个场景离线、花费 0;15 个要实时跑;稳定智能体的自适应预算是 22 次;多保真拆成每个场景 5 次目标模型加 17 次代理;热启动后再平均降到 4 次目标加 14 次代理。成本是 15 乘(4 乘 0.15 加 14 乘 0.01)等于 11.10 美元。相对 750 美元是 67.6 倍,α 仍为 0.05,β 仍为 0.10。不要把 67.6 倍或「从几百美元降到个位数」当成第 9 节表格里的实测单价。
8 实现
AgentAssay 实现为开源 Python 库,经 PyPI 分发。本文未给出包名。四层是:核心引擎(判定、回归、SPRT、贝叶斯分析和多重检验校正)、覆盖分析器(五维覆盖、路径的 Chao1 估计、状态抽象)、变异引擎、框架适配器。适配器把各框架的执行模型译成统一轨迹格式。
pytest 插件用装饰器声明试验次数、阈值、α 和方法。插件截获执行、跑完试验、计算随机判定,再用 pytest 的报告机制输出。通过显示为绿色并带置信区间,失败为红色并带 p 值和效应量,证据不足为黄色并提示还要多少次试验。
内建适配器有十个:LangGraph、CrewAI、AutoGen、OpenAI Agents SDK、Hugging Face 的 smolagents、微软 Semantic Kernel、Amazon Bedrock Agents、MCP、Google Cloud 的 Vertex AI Agent Builder,以及任意可调用对象的通用适配器。
场景用 YAML 描述。示例是工单路由:输入「我的付款失败了」,期望部门是账单,最多 5 步,评估器是精确匹配;另一条输入是无法登录,期望部门是认证。配置示例为 50 次试验、阈值 0.90、α 等于 0.05、β 等于 0.10、方法为 SPRT、基线文件和 δ 等于 0.10。契约评估器指向一份 ContractSpec 文件和其中一条条款。报告有三种:终端、带通过率分布和覆盖雷达的 HTML,以及给持续集成的 JUnit XML。
表 3 的代码行数如下。
| 组件 | 行数 |
|---|---|
| 核心引擎(统计与判定) | 3,092 |
| 覆盖分析器 | 844 |
| 变异与蜕变引擎 | 3,710 |
| 省 token 引擎 | 2,324 |
| 框架适配器(10 个框架) | 4,469 |
| 基础设施(命令行、仪表盘、持久化) | 5,644 |
| 实现合计 | 20,146 |
| 测试套件(751 个测试) | 7,384 |
| 总计 | 27,530 |
9 实验
实验分两段,全部是真实大模型接口调用,没有模拟回复。第一段 E1 到 E6 刻画行为差异,并验证采集和统计机器。第二段 E7 在相同统计保证下比较五种省 token 做法。
五个模型分三档。前沿是 OpenAI 的 GPT-5.2 和 Anthropic 的 Claude Sonnet 4.6。中档是 Mistral AI 的 Mistral-Large-3。开放权重是 Meta 的 Llama-4-Maverick-17B。小模型是微软的 Phi-4。三个场景是电商(商品搜索、购物车、下单,使用工具调用)、客服(跨部门路由并处理工单)、代码生成(写、调试并解释 Python)。基础设施是 Azure 美国东部 2 区的 Standard B2s_v2 虚拟机,经 Azure AI Services 访问接口。GPT-5.2 走 OpenAI API,Sonnet 4.6 走 Anthropic Messages API,其余三个走 Azure OpenAI。试验每 25 次做检查点,并有故障恢复。总账是 7,605 次试验、1,240 万 token、227 美元。
9.1 第一段:行为刻画
七种配置是:E1 判定、E2 覆盖、E3 变异、E4 SPRT、E5a 契约、E5b 蜕变、E6 发布关口。每种配置对每个模型与场景组合跑 50 次,即 7 乘 5 乘 3 乘 50 等于 5,250 次。表 4 的每个模型格子是 7 乘 3 乘 50 等于 1,050 次。token 和延迟写作均值加减标准差。
| 模型 | 试验次数 | 每次 token | 每次费用 | 延迟(毫秒) |
|---|---|---|---|---|
| GPT-5.2 | 1,050 | 112±23 | 0.0009 美元 | 2,295±465 |
| Sonnet 4.6 | 1,050 | 142±31 | 0.0018 美元 | 2,920±3,820 |
| Mistral-Large-3 | 1,050 | 561±346 | 0.0033 美元 | 4,422±3,034 |
| Llama-4-Maverick | 1,050 | 106±20 | 0.0000 美元 | 613±180 |
| Phi-4 | 1,050 | 116±64 | 0.0000 美元 | 12,874±11,877 |
三点。token 生成量跨模型相差 5.3 倍:Mistral-Large-3 每次 561±346,是 Llama-4-Maverick(106±20)的五倍多。延迟相差 21 倍:Phi-4 平均 12,874 毫秒,Llama-4-Maverick 是 613 毫秒。发布关口的耗时主要由模型决定,不是框架开销。模型内部方差也高:Mistral-Large-3 的标准差 346,变异系数 62%;Phi-4 标准差 64,变异系数 55%;最稳的 Llama-4-Maverick 标准差 20,变异系数仍有 19%。因此单次评估不可靠。
5,250 次全部成功采集轨迹,每次都有步骤级工具调用、token 数和计时。三值判定用 Wilson 区间,SPRT 都在理论样本量界内停止。作者据此说定理 3.1 在指定 α 上控制了第一类错误。这是框架机器跑通了,不是注入回归后的检出实验。
9.2 第二段:E7
在 α 等于 0.05、β 等于 0.10 下比较五种做法。场景仍是三个。模型是四个:GPT-5.2、Sonnet 4.6、Mistral-Large-3、Llama-4-Maverick,不含 Phi-4。每个模型、场景、做法的组合重复 25 次,论文写 10 个模型与场景配对,5 乘 25 乘 10 等于 1,250 个数据点。四种模型乘三个场景是 12 对,不是 10 对,原文写的是 10,此处照录。
五种做法是:固定 n,每次回归检查 100 次,无序贯停止、无指纹、无轨迹复用;只做 SPRT,一元通过率;SPRT 加指纹,在指纹上做 Hotelling T²;再加预算校准,校准试验 k 等于 10;完整系统,含轨迹优先的离线分析。
表 5 是四种模型、三个场景、25 次重复上的均值。费用带标准差。
| 做法 | 平均试验次数 | 平均费用 | 节省 | 检验力 |
|---|---|---|---|---|
| 固定 n(基线) | 100±0 | 0.287±0.184 美元 | — | 0.00 |
| 只做 SPRT | 22±0 | 0.064±0.042 美元 | 77.6% | 0.00 |
| SPRT 加指纹 | 20.3±0.7 | 0.059±0.038 美元 | 79.5% | 0.86 |
| 再加预算 | 20.3±0.7 | 0.058±0.038 美元 | 79.7% | 0.86 |
| 完整系统 | 0±0 | 0.000±0.000 美元 | 100.0% | 0.94 |
图 2 的说明是:SPRT 节省 78%,完整系统靠离线分析达到 100%。图 3 的说明写成指纹达到 79% 检验力,与表 5 的 0.86 不一致。图 4 说三个领域的 SPRT 节省稳定在 77.7% 到 78.2%。
作者的四点解读如下,其中和第 3 点、第 4 点与表冲突的地方已改按表来写,冲突另列。SPRT 平均在 22 次停止,相对固定的 100 次是 4.5 倍,α、β 不变。只看通过率的两种做法检验力是 0,因为所有模型和场景的一元通过率都停在 100%,没有发生通过率回归。检验力在这里量的是对行为变化的敏感度,不是「抓到了一次通过率下降」。指纹抓住的是 token 分布、响应模式和步骤结构上的细移,通过率完全看不出来。预算校准在表 5 里没有提高检验力,两行都是 0.86,费用从 0.059 美元降到 0.058 美元。完整系统不再发起额外的实时调用,表 5 的检验力是 0.94,费用是 0。这 0 美元指的是这次检查不再打接口,不是指纹和轨迹库没有事先成本。
分模型的单次回归检查费用(表 6)如下。Llama 的接口价是 0,节省比例写作不适用。
| 模型 | 固定 n | SPRT(节省) | 完整系统(节省) |
|---|---|---|---|
| GPT-5.2 | 0.127 美元 | 0.028 美元(78%) | 0.000 美元(100%) |
| Sonnet 4.6 | 0.196 美元 | 0.043 美元(78%) | 0.000 美元(100%) |
| Mistral-Large-3 | 0.338 美元 | 0.076 美元(77%) | 0.000 美元(100%) |
| Llama-4-Maverick | 0.000 美元 | 0.000 美元(不适用) | 0.000 美元(不适用) |
分场景(表 7):电商固定 n 费用 0.170 美元,SPRT 节省 77.7%,完整系统 100%。客服是 0.372 美元、77.5%、100%。代码生成是 0.174 美元、78.2%、100%。Mistral-Large-3 单次检查 0.338 美元,只用 SPRT 就少花 0.262 美元。作者据此说,若企业一个月跑成千上万次回归检查,可以省下数百到数千美元。这是把表 6 的单价外推,不是本次实验的账单。本次全部实验花费是 227 美元。
9.3 作者的六点结论,以及文内对不上的数字
作者总结:行为根本是随机的,token 跨模型差 5.3 倍,延迟差 21 倍;三值判定在 5,250 次刻画试验里按指定 α 控制了第一类错误;SPRT 在各场景节省约 78%,平均 22 次对固定 100 次;指纹在通过或失败检验力为 0 处给出 86% 检测力,与表 5 的 0.86 一致;完整流水线额外接口成本为 0,表 5 检验力 0.94;总花费 227 美元。带注入回归的扩展实验尚未做出,这里的刻画数据只是日后那些实验的行为基线。
译文不替论文把下列冲突抹平。
图 3 说明写指纹检验力 79%,表 5 和摘要写 0.86 或 86%。第 9.3 节散文写预算校准把检验力从 0.79 提到 0.80,表 5 两行都是 0.86,完整系统是 0.94。同节稍后又写完整系统检验力为 0.98。摘要的「5 到 20 倍」来自第 7 节的理论相乘区间;E7 表上的节省是 77.6% 到 100%,对应约 4.5 倍到「这次检查不再打接口」。例 7.1 的 67.6 倍和 750 美元对 11.10 美元是 GPT-4o 的假设账,实验里最贵的单次试验只有 0.0033 美元。第 7 节开头说 SPRT 大约省 50%,实测是约 78%。贡献 C9 说稳定智能体试验次数降为四分之一到七分之一,那是相对最坏情况的固定样本;相对已经是 22 次的 SPRT,加预算只到 20.3 次。5,250 次刻画加 1,250 个 E7 数据点等于 6,500,与总试验数 7,605 相差 1,105,论文没有解释这 1,105 次落在哪。E7 又写 4 个模型、3 个场景,同时写 10 个模型与场景配对,4 乘 3 应是 12。
10 讨论
内部效度假设每次试验结果独立同分布,来自参数为真实通过率的伯努利分布。实际可能被三件事破坏:有的供应商对相同输入做缓存,人为压低方差;限流使顺序调用的延迟分布不同,影响依赖工具的智能体;测试窗口内模型被更新,平稳性不成立。缓解分别是:各次试验变化温度和种子;打乱试验顺序并加抖动;把测试窗口定得短于典型的模型更新周期。对非独立同分布的稳健性留给以后。
外部效度只覆盖三个领域、五个模型。没有评数百步的长程智能体,没有评带物理执行器的智能体,也没有评面对故意操纵的对抗设置。构念效度上,变异充分性定理依赖的耦合效应尚未在智能体变异上被大规模验证。
局限有四。随机测试按最坏情况要很多倍于单次执行的成本;省 token 技术把这个倍数压下去,但候选版本的回归检测仍有不为零的实时下限。作者建议持续集成走完整的省 token 流水线,发布关口再用固定样本以换最高检验力。评估器若是模型裁判,真实通过概率会把智能体质量和裁判质量缠在一起。能用正则、代码执行和契约检查时,优先用确定性评估器;必须用模型裁判时,对多次裁判取平均。状态空间覆盖的粒度参数要靠初始运行来估,覆盖指标依赖一个本身需要测试才能估的参数。等价变异体的误判会抬高变异分数。
对采用的含义需要拆开读。第 10.3 节写完整流水线把一次回归检查「从数百美元降到个位数」。这个量级对得上例 7.1 的假设账,对不上表 6 里 0.127 到 0.338 美元的实测单价。表 6 能支持的说法更窄:在这些便宜场景上,SPRT 大约省四分之三的接口费,若轨迹已经录好,这次检查可以不再打接口。生产监控(例如 LangSmith 轨迹或自建仪表盘)有两个根本限制:回归要影响到用户之后才发现;异常阈值是启发式的,不是假设检验。AgentAssay 想做的是上线前的、带形式保证的回归检测,补充而不是替换监控。轨迹优先这一支柱把两边接上:监控系统收下的生产轨迹,可以直接做离线覆盖、契约和蜕变测试。指纹还可以当身份签名,用来发现生产中的模型漂移、判断一条轨迹来自哪个版本,或做智能体组合管理。作者在实验里观察到有效维度低,但正文没有给出具体的有效维度数值。轨迹优先加热启动 SPRT 还可以做成持续化验:不只在发版点测试,而是持续把新来的生产轨迹和基线指纹分布比,超过阈值就做统计告警。完整形式化留给以后,统计基础是变点检测文献里的 CUSUM 和 Page 检验。
未来工作包括:从单个智能体的测试结果推出流水线保证的组合测试理论;把基于性质的测试生成接上随机语义;把离线测试扩成在线告警;形式化多智能体里的通道可靠性、幻觉下的共识,以及单个智能体测试里不会出现的涌现行为;把人类判断接进随机框架,并计入评分者间信度、疲劳和校准。
11 结论
智能体已经被大规模部署,但改了提示、工具、模型或编排之后,还没有有原则的办法核验它没有退步。AgentAssay 把判定从二元改成通过、失败、证据不足,并建在假设检验上。第二个判断是:尽管文本随机,行为集中在低维流形上,因此指纹和自适应预算可以明显提高样本效率。十点贡献如上。读者若只记实验结果,应记这三句,并带上限定:在这次没有注入通过率回归的试验里,一元通过率检验力是 0,指纹是 0.86,完整离线系统在表 5 里是 0.94 且额外接口费用为 0;SPRT 把 100 次降到 22 次;注入回归是否真能被这些检验抓住,论文写明还在准备,尚未报告。
觉得有用,转给同事
微信扫码
用微信扫一扫,在手机上打开后即可转发。