摘要
大型语言模型(LLMs)在生成复杂任务代码时常常存在细微但关键的错误。现有的自动化修复方法通常依赖于表面的通过/失败信号,难以深入理解程序行为并精确定位错误。此外,由于缺乏从先前失败中学习的能力,修复过程往往陷入重复且低效的循环。为了解决这些问题,本文提出TraceCoder,一个协作式多智能体框架,模拟人类专家的观察-分析-修复流程。该框架首先通过诊断探针对代码进行插桩,以捕获细粒度的运行时追踪,从而深入了解其内部执行情况。然后,它对这些追踪进行因果分析,以准确识别失败的根本原因。这一过程进一步通过一种新颖的历史教训学习机制(HLLM)增强,该机制从之前的失败修复尝试中提炼出见解,以指导后续的修正策略并防止类似错误的再次发生。为了确保稳定收敛,回滚机制强制要求每次修复迭代都朝着正确解决方案取得严格改进。多个基准的全面实验表明,TraceCoder在Pass@1准确性方面相比现有先进基线实现了高达34.43%的相对提升。消融研究验证了每个系统组件的重要性,其中仅迭代修复过程就带来了65.61%的相对准确率提升。此外,TraceCoder在准确性和成本效率方面均显著优于领先的迭代方法。
AI 推荐理由
论文提到了历史教训学习机制(HLLM),与记忆相关,但非核心主题。
论文信息