<转载> 微软公布抓虫AI工具Debug-gym 可和外部工具互动改进除错建议
微软近日公布能帮开发人员除错(debug)的AI工具Debug-gym,可用除错工具协助提供更好的除错建议。
现今已经有不少业者提供AI程序撰写工具,号称能依据程序代码和错误讯息建议除错方案,但是这些工具在方案失败时并不会提供其他进一步信息,使某些错依旧无法解决。有些用户觉得AI程序工具无法全盘理解他们想解决的问题。
微软发表的debug-gym是一个轻量代理人开发环境,旨在让企业开发除错LLM代理人,它能使用交互式除错工具,如预设的python debugger(pdb),以积极寻找进一步除错信息。透过工具获得的回馈,Debug-gym扩展代理人的行为和观察面,使之设定断点、导览程序代码、打印变项值,或建立测试函式,甚至改写程序代码。程序代理人研究、生成新的除错建议,最后交由人类判断及核准。在交付之前,这些除错方法可在相关codebase、程序执行和文件脉络下进行grounding,而不只是依据训练数据凭空设想的方案。
微软相信结合适当工具的交互式除错方法,可说明程序代理人更有效解决真实的软工作业。
微软说明,debug-gym有以下特色:它支持全链接库操作,可存取并编辑整个链接库,且使用Docker沙盒隔离环境,确保除错安全。它易于扩充,可轻松新增工具与功能。此外,它是文字导向:以JSON等结构化文字呈现信息,适合整合大型语言模型(LLM)。
利用debug-gym,开发人员可以指定文件夹路径,使用任何自定义链接库来评估代理人效能。微软在debug-gym相关网页中还提供除错标竿测试SWE-bench及可练习除错的程序集Mini-nightmare,提供开发人员练习和衡量LLM除错代理人效能。
微软并公布以这种方法建立除错代理人的标竿测试结果。研究团队使用包括Claude 3.7、OpenAI-o1、OpenAI o3-mini等9种LLM,开发出可下简单文字(JSON格式)提示的代理人,让它使用以下除错工具包括eval、view、pdb、rewrite和listdir以改进除错解决方案。
初期测试显示目前上述三个主要模型,能解决解决SWE-bench Lite最多一半的问题,但微软相信主因在于序列决策行为的训练资料较少。而且,微软指出,此种方法的代理人较传统方法开发出来的代理人,效能已经提升30%、182%及160%,显示是很有潜力的发展方法。
转载:iThome