EDGEGEN:用合成边界用例让工具调用智能体超越顺路场景 EDGEGEN: Improving Tool-Calling Agents Beyond Happy Paths with Synthetic Edge Case Generation
从策略文档提取合规规则并枚举违规场景,自动合成数据库接地的边界任务来改进工具调用智能体。
前置知识
工具调用智能体
以 LLM 为核心、通过调用预定义工具(API)与外部环境交互的智能体,在多轮对话中查询数据库并执行多步工作流。每个工具 $t_i$ 有输入签名 $In(t_i)$ 与输出签名 $Out(t_i)$;其正确性不仅取决于是否调对工具,还取决于是否遵守领域业务规则(如退款资格、行李政策)。
本文全部工作围绕这类智能体展开:评测其策略合规性,并合成边界任务用于微调与优化,理解工具与策略的交互是读懂全文的基础。
τ²-bench / ToolSandbox 与进展率
τ²-bench 是多轮客户服务智能体基准(airline 域 14 个工具、retail 域 15 个工具),用用户模拟器与被测智能体交互;ToolSandbox 是设备管理域基准(33 个工具),更侧重工具调用机制、轮次更少。进展率衡量任务完成度:平均进展率取所有 trial 的均值,最大进展率取 8 次试验中的最大值,范围均为 0–1。
论文所有实验均以平均/最大进展率为主指标,且用 TED 框架(gpt-4.1 做用户模拟器和裁判),不懂这套评测协议无法读懂 Table 1–3。
监督微调(SFT)
用专家示范轨迹(用户消息、助手回复、工具调用与返回)作为训练样本,转换成各模型对话格式后做参数更新。本文以 gpt-5.4 为专家模型,每个任务跑 8 次试验,每个基准得 120 次尝试,仅保留 progress rate=1 的成功轨迹作为训练样本。
EDGEGEN 生成任务后的主要用途之一就是收集轨迹做 SFT,理解'成功过滤'这一环节才能看懂实验设置与复杂度消融中的选择偏差。
智能体框架优化
对无法微调的黑盒模型,不改模型参数,而是自动进化智能体外层配置(系统提示词、工具描述、代码逻辑)。本文实现 Meta-harness 思路:proposer 智能体根据训练日志提出候选 harness(指令精炼/工具描述精炼/代码变异或组合),每轮提 3 个候选,在验证集上择优。
论文的第二大贡献是用合成任务优化 harness(Table 2 与系统提示词对比实验),不理解这一概念就看不懂那组实验的设计动机。
规则幂集与违规组合枚举
从策略文档抽取原子合规规则集 $R$,在其幂集 $\mathcal{P}(R)$ 上枚举子集 $S \subseteq R$:$|S|=0$ 为顺路场景,$|S|=1$ 隔离单条策略,$|S|\ge 2$ 生成多规则交互的复杂场景。本文限制抽取 5 条最重要规则,至多 $2^5=32$ 个子集,再经 LLM 一致性检查器过滤矛盾组合得到 $\mathcal{P}^*(R)$。
这是 EDGEGEN 区别于已有合成任务方法的机制核心,也是复杂度消融实验(按违规数分桶)的设计依据。
研究动机
工具调用 LLM 智能体在企业系统中快速落地,但其评测与优化依赖高质量、多样的任务数据集,而获取这类数据极难:真实生产日志因隐私与合规无法访问,人工构造贴近真实、可验证的任务又昂贵且难以规模化。现有合成任务生成方法(Self-Instruct、APIGen、APIGen-MT、ToolACE、TaskBench、FuncBenchGen 等)大多只关注通用函数调用,忽略真实使用多样性,也不反映智能体底层的数据库状态。实践中正确性不止是调对工具:客服智能体必须拒绝违反退款资格的请求、按会员等级执行行李政策,这些有状态、依赖策略的行为在通用合成任务里几乎不被覆盖。Liu 等人 2024 与 Chen 等人 2024 都指出质量与多样性是决定下游性能的关键因素,而只测窄分布'顺路场景'的智能体,部署后遇到罕见边界用例就会失败。
本文的目标是本文目标是构建一个完全自动化、无需人工标注、不依赖生产日志的闭环系统:从智能体的策略文档中自动提取合规规则,在其幂集上系统枚举违规场景,把每个场景落地到可执行、可验证的数据库状态上,生成经双重验证的边界任务;再沿两条路线消费这些任务——对开源模型收集 gpt-5.4 专家轨迹做监督微调,对黑盒模型做智能体框架优化——最终在基准原作者提供的人工策划测试集上稳定提升工具调用智能体的策略合规表现,覆盖 τ²-bench airline/retail 与 ToolSandbox 三个环境、6 个不同规模的开源模型。
与已有工作不同的是,已有带工具图构造的方法(TaskBench、FuncBenchGen)都不系统枚举行为规则违规的结构化空间,也不把任务落到数据库状态上,导致边界场景长期欠探索。EDGEGEN 的独特切入点是'违规驱动':把策略文档形式化为原子合规规则集 $R=\{r_1,\dots,r_n\}$,在其幂集上枚举要违反的规则组合 $S$,再用场景感知的 SQL 智能体找到让任务可行、期望响应可验证的具体数据库行 $\rho$。作者的洞察是:信息量大的边界用例必须'请求 + 一致状态'成对出现——同一个取消请求,数据库状态不同就应得到批准或拒绝,这让期望行为变得可判定,而这正是通用任务生成路线无法提供的。
核心方法
直觉:要测智能体是否守规矩,光有一条刁钻的用户请求不够,还必须配一个让'正确响应'可验证的数据库状态——该拒绝时状态确实支持拒绝,该放行时前提确实存在。技术路线把一次部署刻画为三件套:工具集 $T=\{t_1,\dots,t_n\}$(各有 $In/Out$ 签名)、策略文档 $P$、关系数据库 $D$。EDGEGEN 跑五阶段流水线(Figure 1):从 $P$ 抽取规则 $R$,枚举违规组合,采样工具工作流 $w \sim p(w \mid P)$,用 SQL 智能体落地数据库状态 $\rho \sim \pi_{SQL}(D \mid w, S)$,最后双重验证准入。配套的 Generalist Populator 通过 API 写操作合成数据库(前置条件不满足则拒绝写入),使数据库天然编码业务规则;整个闭环无人工标注。实验中每个基准生成 15 个任务,用 gpt-5.4 每任务 8 次收集专家轨迹(120 次尝试/基准),成功过滤后做 SFT。
核心创新是把测试用例定义为四元组 $x = \langle q, w, A, S \rangle$:$q$ 是用数据库具体值落地的任务描述,$w=\{t_i,\dots,t_k\}$ 是 $k$ 个工具调用的有序序列,$A=\{a_1,\dots,a_n\}$ 是判定成功的自然语言断言,$S \subseteq R$ 是本用例要违反或压力测试的策略规则集合。与已有方法的本质区别有二:其一,在规则幂集 $\mathcal{P}(R)$ 上显式枚举违规组合,用 LLM 一致性检查器剔除逻辑不相容子集,得到结构化、可控的覆盖空间 $\mathcal{P}^*(R)$;其二,每个用例必须通过两项有效性检查——数据接地(支撑 $q$ 与 $w$ 的标识符和事实必须被 $D$ 支持,故意捏造的用户谎称除外)与场景可行性(工具和状态必须允许预期合规响应,包括拒绝被禁操作)。这两项检查直击前人方法的两大失败模式:幻觉标识符与所需数据库状态不存在的不可行工具序列。
方法步骤详情
阶段1 工具图构建与路径采样:以工具为节点建有向依赖图 $G=(V,E)$,当 $Out(t_i) \cap In(t_j) \ne \emptyset$ 时连边,再用 LLM 依策略 $P$ 采样工作流 $w \sim p(w \mid P)$,形如 NODE(单工具)、CHAIN(线性)或 DAG(分支多工具)。阶段2 违规场景生成:抽取 5 条最重要规则做幂集(至多 32 个子集),$|S|$ 控制难度,LLM 检查器剔除矛盾子集得 $\mathcal{P}^*(R)$。阶段3 场景感知数据库采样:迭代式 SQL 智能体求 $\rho \sim \pi_{SQL}(D \mid w, S)$,找不到可行状态就重采 $w$ 与 $S$。阶段4 测试用例生成:LLM 基于 $P, w, S, \rho$ 写出含具体实体(标识符、时间戳)的任务摘要 $q$ 与编码期望响应的断言 $A$。阶段5 验证:SQL 代理执行确定性查询核对数据接地,并检查创建类操作前提存在、拒绝类操作状态支持拒绝理由,任一不过则废弃并从阶段1重启。工作流结构与 $|S|$ 构成两个正交难度轴,可调度数据分布。
技术新颖性
技术新颖性体现在四点。第一,违规驱动的任务构造:不是生成更多同类任务,而是把策略合规作为一阶目标,在 $\mathcal{P}(R)$ 上系统枚举要违反的规则组合,使覆盖空间可控、可解释。第二,数据库接地:沿用 TaskBench 的 Node/Chain/DAG 工具图采样并改造 FuncBenchGen(补 I/O 注解、用数据库检索替换值采样),但用场景感知 SQL 智能体把每个场景实例化到真实数据库行上,这是两个原始框架都不具备的。第三,验证前置的准入门:数据接地与场景可行性双重检查不通过即丢弃并重启流水线,而非靠人工清洗,保证入库任务的标识符真实、期望行为可执行。第四,全闭环无标注:配合同期提出的 Generalist Populator 合成数据库,从环境、任务、轨迹到微调/harness 优化全流程自动化,且两个正交难度轴让训练分布可调度——消融显示单违规样本对 Qwen2.5-3b 贡献 +0.32,证明显式边界覆盖本身(而非数据量)才是关键。
实验结果
(1) 微调:18 个'模型×基准'组合上平均进展率全部超越未微调基线。airline 上 Qwen2.5-3b 0.258→0.366(+42.2%);ToolSandbox 上 Qwen2.5-3b 相对 +10.9%~+23.4%。基线反而回退:人策数据 3/6 模型下降(最差 −13.16%),TaskBench 4/6 下降,FuncBenchGen 在 ToolSandbox 仅 1 条有效轨迹。(2) harness 优化:Gemma-4-e4b 平均进展率 0.4301→0.5608,较基线 +30%、较人策优化 +10%,工具调用 6.9 vs 8.8 次、token 85.0k vs 121.0k 更省;gpt-5.4 与人策差距 2–4% 但更高效。(3) 复杂度消融:Qwen2.5-3b 单违规 0.35→0.67(+0.32),双违规跌至 0.24,非单调;Qwen3.5-4b 顺路 −0.01、单违规 +0.03。(4) 数据规模:30 任务最佳。(5) 人研:'成功'轨迹仅 airline 6/10、ToolSandbox 4/10 人工核验正确。
查看结构化数据
| 任务 | 指标 | 本文 | 基线 | 提升 |
|---|---|---|---|---|
| τ²-bench Airline 监督微调 | 平均进展率 / 平均最大进展率 | EDGEGEN:Qwen2.5-3b 0.37/0.39;Gemma-4-e4b 0.56/0.79;Qwen3.5-9b 0.85/0.95 | Base:Qwen2.5-3b 0.26/0.35;Gemma-4-e4b 0.43/0.66;Qwen3.5-9b 0.80/0.92 | Qwen2.5-3b 平均进展率相对 +42.2%(0.258→0.366);Gemma-4-e4b +0.13。人策数据在 3/6 模型上回退,TaskBench 在 4/6 模型上回退 |
| ToolSandbox 监督微调 | 平均进展率 | EDGEGEN:Qwen2.5-3b 0.67;Gemma-4-e2b 0.65(最大 0.85) | Base:Qwen2.5-3b 0.60;Gemma-4-e2b 0.53(最大 0.65) | Qwen2.5-3b 相对 +10.9%(0.605→0.671)至 +23.4%(0.528→0.652);Gemma-4-e2b 最大进展率 +0.20;FuncBenchGen 仅 1 条有效轨迹无法训练(N/A) |
| τ²-bench Retail 监督微调 | 平均进展率 / 平均最大进展率 | EDGEGEN:Qwen2.5-3b 0.40/0.78;Gemma-4-e2b 0.67/0.94;Qwen3.5-9b 0.90/0.92 | Base:Qwen2.5-3b 0.30/0.61;Gemma-4-e2b 0.64/0.89;Qwen3.5-9b 0.84/0.92 | Qwen2.5-3b 平均进展率 +0.10(相对约 +33%)、最大进展率 +0.17;Gemma-4-e2b 平均 +0.03 |
| τ²-bench Airline 智能体框架优化 | 平均进展率(附平均工具调用数与 token) | EDGEGEN 优化:Gemma-4-e4b 0.5608(6.9 次调用,85.0k tokens);gpt-5.4 0.7979(7.9 次,66.5k) | Base harness:Gemma-4-e4b 0.4301(5.8 次,81.0k);人策优化 0.5083(8.8 次,121.0k) | 较基线 harness 相对 +30%,较人策优化相对 +10%,同时调用次数与 token 均显著更低;gpt-5.4 与人策版本差距 2–4% 内但更高效 |
局限与改进
作者承认:框架依赖结构化策略文档,规格稀疏、含糊或非正式时规则抽取不全、边界覆盖下降;对编程与网页导航智能体未验证;流水线多环节依赖 LLM,而人研显示被判成功的运行中 airline 仅 6/10、ToolSandbox 仅 4/10 核验正确,断言宽松、任务细节缺失、裁判出错并存,验证质量是明显短板;评测规模小(每基准仅 10–15 个人策场景,扩展实验也只 21 个);SFT 增益集中在小模型,大模型已近饱和。我的补充观察:只抽 5 条规则使幂集至多 32 个子集,真实企业策略远比这复杂,覆盖上限受限;仅保留 progress rate=1 轨迹的成功过滤会引入选择偏差,可能正是双违规样本微调后最大进展率跌到 0.24 的原因之一;harness 优化用 8 个 EDGEGEN 场景做验证集、测试却是人策集,存在信号同源的乐观风险;专家、模拟器、裁判全依赖 gpt-5.4/gpt-4.1 闭源 API,成本与复现性受限。
独立分析的弱点
独立分析四点弱点。(1) 验证器只保证逻辑一致性而非语义正确性(作者在附录 A.10 自述),人研约半数'成功'轨迹存在断言或裁判错误——改进方向:引入多裁判投票与基于数据库的断言自动重写,并把人工核验结果纳入主动学习回路持续校准验证器。(2) 违规复杂度与性能严重非单调:Qwen2.5-3b 双违规数据微调后最大进展率从 0.67 跌到 0.24,甚至低于 0.35 的基线,提示高违规场景下 gpt-5.4 专家成功率低、保留下来的轨迹分布偏移——改进方向:按 $|S|$ 做课程学习逐步加压,或对专家也解不了的任务改用拒绝式演示/偏好数据而非 SFT 正样本。(3) 覆盖上限:5 条规则、32 个子集的设计为控制成本而牺牲广度——改进方向:对规则先做语义聚类再分层枚举,或用启发式搜索替代全幂集。(4) 评测信号同源:合成验证集选出的 harness 在人策测试集上的优势(0.5608 vs 0.5083)可能部分来自验证-测试分布重叠——改进方向:双验证集交叉选优并报告多随机种子方差。
未来方向
作者提出的方向:改进断言定义与自动评测质量(人研暴露的主要短板);把框架推广到编程与网页导航智能体;构建更大评测集(当前每基准 10–15 个场景)与更广的基准套件;研究违规测试用例对更难真实任务的价值,因为现有人策测试集偏简单、大模型已近饱和。基于本文成果可延伸:将结构(NODE/CHAIN/DAG)与违规数 $|S|$ 双轴和课程学习结合,自动搜索最优训练分布而非手工固定采样率;把成功过滤式 SFT 换成强化学习(如 GRPO),利用被丢弃的失败轨迹;将 EDGEGEN 任务用作线上持续回归评测集,监控策略漂移;把规则抽取扩展到含例外条款、跨文档的策略;用合成数据库思想构建多智能体交互环境,测试策略冲突场景。
复现评估
复现难度中等偏高。有利条件:τ²-bench(airline 14 工具、retail 15 工具)与 ToolSandbox(33 工具)公开且测试集直接用原作者样本;6 个被测开源模型(Qwen2.5-3b、Qwen3.5-4b/9b/35b-A3b、Gemma-4-e2b/e4b)均可下载;五阶段方法与规则抽取提示词(附录 A.2.1、A.10)有披露,生成成本与每轨迹训练 token 在 A.13 报告。不利条件:EDGEGEN 是 SAP 投稿论文,代码与生成数据未见发布;合成数据库所用的 Generalist Populator 引用'Anonymous, 2026'并注明'稍后公开',闭环里关键的环境合成件暂不可得;专家轨迹靠 gpt-5.4(每基准 15 任务×8 试=120 次)、模拟器与裁判靠 gpt-4.1,API 开销不小;harness 优化中 Gemma-4-e4b 跑 8 轮进化、gpt-5.4 跑 4 轮,每轮 3 候选×2 试评估、验证集 8 试/场景,重复实验成本高。复现者需自备策略文档、数据库与全流水线。
论文图表
左侧提示词把取消规则逐条硬编码成长清单('取消需 24 小时窗口或航司已取消或商务舱或已投保且原因在覆盖范围内;已飞航班转人工');右侧提示词收敛为'任何写操作(订票、改签、取消)前核验所有政策要求并与用户确认'的简短 discover→verify→confirm→write 通用协议,引用策略文档而非内联枚举规则。
它解释了 harness 优化增益的机理:边界用例信号让优化器学到更鲁棒的通用验证协议,而非对顺路场景死记硬背,也说明为何对小上下文模型更友好。