迈向软件维护中编码智能体自主性的边界约束:Boundary Contracts 试点研究
Toward Bounding Coding-Agent Autonomy in Software Maintenance: A Pilot Study of Boundary Contracts
精选理由
通过明确文件可编辑、只读、必需或受保护角色,边界契约有望提升编程代理维护代码的准确性与安全性。
AI 摘要
随着编码智能体在修改软件仓库方面获得更大的自主性,仅凭相关上下文并不能界定其操作权限。某个工件可能与维护任务相关,却不适合编辑;反之,另一个工件即使未在请求中被明确提及,也可能是必需的。我们探索了 Boundary Contracts,这是一种机器可读的抽象表示,可在仓库修改开始前明确工件在特定任务中的角色(可编辑、仅可查看、必需和受保护)。我们针对真实企业仓库中的 40 项维护任务开展试点研究,对比同一个基于 Codex 的编码智能体在有无 Boundary Contract 信息时的表现。在提供边界信息的条件下,编辑选择的宏平均 F1 从 0.440 提升至 0.682,必需行为覆盖率从 0.429 提升至 0.673,严格符合验收要求的补丁数量从 40 个中的 9 个增加至 18 个。为探究这些提升是否仅源于文件定位的改善,我们进一步分析了两种条件下至少修改了一个相同文件的 21 项任务。在编辑选择性和补丁结果方面,差异依然存在,这提供了初步证据,表明显式定义工件角色可能会对维护行为产生超出单纯文件定位的影响。本次试点研究并未确立 Boundary Contracts 的普遍有效性,而是为一个更广泛的研究问题提供了初步证据:随着仓库级维护日益自主化,应如何生成、验证、修订并最终强制执行编码智能体的操作边界?