摘要
大型语言模型 (LLM) 编码代理越来越多地被部署在终端环境中,独立执行软件工程任务,因此它们的可靠性成为一个日益重要的问题。现有的实证研究探讨了编码代理失败的原因,但大多将失败视为最终结果,而非一个动态过程,这限制了对失败如何产生、演变及变得不可恢复的深入理解。
我们首次进行大规模的CLI编码代理失败轨迹的实证研究,提出一个面向过程的框架,分析失败的发生、演变和恢复。我们收集了由七个前沿模型在三个编码代理框架(OpenHands、MiniSWE和Terminus2)上生成的3843个执行轨迹,并经过仔细筛选,获得了1794个完整有效的轨迹用于人工标注(超过63000个执行步骤)。
通过这些数据,我们得出了14项发现,涵盖了失败发生、根本原因、恢复及跨系统一致性等方面。我们的研究表明,编码代理的失败主要由认知错误驱动,通常在执行的前几步内就开始发生,并且往往在恢复不再可能之前保持隐蔽。这表明,提高编码代理的可靠性需要更早的验证和干预,而不是仅仅依赖最终结果的评估。
博主点评: 本研究为理解CLI编码代理的失败提供了新的视角。通过分析失败的演变过程,研究不仅揭示了问题的根源,还强调了早期干预的重要性,这对于提升未来编码代理的可靠性至关重要。这样的研究能够为开发更智能的编码工具提供理论依据。