论文
PBT-Bench:基于属性的测试对 AI 代理进行基准测试
PBT-Bench: Benchmarking AI Agents on Property-Based Testing
摘要
现有的代码基准衡量代理是否可以生成任何重现已知错误的测试,或者是否可以生成修复所描述问题的补丁。两者都没有孤立基于属性的测试的独特技能:从文档中导出语义不变量,然后构建足够精确的输入生成策略以使随机搜索揭示违规行为。我们推出了 PBT-Bench,它是跨 40 个真实 Python 库的 100 个基于属性的测试问题的基准测试。每个问题都会注入一个或多个语义错误(总共 365 个,平均每个问题 3.65 个),这样设计的默认策略随机输入几乎不会触发它们;代理必须阅读库的文档,识别相关的不变量,并指定一个假设@给定策略,将质量集中在触发区域。错误分为三个难度级别 (L1-L3),涵盖单约束边界错误到有状态的跨功能协议违规。我们在两种提示机制(开放式基线与明确的假设支架)下评估八个当代 LLM,每个配置进行三次独立运行。在 PBT 引导提示下,各型号的错误召回率从 42.1% 到 83.4% 不等;在开放式基线下,从 31.4% 降至 76.7%。假设脚手架将中等能力模型提升了 20 个百分点以上,但对最强模型的增益较小,有两个例外显示退化,这表明结构化提示可能会干扰某些模型行为,而不是补充它们。最难的错误被证明是特定于模型的:不同的架构在不同的问题上失败,留下了任何单一模型都无法弥补的持续差距。我们发布了基准、工具和完整的评估语料库,以支持基于文档的语义推理的下游工作。