EDGEGEN: Improving Tool-Calling Agents Beyond Happy Paths with Synthetic Edge Case Generation
Harshavardhan Abichandani, Penny Chong, Jiyuan Shen, Gunraj Singh, Ashutosh Hathidara, Marcus Duigan Xing Yu, Jane Lo, Atin Ghosh, Yipeng Li, Daniel Dahlmeier
cs.AI
2026-09-21
SAP从政策文档枚举违规组合并接地到数据库,用合成边案例做微调和harness进化;航司域Qwen2.5-3B的mean progress从0.26升到0.37,相对提升42%。
企业里的工具调用 agent 不只是会调 API,还得守业务规则:退票有没有过窗口、行李额跟会员档走、改签前先核身份。现有合成任务生成,如 Self-Instruct、APIGen、TaskBench、FuncBenchGen,多在造「会不会调对函数」,很少按规则违规组合去压,更少把任务钉在真实数据库状态上。结果是训练数据全是顺利流程,上线遇到拒绝分支就崩。
SAP 的 EdgeGen 专门造违规边案例:从 agent 的政策文档抽出合规规则,枚举规则组合,再用 SQL agent 在库里找到能让这次违规成立的真实行,最后校验任务可执行才入库。整条链路不需要生产日志和人工标注。
五步。
训练时用 gpt-5.4 当专家跑 8 次,只留进度为 1 的轨迹做监督微调。同一套样本也能拿去进化 harness,即改系统提示、工具描述或胶水代码。
评测很小:航司 10 条、零售 10 条、ToolSandbox 15 条,全是原作者提供的人工题。合成训练集每域 15 题。
航司域政策最密,EdgeGen 的优势最清楚。Qwen2.5-3B 的 mean progress 从 0.26 到 0.37,相对提升 42%。六个模型的 mean progress 全部上升。人工轨迹微调让 6 个里 3 个退步,TaskBench 让 4 个退步。Gemma-4-e4B 从 0.43 到 0.56。
ToolSandbox 更偏工具机制、轮次短,各家合成数据都能涨,EdgeGen 不是唯一赢家。零售域 Qwen2.5-3B 的 mean progress 从 0.30 到 0.40。
| Harness | Mean progress | 工具调用 | Token |
| 原始 | 0.43 | 5.8 | 81k |
| 人工题优化 | 0.51 | 8.8 | 121k |
| EdgeGen 优化 | 0.56 | 6.9 | 85k |
Gemma-4-e4B 在航司上,相对原始提升 30%,相对人工题提升 10%,工具和 token 还更省。人工题把系统提示优化成逐条硬编码的取消规则清单;EdgeGen 压出来的是「写操作前先按政策核对全部条件」这种短协议。gpt-5.4 已经很强,EdgeGen harness 相对人工题略差,mean progress 为 0.80 对 0.83。
复杂度消融:单违规对 Qwen2.5-3B 的 max progress 从 0.35 拉到 0.67;双违规掉到 0.24,低于基线。不是越难越好。
人工抽查:标为成功的轨迹里,航司 10 条里 6 条真对,ToolSandbox 10 条里 4 条真对。其余是断言写错、题目缺细节或 judge 误判。
企业 agent 的失败多半不在会不会调用订票接口,而在这次该不该拒绝。通用函数调用数据覆盖不到政策交叉。EdgeGen 把政策文档变成可枚举的测试空间,闭环里还能拿来微调和改外壳,适合不给生产日志的内部场景。
对小模型更有用。3B 级涨得狠,已经饱和的 35B 几乎不动。黑盒模型走 harness 进化,不必微调权重。
评测集只有 10 到 15 条,数字方差会很大,「18 个模型-基准对全部上涨」在这个样本量下不要读成鲁棒结论。人工抽查显示自动 judge 和断言质量都不稳,成功标签里接近一半有问题,按进度为 1 过滤的轨迹可能混进脏数据。
规则抽取卡在有结构的政策文档,以及「最重要 5 条」。政策含糊或规则很多时,32 个子集盖不住。编码和网页导航 agent 没测。数据库生成器是匿名在投的另一篇,主实验没有单独拆开接地和校验各自贡献多少。
单违规最有用、双违规伤小模型,说明边案例不是越极端越好。主实验没把 EdgeGen 跟「同样接地但不枚举违规」做干净对照,优势有多少来自违规覆盖、多少来自 SQL 接地,分不开。