跳到主要内容
返回时间线
arXiv来源发表:

服务调用代码不再只看像不像:SCCGBench用虚拟执行判命中,最强模型仅3.76%

核心概要

SCCGBench把服务调用代码的评测从文本相似度改成虚拟执行命中,在612条测试样本上,最强模型仅3.76%的请求同时命中正确主机、端点和HTTP方法。

AI-generated editorial illustration: SCCGBench: Executability-Oriented Evaluation for Real-World Web Service-Call Code Generation

深度剖析

服务调用代码的评测标准从“写得像不像参考实现”换成“请求是否真的打到目标服务接口”。 此前的代码基准多用CodeBLEU、编辑相似度或单元测试通过率,无法判断生成的HTTP请求是否命中正确的服务端点。 在612条测试样本上,BM25检索基线拿到最高的CodeBLEU 28.23,但其Mock命中率为0,说明静态相似度与可执行性并不一致。

评测在隔离的虚拟环境里拦截生成代码发出的请求,比对主机、端点、HTTP方法和参数,不依赖真实网络或凭证。 Mock要求主机、端点和HTTP方法三者同时匹配,Robust还要求代码包含状态检查和异常处理,ParamF1单独衡量参数对齐。 六个代码模型在仅给意图的设置下,主机准确率只有3%到8%,端点准确率12%到19%,而请求可构造率高达80%到92%。

失败主要发生在选择正确服务这一步,而不是写不出请求。 对六个神经模型共3,672次生成做最早失败阶段归因,主机错误占69.8%,语法错误和请求构造失败合计约四分之一。 提供金标准文档后,多数开源模型的Mock升到约89%到90%,DeepSeek-V4-Pro为76.47%到81.86%,而BM25检索的Endpoint@10只有33.99%。

启示与展望

评测面向服务计算中把自然语言意图转成可执行Web服务调用的场景,读者是研究代码生成、API推荐和检索增强生成的研究人员与工程师。SCCGBench包含3,135条来自真实GitHub仓库的RapidAPI调用函数,覆盖850个API和2,082个仓库,采用API级划分避免同一API跨训练、验证和测试集。虚拟执行环境通过替换网络库拦截请求,不消耗API配额也不产生真实计费。作者提出后续方向包括服务接口专用的检索与重排序模型、检索-选择-生成流程的联合优化,以及扩展到多编程语言和多种API生态。

Mock和Robust基于虚拟执行,不等同于真实网络调用的成功。有界真实调用检查中,75个筛选服务里21个金标准请求返回2xx,Mock阳性请求在有效尝试中91.3%返回2xx,但九个合格Mock阴性请求中有五个也返回2xx,因为它们指向同一主机上可接受的不同端点,说明Mock比真实2xx更严格。数据仅覆盖Python和RapidAPI生态。评论污染、时间切片和人工一致性分析未发现去标识意图或旧样本带来执行优势,但这些分析不能证明污染完全不存在。