An Empirical Study of Harness Design for Coding Agents
Run-Ze Fan, Zihao Zhang, Simin Ma, Yebowen Hu, Shouju Wang, Kaiqiang Song, Fei Liu, Hamed Zamani and 1 others
UMass Amherst · Emory University · UNC Charlotte
Published September 17, 2026 · on the feed September 18, 2026 · ▲ 85 · arXiv 2609.20804
The abstract
Coding harnesses shape how autonomous coding agents translate model capabilities into long-horizon software-engineering performance, yet existing work typically evaluates harnesses as monolithic systems, leaving the effectiveness of individual components unclear. To enable component-level comparisons, we study this question with a lightweight coding harness whose execution loop is fixed while three components are varied: planning, action space, and context management. Across four models evaluated on SWE-Bench Verified and Terminal-Bench 2.1, we evaluate 176 matched settings spanning five context-management strategies, four context-window budgets, and targeted ablations of planning and action space. We find that: (1) Context management becomes increasingly valuable as the context-window budget tightens, with most of its benefit coming from preventing context-overflow failures. (2) Staging rule-based elision before LLM-based summarization provides the strongest overall efficiency among the context-management strategies, whereas making elided content recoverable adds machinery that models rarely use and yields no accuracy gain. (3) Planning shifts from an accuracy scaffold for weaker models to a cost saver for stronger models, with little change in accuracy. (4) Predefined tools improve performance for models with weaker bash proficiency, whereas bash-capable models can operate effectively with a bash-only interface and achieve substantially lower cost, especially on command-line-centric tasks. Trajectory-level analysis explains these effects: context management extends execution trajectories without substantially altering agent behavior, planning changes where trajectories stop, and the action space changes the granularity at which code is written. These findings inform model- and budget-aware harness design and provide a modular framework for evaluating future harness components.
The Brief
2:59A short podcast summary of the paper. Written and voiced by AI.
Transcript
An Empirical Study of Harness Design for Coding Agents. By Run-Ze Fan and eight others, from UMass Amherst, Emory University, and one other institution. Published on the seventeenth of September. No code repository is linked to it.
A coding harness shapes how an autonomous coding agent turns model capability into performance on long software-engineering tasks. Harnesses are usually evaluated as monolithic systems, which leaves the value of each individual component unclear. This study takes a lightweight harness, fixes its execution loop, and varies three components: planning, action space, and context management. The central finding is that each component's value depends on the model and on the budget. Asking whether one harness beats another hides which part of it did the work.
Four models are evaluated on SWE-Bench Verified and Terminal-Bench 2.1, across one hundred and seventy-six matched settings. Those span five context-management strategies, four context-window budgets, and targeted ablations of planning and action space. Matching the settings means that when one component changes, everything else is held still, so a difference can be credited to that component.
Four findings emerge. First, context management matters more as the context-window budget tightens, and most of its benefit comes from preventing context-overflow failures. Second, staging rule-based elision before summarization by a language model gives the strongest overall efficiency. Making elided content recoverable adds machinery that models rarely use, and brings no accuracy gain. Together, the first two findings say that context management earns its place by keeping the agent inside its window, and that sophistication beyond that mostly goes unused.
Third, planning shifts role. For weaker models it is an accuracy scaffold; for stronger ones it saves cost, with little change in accuracy. Fourth, predefined tools help models that are weaker at bash, while models that handle bash well can work effectively with a bash-only interface, at substantially lower cost, especially on tasks centred on the command line. The third and fourth findings point the same way. Scaffolding that helps a weaker model can become a cost saving, or unnecessary, for a stronger one.
Trajectory-level analysis explains these effects. Context management extends trajectories without substantially changing how the agent behaves. Planning changes where trajectories stop. And the action space changes the granularity at which code gets written. Three components, three different kinds of effect: one lengthens trajectories, one decides where they end, and one changes the size of each step.
The findings come from one lightweight harness with a fixed loop, four models, and two benchmarks. Within that, they are conditional by design: which component helps depends on how strong the model is, how good it is at bash, and how tight the context budget is.
No single harness comes out best. What the study finds instead are harnesses suited to a model and a budget. The study also leaves behind a modular framework for testing future components one at a time. The first question in choosing components is which model will run in the harness, and how much context it will have.
Paper Quest · 7 chapters · about 40 min
Play this paper
Learn it by doing: make the calls the authors made, guess the result before you see it, and defend it in a viva graded on your own words. Chapter 1 is right here.
Chapter 1 🧩 · The problem
Same model, different wrapper, very different results. But which part of the wrapper mattered?
You run coding agents on long software tasks. Swap the software wrapped around the model and performance changes a lot, even with the model held fixed.
The road ahead
- 1 · The problem ~7 min Swapping the software around a coding model changes its results, but comparing whole wrappers cannot tell you which part made the difference.
- 2 · What came before ~3 min
- 3 · The key idea ~8 min Keep the agent's loop fixed and change one harness component at a time, so each difference can be credited to that component.
- 4 · Choose your own research ~3 min
- 5 · Build the method ~8 min One fixed loop, three varied components, four models on two benchmarks, matched comparisons, then trajectory analysis to explain each effect.
- 6 · The experiment ~6 min You’ll guess: For models that handle bash well, how did a bash-only interface compare with a predefined tool set?
- 7 · The viva ~5 min Three questions from the examiners, answered in your own words. Win it for the paper’s trophy.
Free, with Google or an email address. Your stars and progress are kept.