SlopCodeBench: Benchmarking How Coding Agents Degrade Over Long-Horizon Iterative Tasks

TL;DR

SlopCodeBench通过36个问题和196个检查点,系统测量编码代理在长时域迭代任务中的代码退化,发现代码逐步变得臃肿和复杂。

cs.SE 🔴 高级 2026-03-26 15 引用 41 次浏览
Gabriel Orlanski Devjeet Roy Alexander Yun Changho Shin Alex Gu Albert Ge Dyah Adila Nicholas Roberts Frederic Sala Aws Albarghouthi
软件工程 人工智能 代码质量 迭代学习 基准测试

核心发现

方法论

本研究提出了SlopCodeBench,一个语言无关的基准,包含36个软件开发任务和196个检查点,旨在评估编码代理在长时间迭代中的代码演变。每个任务仅定义外部行为(CLI/API),不限定内部结构,代理需在每个检查点基于前一版本扩展解决方案。通过两项指标——结构侵蚀(函数复杂度集中)和冗余(代码臃肿)——量化代码质量变化。研究评估了15个不同模型(开源和闭源),分析其在多轮迭代中的表现,特别关注代码退化趋势。实验还将代理代码与473个开源Python仓库进行对比,发现代理代码在冗余和复杂度方面明显劣于人类开发者。研究还探讨了提示优化对代码质量的影响,发现虽然能降低初始冗余,但无法根本遏制退化趋势。

关键结果

  • 在所有模型中,最高的严格解决率仅为14.8%,没有任何模型能完整解决任何问题,表现出明显的迭代退化。随着检查点的推进,代码的结构侵蚀在77%的轨迹中增加,冗余在75.5%的轨迹中上升。相比之下,开源Python仓库的代码冗余为代理的2.3倍,复杂度侵蚀为2.0倍,且人类代码的退化频率明显较低。提示引导策略能在初始阶段减少冗余和侵蚀,但无法改变退化速度,平均每个检查点的质量下降仍达1.3%。
  • 在模型性能方面,GPT-5.5模型在严格标准下的解决率最高为14.8%,但整体表现仍远未达到完美。多模型分析显示,结构侵蚀和冗余在长时间迭代中持续增长,且在77%的轨迹中侵蚀显著增加。与人类开发者的版本历史相比,代理代码的退化速度快出2倍以上,显示出自动化编码在持续扩展中的潜在风险。
  • 提示优化(如anti-slop和plan-first策略)能在初期显著降低代码冗余和复杂度,但无法根本阻止退化趋势。虽然这些策略能在一定程度上改善起始质量,但随着迭代次数增加,代码质量仍逐步恶化。实验还发现,提示优化会增加每个检查点的成本,平均提升12.1%的开销,且略微降低了正确率。
  • 通过与开源仓库的对比,研究验证了代理代码在复杂度和冗余方面的劣势,强调了在自动化软件开发中,持续监控和控制代码退化的重要性。研究还提出了未来通过改进模型架构和引入更智能的质量引导机制,或许能有效缓解这一问题。
  • 总体而言,SlopCodeBench首次系统性地量化了编码代理在长时间迭代中的代码退化行为,为未来自动化软件开发提供了重要的评估工具和理论基础。该研究揭示了当前模型在持续扩展任务中的潜在风险,也为设计更稳健的自动编码系统提供了宝贵的参考。

研究意义

本研究突破了现有单次评估的限制,首次系统性地揭示了编码代理在长时间、多轮迭代中的代码退化问题。通过引入结构侵蚀和冗余两个量化指标,深入分析了自动生成代码在持续扩展中的质量变化,为自动化软件开发的可持续性提供了科学依据。研究结果表明,现有模型在面对复杂、动态变化的任务时,容易出现代码臃肿和结构失控的问题,这对工业界的自动化开发流程提出了新的挑战。研究还强调了提示工程在改善初始代码质量方面的潜力,为未来智能编码系统的设计提供了指导思想。整体而言,SlopCodeBench为评估和优化长时域自动编码代理提供了重要工具,有助于推动自动化软件工程的理论发展和实践应用。

技术贡献

本研究提出了SlopCodeBench这一创新的评估框架,首次系统性地测量了编码代理在长时间迭代中的代码退化行为。通过设计36个多轮任务和196个检查点,确保评估的真实性和多样性,突破了传统单次评估的局限。引入结构侵蚀和冗余两个指标,量化代码复杂度集中和臃肿程度,为理解自动生成代码的长期演变提供了新视角。实验中,采用多模型、多提示策略,验证了模型在持续扩展中的表现差异,为未来模型改进提供了数据支撑。研究还将代理代码与大量开源仓库进行对比,揭示了自动化编码在实际开发中的潜在风险。该工作不仅丰富了软件工程中的质量度量体系,也为未来自动编码系统的设计提供了理论基础和实践指南。

新颖性

本研究的最大创新在于提出并实现了SlopCodeBench这一面向长时域迭代任务的全新评估框架,首次系统性量化了自动编码代理在持续扩展中的代码退化行为。不同于以往只关注单次正确率或局部性能的评估方法,本文引入结构侵蚀和冗余两个指标,全面反映代码的结构复杂度和冗余度。其核心创新还在于任务设计:仅定义外部行为,隐藏内部结构,允许代理自主做出架构决策,真实模拟软件开发中的演化过程。这一设计突破了传统基准的局限,为未来研究提供了新的思路。研究还结合多模型、多提示策略,验证了模型在实际应用中的表现差异,丰富了自动编码系统的理论基础。

局限性

  • 本研究主要集中在Python语言,虽然框架具有语言无关性,但实际评估仅在Python中完成,未来需扩展到其他语言以验证通用性。模型在多轮迭代中的退化趋势可能受到特定任务设计的影响,未能完全覆盖所有软件开发场景。
  • 评估指标虽能量化代码复杂度和冗余,但未考虑代码的可维护性、性能和安全性等其他重要质量特性。模型在面对极端复杂或高风险任务时的表现仍未充分验证。
  • 提示优化策略虽能改善起始质量,但在长时间迭代中效果有限,未来需结合模型架构改进和质量引导机制,才能更有效控制代码退化。

未来方向

未来研究可以在多语言、多任务环境中验证SlopCodeBench的适用性,探索更智能的质量引导机制以减缓代码退化。结合强化学习或自我监督技术,优化模型的架构设计,提升其在长时域任务中的稳定性和扩展性。此外,研究还应关注代码的可维护性、性能和安全性,构建更全面的质量评价体系,为工业界的自动化软件开发提供更可靠的工具和方法。最终目标是实现自动编码系统的持续学习和自我优化,推动自动化软件工程迈向更高的成熟度。

AI 总览摘要

软件开发本质上是一个持续演化的过程,涉及不断的设计、实现和优化。随着人工智能技术,尤其是大规模语言模型(如GPT系列)在代码生成中的广泛应用,自动化编码代理逐渐成为行业关注的焦点。然而,现有的编码基准多集中在单次任务的正确率,未能充分反映在多轮迭代中的代码质量变化。本文提出了SlopCodeBench,这一创新的评估框架,旨在系统性地量化自动编码代理在长时间、多轮扩展任务中的代码退化行为。通过设计36个任务和196个检查点,确保评估的真实性和多样性,研究揭示了自动生成代码在持续扩展中逐渐变得臃肿和复杂,表现为结构侵蚀和冗余增加。实验中,15个不同模型(包括开源和闭源)在多轮任务中表现出明显的退化趋势,最高解决率仅为14.8%,且大部分轨迹中代码质量持续恶化。与大量开源仓库的代码对比,自动生成的代码在复杂度和冗余方面明显劣于人类开发者,突显了自动编码系统在实际应用中的潜在风险。提示工程(prompt engineering)虽能在起始阶段改善代码质量,但难以根本遏制退化趋势。研究还验证了不同提示策略的效果,发现虽然能降低初始冗余和复杂度,但长时间迭代中的退化依然存在。总体而言,SlopCodeBench为未来自动化软件开发提供了重要的评估工具和理论基础,有助于推动更稳健、可持续的自动编码系统设计。未来工作应关注模型架构优化、质量引导机制的引入,以及多语言、多场景的适应性验证,以实现自动编码的持续学习和自我优化。

深度解读

原文摘要

Software development is iterative, yet agentic coding benchmarks hide design issues through their single-shot setup. Recent iterative benchmarks attempt to remedy this but heavily constrain an agent's design decision space, making it impossible to faithfully measure how their decisions shape future extensions. We introduce SlopCodeBench, a benchmark of 36 problems and 196 checkpoints where agents repeatedly extend their own solutions. Unlike prior iterative benchmarks, our evolving specifications demand architectural decisions but leave internal structure to the agent. We measure two forms of degradation: structural erosion (concentrated complexity) and verbosity (redundant code). Evaluating 15 coding agents across open and closed models, we find that no agent fully solves any problem end-to-end, and the best agent passes 14.8% of checkpoints. Quality degrades across checkpoints, with structural erosion rising in 77% of trajectories and verbosity in 75.5%. Compared to 473 open-source Python repositories, agent code is 2.3x more verbose and 2.0x more eroded, and the human repositories degrade less often and by smaller margins across their git histories. Explicit quality guidance reduces initial verbosity and erosion by up to a third, without affecting degradation rates. SlopCodeBench provides the first measurement of code degradation under iterative extension, revealing that agents pass checkpoints while producing code that erodes and bloats with each turn.

cs.SE cs.AI cs.CL

参考文献 (20)

SWE-bench: Can Language Models Resolve Real-World GitHub Issues?

Carlos E. Jimenez, John Yang, Alexander Wettig 等

2023 3445 引用 ⭐ 高影响力 查看解读 →

Terminal-Bench: Benchmarking Agents on Hard, Realistic Tasks in Command Line Interfaces

Mike A. Merrill, Alexander G Shaw, Nicholas Carlini 等

2026 352 引用 ⭐ 高影响力 查看解读 →

What is wrong with your code generated by large language models? An extensive study

Shihan Dou, Haoxiang Jia, Shenxi Wu 等

2024 94 引用 查看解读 →

Do code clones matter?

Elmar Jürgens, F. Deißenböck, B. Hummel 等

2009 490 引用 查看解读 →

Metrics for assessing a software system's maintainability

P. Oman, J. Hagemeister

1992 344 引用

The WyCash portfolio management system

Ward Cunningham

1992 1111 引用

Software aging

D. Parnas

1994 1050 引用

GPTCloneBench: A comprehensive benchmark of semantic clones and cross-language clones using GPT-3 model and SemanticCloneBench

A. Alam, Palash Ranjan Roy, Farouq Al-Omari 等

2023 38 引用 查看解读 →

SWE-agent: Agent-Computer Interfaces Enable Automated Software Engineering

John Yang, Carlos E. Jimenez, Alexander Wettig 等

2024 1655 引用 查看解读 →

HumanEvo: An Evolution-Aware Benchmark for More Realistic Evaluation of Repository-Level Code Generation

Dewu Zheng, Yanlin Wang, Ensheng Shi 等

2024 26 引用 查看解读 →

RepoBench: Benchmarking Repository-Level Code Auto-Completion Systems

Tianyang Liu, Canwen Xu, Julian McAuley

2023 416 引用 查看解读 →

SWE-Bench+: Enhanced Coding Benchmark for LLMs

Reem Aleithan, Haoran Xue, Mohammad Mahdi Mohajer 等

2024 109 引用 查看解读 →

Evaluating Software Development Agents: Patch Patterns, Code Quality, and Issue Complexity in Real-World GitHub Scenarios

Zhi Chen, Lingxiao Jiang

2024 25 引用 查看解读 →

Commit0: Library Generation from Scratch

Wenting Zhao, Nan Jiang, C. Lee 等

2024 41 引用 查看解读 →

LessLeak-Bench: A First Investigation of Data Leakage in LLMs Across 83 Software Engineering Benchmarks

Xin Zhou, M. Weyssow, Ratnadira Widyasari 等

2025 46 引用 查看解读 →

CodeIF-Bench: Evaluating Instruction-Following Capabilities of Large Language Models in Interactive Code Generation

Peiding Wang, Li Zhang, Fang Liu 等

2025 25 引用 查看解读 →

A Taxonomy of Inefficiencies in LLM-Generated Python Code

Altaf Allah Abbassi, L. D. Silva, Amin Nikanjam 等

2025 13 引用 查看解读 →

FEA-Bench: A Benchmark for Evaluating Repository-Level Code Generation for Feature Implementation

Wei Li, Xin Zhang, Zhongxin Guo 等

2025 60 引用 查看解读 →

ProjectEval: A Benchmark for Programming Agents Automated Evaluation on Project-Level Code Generation

Kaiyuan Liu, Youcheng Pan, Jing Li 等

2025 26 引用 查看解读 →

MaintainCoder: Maintainable Code Generation Under Dynamic Requirements

Zhengren Wang, Rui Ling, Chufan Wang 等

2025 11 引用 查看解读 →

被引用 (15)

TRIM: Reducing AI-Generated CodeSlop via Agent Trajectory Minimization

2026 ⭐ 高影响力 查看解读 →

StaminaBench: Stress-Testing Coding Agents over 100 Interaction Turns

2026 ⭐ 高影响力 查看解读 →

Repo0: Design-Driven Zero-to-All Code Generation

Persistent Recursive Worlds Enable Autonomous Software Evolution

SWE-Touch: Benchmarking Coding Agents When Users Touch the Code

LoopsBench: From Harness Engineering to Loop Engineering in Coding Agent Evaluation

Benchmarking the Residual: What Long-Horizon Evaluations Add Beyond Matched Short-Task Performance

EvoPolicyGym: Evaluating Autonomous Policy Evolution in Interactive Environments

Is Agent Code Less Maintainable Than Human Code?

Continual Learning Bench: Evaluating Frontier AI Systems in Real-World Stateful Environments

2026 4 引用 查看解读 →

Does Code Cleanliness Affect Coding Agents? A Controlled Minimal-Pair Study

SWE-Chain: Benchmarking Coding Agents on Chained Release-Level Package Upgrades

2026 3 引用 查看解读 →

SWE-Milestone: Evaluating AI Agents on Continuous Software Evolution

2026 6 引用 查看解读 →

CodeTaste: Can LLMs Generate Human-Level Code Refactorings?

2026 2 引用 查看解读 →

Towards Autonomous Software Development