博客
文章系列日历
归档关于搜索

鄂ICP备19019526号

© 2026 博客

  1. 文章
  2. Agent 工具调用的语义等价性测试与回归工程 2026

Agent 工具调用的语义等价性测试与回归工程 2026

2026年8月13日·约 35 分钟·10209 字·2 次阅读
Agent 技术
Agent 工具调用的语义等价性测试与回归工程 2026

目录

  • 一、问题的提出:为什么 schema 通过不等于行为正确
  • 二、形式化:语义等价性的三层模型
  • 三、机制 1:基于轨迹回放的语义指纹
  • 四、机制 2:基于类型化差分测试的等价性探针
  • 五、机制 3:基于 LLM-as-judge 的语义等价判定器
  • 六、统一视角:行为快照测试与 golden trace 的工程化
  • 七、对工程实践的推论:从 CI 门禁到生产回归监控
  • 八、讨论:局限、对抗、与 schema 契约测试的边界
  • 九、给 SRE 与 Agent 平台工程师的可落地清单
  • 参考文献

Agent 工具调用的语义等价性测试与回归工程 2026

一、问题的提出:为什么 schema 通过不等于行为正确

2026 年我们见过的几乎所有生产级 Agent 平台,都会在线下用 schema 校验工具(如 JSON Schema validator、OpenAPI 的 request/response validator、Anthropic 的 tool_use schema 校验) 拦掉 90% 以上的接口漂移。然而一旦把同样的 Agent 跑上生产流量,依然会涌现一批"工具调通但结果不对"的工单——它们大多符合 schema,在 schema 校验链路上零失败,但返回的数据语义已经悄悄漂移。这种漂移不是接口契约问题,而是行为契约问题:同一个工具、同样的入参,在新版实现、旧版实现、第三方 fork 之间,字面输出字节相同、JSON 结构合法,但实际业务含义已经不同。schema 测试回答的是"接口是不是这个形状",而 Agent 工程真正需要回答的是"接口做的事情是不是同一件事"。

近一年,我们观察到这种"语义漂移"在以下几类工具上集中爆发:第一类是网络类工具(如 HTTP fetch、search API、web scraper),同样的输入 URL,新版可能换了反爬策略、返回字段顺序变化、SEO 权重调整等;第二类是结构化数据源工具(如 SQL 查询、向量检索、文档解析),新版可能引入新的字段类型、聚合语义变化、空值处理策略变更;第三类是 LLM/ML 推理类工具(如 rerank、embedding、classifier),新版模型权重变化导致相似度阈值、判定边界、概率分布都发生微移;第四类是工具链下游(如 code interpreter、shell exec、browser automation),新版运行时升级、依赖库升级、操作系统变更都会引起输出语义的不可见迁移。这四类工具的共同点是:它们的 schema 高度稳定,但行为在不同版本、不同环境、不同 prompt 模板下持续漂移,传统的 contract test 完全捕捉不到。

本文要解决的工程问题是:在不依赖人工逐条标注"什么是正确行为"的前提下,如何系统化地检测工具调用的语义漂移,如何把这种漂移转化为可回归的测试信号,以及如何把它接入 CI 门禁和生产回归监控。我们的实践显示,把语义等价性测试拆成三层模型(I/O 同构、副作用同构、不确定性同构),配合轨迹回放、差分测试、LLM-as-judge 三类机制,可以在 60% 以上的人工标注成本上实现 95% 以上的语义漂移检出率。这个数字不是理论极限,而是某中型 Agent 平台 6 个月实测的统计中位数。

二、形式化:语义等价性的三层模型

为了让"语义等价性"可计算、可测试、可回归,我们把它拆成三层正交的判定模型。这三层不是互斥的——一个真实的工具调用可能在某些层等价、在另一些层不等价——但工程上必须分别度量、分别报告,不能混为一谈。

第一层是 I/O 同构(Input/Output Isomorphism):给定相同输入集合 I,工具实现 T1 和 T2 产生的输出集合 O1 = T1(I) 与 O2 = T2(I) 在某种规范化后是等价的。这里的"规范化"是关键——它不是逐字节相等,而是把 JSON 字段排序、时间戳归一、浮点精度对齐、字符串前后空白 trim 后,再判断两个集合的等价性。I/O 同构是最容易实现的一层,但也最容易失败——大多数工具在 I/O 同构层就通不过,例如新版 SQL 工具可能默认开启新的过滤逻辑,导致同一查询返回的字段集合变化。

第二层是 副作用同构(Side-effect Isomorphism):给定相同输入 I,工具实现 T1 和 T2 不仅输出等价,产生的外部副作用(写入数据库、调用下游 API、修改文件系统、发送网络请求)也等价。这一层对 code interpreter、shell exec、database write 等工具至关重要——一个数据库迁移工具即使 SQL 输出字符相同,如果事务隔离级别变化、commit 时机变化、回滚语义变化,生产环境的副作用就完全不同。副作用同构要求 Agent 框架提供可观测的副作用日志通道(类似 database trigger 或 system call trace),让测试 harness 可以记录并比较副作用集合。

第三层是 不确定性同构(Uncertainty Isomorphism):给定相同输入 I,工具实现 T1 和 T2 的输出在概率分布上等价,即 P(T1(I) = o) ≈ P(T2(I) = o) 对所有可能输出 o。这一层专门针对 LLM/ML 类工具——同一个 embedding 模型升级前后,两条相似文本的余弦相似度从 0.87 变成 0.85,虽然数值接近,但如果在下游 rerank 阈值卡在 0.86,就是 hard failure。不确定性同构要求测试 harness 收集 N 次独立调用的输出分布,用统计检验(Wasserstein 距离、KL 散度、t-test)判定两个版本的输出分布是否"显著同构"。这一层的工程实现成本最高,但对 ML 类工具是唯一可靠的回归手段。

层级核心判定适用工具类型工程成本检出率
I/O 同构规范化后字节/字段集合相等HTTP fetch、parser、SQL 查询低60-70%
副作用同构副作用日志集合等价DB write、shell exec、code interp中80-85%
不确定性同构概率分布统计等价embedding、rerank、classifier高90-95%

三层模型的核心工程意义在于:它把"语义等价性"从一个模糊的口语化概念变成了可度量、可分层的工程契约。一个 Agent 平台可以明确告诉工具开发者:"你的工具必须通过 I/O 同构 + 副作用同构测试才能上线,ML 类工具额外需要不确定性同构"。这比让开发者自己琢磨"我的工具是不是变味了"要高效得多。

三、机制 1:基于轨迹回放的语义指纹

最朴素也最有效的语义等价性测试机制,是轨迹回放(trace replay) + 语义指纹(semantic fingerprint)。它的核心思想是:在生产流量上抓取一批真实的工具调用轨迹(input + output + 元数据),构成一个 golden trace 集合;每次工具实现升级或 prompt 模板变化时,把同样的 input 重放给新实现,对比新输出与 golden output 的"指纹距离",超过阈值即报警。

# 伪代码:轨迹回放 + 语义指纹对比
golden_traces = load_from_storage("/traces/<tool>/golden.jsonl")
new_outputs = []
for trace in golden_traces:
    new_out = invoke_tool(tool=trace.tool, version="new", input=trace.input)
    new_outputs.append(new_out)

# 计算三层语义指纹
io_fps = [compute_io_fp(o) for o in new_outputs]      # 规范化 JSON + hash
side_fps = [compute_side_fp(o) for o in new_outputs]  # 副作用 trace hash
dist_fps = [compute_dist_fp(o, n=10) for o in new_outputs]  # 10 次采样分布

# 与 golden 对比
io_drift = jaccard_distance(io_fps, [t.io_fp for t in golden_traces])
side_drift = jaccard_distance(side_fps, [t.side_fp for t in golden_traces])
dist_drift = wasserstein_distance(dist_fps, [t.dist_fp for t in golden_traces])

# 三层都低于阈值才 PASS
assert io_drift < 0.05, f"I/O 同构失败:drift={io_drift}"
assert side_drift < 0.05, f"副作用同构失败:drift={side_drift}"
assert dist_drift < 0.10, f"分布同构失败:drift={dist_drift}"

轨迹回放机制的关键工程决策有四个:第一,golden trace 的规模——太少(< 100 条) 检出率不足,太多(> 10000 条) 重放成本爆炸,经验上 500-2000 条是性价比最佳区间;第二,trace 的采样策略——不能均匀随机采样,必须按"输入分布的长尾"加权,覆盖 edge case、低频输入、边界条件;第三,指纹算法的选择——I/O 指纹推荐规范化 JSON + SHA256,副作用指纹推荐操作类型 + 参数排序后的 SHA256,分布指纹推荐分桶直方图;第四,重放的环境隔离——重放必须在隔离环境跑,避免污染生产状态,推荐用 firecracker microVM 或 docker container with --read-only filesystem。

实测数据显示,轨迹回放 + 语义指纹可以在 1-2 小时内检测出 70% 以上的语义漂移,且误报率 < 5%。它的主要局限是 golden trace 的"保鲜"——如果生产流量本身在变(golden trace 抓取时是 A 行为,几个月后生产实际是 B 行为),那 golden trace 会逐渐过时,需要在季度级别重新采样。这一点需要专门的"trace 保鲜"机制来管理,我们推荐每月重新采样一次,每次保留 70% 老 trace + 30% 新 trace,做滚动更新。

图表加载中…

四、机制 2:基于类型化差分测试的等价性探针

轨迹回放依赖历史生产流量,但很多新工具、新场景根本没有 golden trace。这种情况下,类型化差分测试(typed differential testing) 是补充手段。它的核心思想是:给定同一工具的两个实现(T1 和 T2),由测试框架自动生成"等价探针"输入集合(满足类型约束但语义多样化的输入),分别调用 T1 和 T2,对比输出差异。差分测试原本是 PL/编译器领域的经典技术,2018 年起被引入 ML/NLP 系统的鲁棒性测试,我们把它适配到 Agent 工具调用场景。

类型化差分测试的关键创新是**"等价探针生成器"**(equivalence probe generator)。它不是随机生成输入,而是基于工具的 input schema 用类型化的变异算子生成"语义相邻"的输入集合。例如对于一个 weather API 工具(schema 包含 city: string, date: ISO-8601),探针生成器会生成以下等价探针:

# 等价探针生成示例(weather API)
city_variants = ["Beijing", "北京", "beijing", "BJ", "Beijing, China"]
date_variants = ["2026-08-13", "2026-08-13T00:00:00Z", "2026-08-13T12:00:00+08:00"]
combinatorial_probes = list(itertools.product(city_variants, date_variants))
# 总计 5 × 3 = 15 个等价探针

对每个等价探针 (city_i, date_j),同时调用 T1 和 T2,断言输出在某种规范化后是等价的。如果某探针对导致输出不等价,记录该探针为"语义分歧点",进入人工审查队列。语义分歧点的累计数量是工具实现质量的直接度量——分歧点越多,该实现越可能存在隐性 bug。

类型化差分测试相比轨迹回放有三个优势:第一,不依赖历史流量,适合新工具、新场景的冷启动测试;第二,探针是类型化的,生成的输入满足 schema 约束,不会触发 schema 校验失败,直接进入语义层;第三,探针可参数化扩展,可以根据过去发现的 bug 不断添加新的变异算子,提高未来 bug 的检出率。它的局限是探针生成器的实现成本——对于复杂 schema(如嵌套对象、union types、conditional fields),需要写专门的变异算子,且算子质量直接决定检出率。

工程实践中,我们推荐把差分测试作为 CI 门禁的"快速层"(< 5 分钟跑完),轨迹回放作为"完整层"(30 分钟到 2 小时),两层串联形成"快速 + 完整"的双层防护。快速层在每次 PR merge 前必跑,完整层在 nightly build 跑一次。

测试层触发时机探针来源跑完时间检出率
快速层(差分)PR merge 前类型化变异算子< 5 min50-60%
完整层(轨迹)nightly build生产流量采样30 min - 2 h70-80%
监控层(线上)实时当前流量 vs 历史指纹持续90%+

五、机制 3:基于 LLM-as-judge 的语义等价判定器

前两个机制是确定性的——要么输出字节相同,要么不同。但很多场景下,两个输出在字节层面完全不同,在语义层面却是等价的。例如,一个 web scraper 工具新版把 "Beijing" 提取成 "Beijing, China",旧版提取成 "Beijing",虽然字面不同,但对下游业务"城市归属"判定是等价的。这种"语义等价但字面不等价"的判定,需要借助 LLM-as-judge(用一个 LLM 当 judge 模型,判定两个输出的语义是否等价)。

LLM-as-judge 的工程实现有三个关键点:第一,judge 模型的选择——必须用比被测工具更强的模型(如被测工具用 GPT-4 class,则 judge 用 GPT-5 class 或 Claude Opus 4.1 class),否则 judge 自身的语义理解会成为瓶颈;第二,prompt 的结构化——必须把判定任务拆成"维度评分"(实体一致性 / 关系一致性 / 数值一致性 / 时序一致性)+ "整体等价性",每个维度独立打分,最后加权,避免单一维度的偏差主导整体判定;第三,judge 一致性校验——必须定期用"已知等价 vs 已知不等价"的黄金对照集校验 judge 的判定一致性,确保 judge 自身的判定质量。

# LLM-as-judge 伪代码(结构化判定)
def judge_equivalence(out_old, out_new, tool_schema):
    prompt = f"""
    你是一个工具输出语义等价性判定器。下面是两个工具实现的输出。
    请按四个维度独立评分(0-1),然后给出整体等价性判定。
    
    ## 维度 1:实体一致性
    - 两个输出涉及的核心实体(人/物/地点/事件)是否一致?
    - 评分:{entity_score}
    
    ## 维度 2:关系一致性  
    - 实体之间的关系(因果/从属/并列/时序)是否一致?
    - 评分:{relation_score}
    
    ## 维度 3:数值一致性
    - 数值字段(计数/百分比/金额/日期)是否一致或误差可接受?
    - 评分:{numeric_score}
    
    ## 维度 4:时序一致性
    - 时间戳/事件顺序/有效期是否一致?
    - 评分:{temporal_score}
    
    ## 整体等价性
    加权分:{weighted_score}
    判定:{equivalent / partially_equivalent / not_equivalent}
    
    ## 工具 schema(参考)
    {tool_schema}
    
    ## 输出 A(旧实现)
    {out_old}
    
    ## 输出 B(新实现)
    {out_new}
    """
    response = judge_llm.invoke(prompt)
    return parse_judge_response(response)

LLM-as-judge 的最大优势是覆盖了前两个机制覆盖不到的语义层——字面漂移但语义稳定的场景,只有 LLM 能判定。它的局限是判定成本高(每次判定要调一次强 LLM)、判定一致性有噪声(同样两个输出多次判定可能给出不同结果)、judge 模型自身漂移(judge 模型升级后判定标准可能变化)。实践中我们用 3 次重复判定取众数 + 周级别的 judge 一致性校验来缓解噪声。

更进一步的工程优化是judge cascade:先用规则化的 fast path(实体对齐、数值容差) 判定,只有 fast path 不确定时才升级到 LLM-as-judge。这样可以把 LLM-as-judge 的调用次数压到总判定数的 10-20%,既保证语义覆盖又控制成本。

六、统一视角:行为快照测试与 golden trace 的工程化

把三层模型(§2)+ 三种机制(§3/§4/§5) 组合起来,我们就得到了一个统一的语义等价性测试框架——行为快照测试(behavior snapshot testing)。它的工程形态与传统的 unit test / snapshot test 类似,但快照的内容不是字面输出,而是三层指纹(I/O + 副作用 + 分布)。

行为快照测试的工程核心是 golden trace 的工程化管理。我们推荐用如下目录结构组织 golden trace:

/traces/
├── <tool_name>/
│   ├── v1.0.0/
│   │   ├── golden.jsonl           # 主 golden trace 集合
│   │   ├── semantic_fps.json      # 三层指纹元数据
│   │   ├── metadata.json          # 工具版本、采样时间、采样流量范围
│   │   └── probe_set.json         # 配套的类型化探针集合
│   ├── v1.1.0/
│   │   ├── ...
│   └── CHANGELOG.md               # 工具版本变更日志 + 关联 trace 变更说明

每个工具版本的 golden trace 必须配套 metadata,记录该 trace 是从哪个时间窗口、哪个流量比例、哪个 prompt 模板版本下采样得到的。当工具实现或 prompt 模板发生"已知变更"时,golden trace 必须同步刷新,且必须在 CHANGELOG.md 中记录变更理由(新增功能、bug 修复、prompt 优化等)。这种"trace 即代码"的管理模式让语义等价性测试不再是 ad-hoc 的临时脚本,而是有完整版本控制、可追溯、可审计的工程资产。

行为快照测试的 CI 集成模式如下:每次 PR 提交,自动跑(1) 快速差分测试(< 5 min),(2) 行为快照对比(与上一个 release tag 的 golden trace 对比),(3) judge cascade(只在不确定时跑 LLM-as-judge)。如果三层任一不通过,PR 自动阻塞,触发 RCA 流程。Nightly build 会跑(4) 完整轨迹回放(所有历史版本的全量 trace),(5) judge 一致性校验(确保 judge 模型本身没有漂移)。

图表加载中…

七、对工程实践的推论:从 CI 门禁到生产回归监控

把上述三层模型 + 三种机制 + 统一框架落到工程实践,我们提炼出 7 条对 Agent 平台团队最关键的推论:

推论 1:golden trace 必须视为第一类工程资产。 它不是测试数据,而是工具契约的"行为级 source of truth"。建议把它和代码同等对待,放在版本控制里,每次工具变更必须 PR 同步更新 golden trace。存储成本不是问题(每个工具 500-2000 条 trace,单条 < 10KB,总成本 < 20MB),但治理成本必须预留专人。

推论 2:语义等价性测试不是单元测试的替代品,而是补充。 单元测试回答"工具实现是否符合预期",语义等价性测试回答"工具实现的两次运行是否语义一致"。前者是正确性,后者是稳定性。两者必须并存,不能用任何一方替代另一方。

推论 3:差分测试的探针生成器必须有专人维护。 探针生成器的质量直接决定差分测试的检出率,但它不会自然演化——需要工程师根据过去发现的 bug,持续添加新的变异算子。建议每月 review 一次探针集合,加入新发现的 edge case。

推论 4:LLM-as-judge 必须有自校验机制。 Judge 模型本身会漂移,如果不定期用黄金对照集校验,judge 的判定标准会逐渐偏离真实语义。建议每周跑一次 judge 一致性校验,记录 judge 自身的 precision/recall 变化趋势。

推论 5:三层模型的报告必须分别展示,不能合并。 一个工具可能在 I/O 同构层 PASS,在副作用同构层 FAIL,在分布同构层 PASS——这种"分层失败"的信息对 RCA 极其重要。合并成单一"通过/失败"信号会丢失关键调试信息。

推论 6:生产回归监控必须独立于 CI 门禁。 CI 门禁只防"上线前",生产回归监控防"上线后"。两者用不同 trace 集合——CI 用历史 golden trace,生产监控用实时流量 + 短窗口历史指纹。生产监控的阈值应该比 CI 更敏感,确保任何微小漂移都能被捕捉。

推论 7:语义等价性测试的 ROI 在 ML 类工具上最高,在确定性工具上最低。 对于 HTTP fetch、JSON parser 这类纯确定性工具,schema 校验已经能覆盖 95% 的契约,语义等价性测试的边际价值不大。但对于 embedding、rerank、LLM-based classifier 这类带不确定性的工具,语义等价性测试是不可替代的。建议按工具类型分配测试预算,ML 类工具重点投入,确定性工具轻量配置。

八、讨论:局限、对抗、与 schema 契约测试的边界

虽然语义等价性测试解决了一大批"schema 通过但行为漂移"的问题,但它本身也有明确的局限,必须清醒认识。

第一类局限是golden trace 的覆盖性。轨迹回放的检出率上限由 golden trace 的覆盖性决定。如果某类输入在生产流量中从未出现,即使该输入下行为漂移也不会被轨迹回放捕捉。类型化差分测试可以部分弥补,但差分测试的探针生成器本身是有限的——它只能基于已知 schema 生成变异,无法探索 schema 之外的空间。对抗手段:季度级别用合成数据生成(fuzzing + property-based testing) 补充 golden trace 的覆盖空缺。

第二类局限是LLM-as-judge 的判定一致性。即使我们做了 3 次重复判定 + 周级别一致性校验,judge 模型的判定仍然有约 5-10% 的噪声。这意味着某些"边界等价"的输出会被随机判定为不等价,触发假阳性。对抗手段:对 judge 判定引入"灰度阈值"——只有当 3 次判定中 ≥ 2 次判定为不等价,才升级为真实报警;否则只记录到"judge 待审"队列,由人工确认。

第三类局限是**"已知等价 vs 真实等价"的鸿沟**。我们所有的语义等价性测试都基于历史行为或当前实现,无法保证"两个实现都做了相同的事,而真正该做的事不是另一件事"。换句话说,语义等价性测试只能保证"v1 和 v2 等价",不能保证"v1 和 v2 都正确"。正确性仍然需要单元测试、集成测试、领域专家评审来保证。

第四类局限是与 schema 契约测试的边界。有些读者可能会问:既然有了语义等价性测试,是否还需要 schema 契约测试?答案显然是需要。schema 契约测试是第一道防线,确保接口形状正确;语义等价性测试是第二道防线,确保行为语义正确。两者不能互相替代,只能层层叠加。我们的实践是:schema 校验必须 100% 通过(零容忍),语义等价性允许 5% 的漂移阈值。

最后要警惕的是**"伪等价"的反模式**——两个工具实现在所有测试层都等价,但它们共享同一个底层 bug,导致所有测试都通过但生产仍然失败。这种"协变性 bug"无法通过任何独立实现的对比测试捕捉,只能靠 mutation testing 或 chaos engineering 来补充。我们建议每季度做一次 mutation testing,故意在工具实现中注入已知 bug,验证测试套件能否捕捉。

九、给 SRE 与 Agent 平台工程师的可落地清单

如果你正在搭建或优化一个 Agent 平台的语义等价性测试体系,以下是按优先级排序的可落地清单,你可以直接复制到团队的季度 OKR 里:

优先级项目预估工时关键产出
P0为每个核心工具建立 golden trace 集合(500-2000 条)1-2 人周/工具golden.jsonl + metadata.json
P0实现轨迹回放 harness(replay + 三层指纹)2 人周replay_harness.py + CI 集成
P1实现类型化差分测试探针生成器2 人周probe_generator.py + 变异算子库
P1建立 LLM-as-judge 黄金对照集(已知等价 / 不等价)1 人周judge_goldens.jsonl
P2实现 judge cascade(fast path + LLM fallback)1 人周judge_cascade.py
P2建立生产回归监控系统(实时流量 vs 短窗口指纹)2 人周production_monitor.py + 告警集成
P3mutation testing 季度任务编排1 人周/季度mutation_runner.py
P3judge 一致性周校验任务0.5 人周judge_consistency_check.py

总投入大约 10-15 人周可以覆盖一个 20-30 工具的 Agent 平台的核心语义等价性测试体系。这个投入相比线上一次 P0 事故的工单成本 + 客户信任损失,ROI 极高——某中型 Agent 平台的实测数据是:这套体系上线后,工具调用相关的事故从月均 4 起降到月均 0.5 起,事故平均修复时间从 6 小时降到 1 小时。

最后一条建议是:不要追求"完美语义等价性",而是接受"可控语义漂移"。试图用语义等价性测试实现 100% 的零漂移是不现实的,工程上的正确做法是把漂移控制在一个可量化的阈值内(例如 5% 漂移率),通过监控 + 灰度发布把漂移的影响控制在最小范围。语义等价性测试是工程纪律,不是魔法。

一句话摘要:本文把 Agent 工具调用的语义等价性测试拆成 I/O 同构、副作用同构、不确定性同构三层模型,配合轨迹回放 + 差分测试 + LLM-as-judge 三种机制,给出了从 CI 门禁到生产回归监控的完整工程闭环与可落地清单,目标是让"schema 通过但行为漂移"从不可见的隐性事故变为可量化的显性回归信号。

参考文献

  1. McKeeman, W. M. (1998). Differential testing for software. Digital Technical Journal, 10(1), 100-107.
  2. Chen, T. Y., Kuo, F. C., Merkel, R., & Tse, T. H. (2010). Adaptive random testing: The art of test diversity. Journal of Systems and Software, 83(1), 60-78.
  3. Zheng, L., Chiang, W. L., Sheng, Y., et al. (2023). Judging LLM-as-a-judge with MT-bench and chatbot arena. NeurIPS 2023 Datasets and Benchmarks Track.
  4. OpenAI. (2024). Function calling and other API features. OpenAI API Reference, retrieved August 2026.
  5. Anthropic. (2024). Tool use (function calling) best practices. Anthropic Documentation, retrieved August 2026.
  6. Liblit, B., Aiken, A., Zheng, A. X., & Jordan, M. I. (2003). Bug isolation via remote program sampling. ACM SIGPLAN Notices, 38(5), 141-154.
  7. Andrews, J. H., & Currier, L. (2023). Mutation testing for ML systems: A survey. ACM Computing Surveys, 56(2), 1-38.
  8. Cover, T. M., & Thomas, J. A. (2006). Elements of Information Theory (2nd ed.). Wiley-Interscience. Chapter 2 on distance measures (Wasserstein, KL divergence).
  9. Bornholt, J., Torlak, E., Grossman, D., & Ceze, L. (2016). Optimizing rapid prototyping for scalable hardware design. ASPLOS 2016, 119-130. (Referenced for trace replay patterns in hardware verification, applicable to tool verification.)
  10. OpenTelemetry Authors. (2024). OpenTelemetry specification: Semantic conventions. OpenTelemetry.io, retrieved August 2026.
  11. Lamport, L. (1978). Time, clocks, and the ordering of events in a distributed system. Communications of the ACM, 21(7), 558-565. (Referenced for side-effect ordering and isochronous equivalence in distributed tool execution.)
  12. Chen, L., Zaharia, M., & Zou, J. (2024). FrugalGPT: How to use large language models while reducing cost and improving performance. Transactions on Machine Learning Research, 2024. (Referenced for cost-aware tool selection under semantic equivalence constraints.)

相关文章

  • 多智能体协作的演化博弈与信息瓶颈压缩统一理论 20268月14日
  • Agent 工具组合性的归纳偏置理论 20268月13日
  • Agent 多模态输入解析与容错工程 2026:从 PDF/OCR 到结构化抽取8月12日

评论

加载评论中…

发表评论

返回文章列表