Coding Agent / Research Project
RepoMedic
测试驱动的软件修复 Agent
Test-driven Coding Agent Runtime
探索如何利用大语言模型、工具调用和自动测试完成可靠的软件修复。
01 / 项目定位
为什么做这个项目
探索如何利用大语言模型、工具调用和自动测试完成可靠的软件修复。
02 / 背景与问题
问题从哪里开始
- 01
一次性代码生成不了解真实仓库状态,也无法证明 patch 已经生效。
- 02
工具调用、代码修改和测试结果如果彼此脱节,失败就难以诊断。
- 03
修复 Agent 需要在工作区边界内执行精确修改,并把测试当作反馈。
03 / 架构
系统如何工作
- 01Task任务输入
给出问题、仓库与验收条件
- 02Agent Reasoning智能体推理
决定下一步观察或修改动作
- 03Tool Calling工具调用
通过注册工具访问工作区
- 04Code Modification代码修改
执行一次精确、可验证的编辑
- 05Pytest Verification测试验证
运行测试并返回结构化结果
- 06Trace Report轨迹报告
保留步骤、错误与验证记录
04 / 方法与贡献
如何解决问题
方法
- 用 Action / Observation 循环分离决策、工具执行和验证。
- 通过 Tool Registry 提供受控读写、命令和测试能力。
- 将 pytest 结果回写为下一步决策依据,并导出可追踪报告。
研究贡献
- Agent Runtime智能体运行时
组织任务、动作和观察循环。
- Tool Registry工具注册表
定义工具能力与工作区边界。
- Action Parser动作解析器
拒绝歧义动作并保持调用结构稳定。
- Execution Environment执行环境
在真实仓库中产生可观察反馈。
- Verification验证系统
用测试结果判断修复是否成立。
05 / 技术实现
使用什么技术
06 / 阶段成果
目前完成情况
轻量运行时与 Mini Benchmark 已具备,后续继续扩大评估覆盖。
- 01
Action / Observation runtime 已实现
- 02
Mini Benchmark 覆盖八类小型缺陷
- 03
继续收集失败分布与运行轨迹
已有证据
Mini Benchmark 覆盖逻辑与边界错误、类型错误、多文件修改、编辑恢复和嵌套路径等八类小型任务,记录通过率、步骤数、耗时与失败分布。
适用范围
评估只描述已包含的小型任务,不代表通用软件工程能力。Shell 工具在宿主环境运行,工作区路径检查不等同于容器级安全隔离。