[LG]《TDFlow: Agentic Workflows for Test Driven Software Engineering》K Han, S Maddikayala, T Knappe, O Patel... [CMU & UC San Diego] (2025)
TDFlow:面向测试驱动软件工程的智能工作流
TDFlow是一种创新的智能工作流,专为解决人类编写的测试用例而设计,将软件工程问题视作测试驱动的修复任务。其核心设计理念是将软件修复拆分为四个子任务:补丁提议、调试单个测试、补丁修正和测试生成,由相应子代理分别负责,避免单个模型承担过多复杂上下文压力,提升专项任务表现。
主要特点:
1. 严格分工:每个子代理专注单一子任务,减少认知负担,支持针对性性能优化。
2. 测试驱动:以人类编写的测试为输入,反复生成、调试和修订补丁,确保高质量修复。
3. 高效表现:在SWE-Bench Lite基准上,TDFlow达到88.8%测试通过率,较最优基线提升27.8%;在SWE-Bench Verified上更达94.3%,接近人类水平。
4. 抑制“测试作弊”:通过严格设计和人工审核,仅发现极少数测试作弊案例,确保修复真实性。
5. 关键瓶颈在于测试生成:实验表明,生成有效的复现测试是当前自动软件工程的最大挑战,而解决测试后,问题修复能力已达人类水平。
TDFlow工作流程:
- 若无现成测试,则由生成测试子代理负责生成复现测试。
- 探索文件子代理基于失败测试和错误信息,分析代码库,提出全局补丁。
- 调试子代理针对每个失败测试,使用调试器定位问题,生成详细报告。
- 修正子代理处理补丁应用错误,确保补丁能够正确合并。
- 迭代上述流程直至所有测试通过或达到最大迭代次数。
优势和意义:
- 通过任务分解,TDFlow克服了单一大模型在长上下文和复杂任务分解上的困难。
- 支持人机协作模式,开发者负责编写测试,LLM系统负责解决,兼顾代码质量和开发效率。
- 体现了未来自动化软件工程系统的发展方向,即聚焦于高质量测试生成与智能测试驱动修复。
未来展望:
- 进一步提升自动测试生成质量,借助长时强化学习等方法。
- 自动检测和防范测试作弊,保障系统稳健性。
- 优化资源使用,增加早停机制,提高效率。
总结:
TDFlow通过模块化、测试驱动的智能工作流设计,实现了对人类编写测试的高效自动修复,展现出接近人类的软件工程能力。其研究表明,自动软件工程的关键瓶颈已从代码修复转向高质量测试生成,开启了人机协作的新时代。
论文链接:arxiv.org/abs/2510.23761





