microsoft/debug-gym
A Text-Based Environment for Interactive Debugging
解决的问题
debug-gym 为训练和评估基于 LLM 的代理修复 Python 代码仓库中的错误提供了一个标准化的交互式环境。它通过允许代理使用实际的调试工具(如 pdb)在提出修复方案前调查代码行为,弥合了简单代码编辑与真实世界调试之间的差距。
工作原理
该框架遵循 Gymnasium 模式作为模拟环境运行。代理通过一组工具与代码仓库交互,接收环境状态的文本观察结果,并迭代生成命令以收集信息,最终应用补丁。
- 环境与工具:
RepoEnv管理代码库,并提供bash、view(文件聚焦)、eval(测试执行)、pdb(交互式调试)、grep、listdir和edit等工具。 - 终端:为确保隔离性和可扩展性,支持使用
DockerTerminal和KubernetesTerminal后端执行命令。 - 代理:提供基于 LLM 的代理(如
froggy_agent),可通过 Jinja 模板配置自定义系统提示。 - 集成:与 SWE-bench、SWE-smith 和 R2E-Gym 等基准测试集成,提供标准化的调试任务。
适用人群
- 开发自主软件工程代理的 AI 研究人员。
- 构建基于 LLM 的自动化错误修复和程序分析工具的开发者。
- 希望使用真实世界 Python 仓库评估 LLM 代理调试能力的用户。
核心亮点
- 交互式调试:集成
pdb,允许代理在执行过程中设置断点并检查状态。 - 可扩展工具:用户可轻松创建并注册新工具,扩展代理的动作和观察空间。
- 隔离执行:支持 Docker 和 Kubernetes,实现安全、可扩展的代理生成代码执行。
- 可定制提示:使用 Jinja 模板实现灵活的系统提示工程。
- 人机协同:包含“人工模式”,支持手动与环境交互,用于测试工具调用工作流。
相关
- 项目
- 项目
- 项目
- 项目
- 项目