
微软
微软近日公布能帮开发人员除错(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%,显示是很有潜力的发展方法。
图片来源/微软