Finding the Right Fit: Model-Harness Interactions across Agent Tasks

cs.AI cs.SE Yixuan Li, Yiyun Zhou, Yao Long Teng, Fuchao Yang, Yanchen Deng, Zhiyi Lyu, Xuyu Dong, Feng Chen, Bo An · Oct 1, 2026
Local to this browser
What it does
Choosing an agent system means picking both a model and the execution harness around it, but most evaluations fix one and vary the other. This paper runs a full cross-product of four configurable harnesses (OpenHands, DeepSeek Harness, PI,...
Why it matters
This paper runs a full cross-product of four configurable harnesses (OpenHands, DeepSeek Harness, PI, openJiuwen) and five models across three terminal-use benchmarks (TUA-Bench, ALE-CLI, Terminal-Bench 4), plus two native vendor pairings,...
Main concern
The paper makes a credible, empirically grounded case that model-harness fit is task-dependent and should be evaluated together. The 66-configuration matrix is substantial, and linking score differences to concrete harness behaviors...
Community signal
0
0 up · 0 down
Sign in to vote with arrows
AI Review AI reviewed
Plain-language introduction

Choosing an agent system means picking both a model and the execution harness around it, but most evaluations fix one and vary the other. This paper runs a full cross-product of four configurable harnesses (OpenHands, DeepSeek Harness, PI, openJiuwen) and five models across three terminal-use benchmarks (TUA-Bench, ALE-CLI, Terminal-Bench 4), plus two native vendor pairings, for 66 configurations total. The core finding is that model rankings reverse depending on the harness, best harnesses change across tasks for four of five models, and cost does not reliably predict score, suggesting that model-harness fit should be evaluated as a unit.

Critical review
Verdict
Bottom line

The paper makes a credible, empirically grounded case that model-harness fit is task-dependent and should be evaluated together. The 66-configuration matrix is substantial, and linking score differences to concrete harness behaviors (timeouts, continuation policies, error feedback) via matched trajectories goes beyond prior correlation-only reports. The central claim is well supported: "Model rankings reverse across harnesses. On Terminal-Bench 4, Claude leads GPT by 7.94 points in OpenHands but trails it by 30.16 points in PI." However, because the study fixes both model and harness for a single run per task without repetition, the observed differences confound luck, provider-side variance, and genuine systematic fit.

“Model rankings reverse across harnesses. On Terminal-Bench 4, Claude leads GPT by 7.94 points in OpenHands but trails it by 30.16 points in PI.”
What holds up

The strongest empirical contribution is the cross-benchmark score matrix in Table 1, which makes it undeniable that a model's best harness depends on the task. The persistence of the openJiuwen-Kimi pairing across all three benchmarks, backed by per-task paired comparisons (Figure 2), is a genuinely useful finding. The trajectory analysis in Section 5 isolates plausible mechanisms: PI's unbounded shell turns hangs into silent failures, while openJiuwen's bounded shell returns timeouts that models can recover from. Similarly, the demonstration that final self-checks often declare success on failed tasks is a concrete criticism of current verification practices. These matched cases give the paper diagnostic depth that earn the authors' recommendations about runtime harness design.

“PI's shell has no default timeout and the model set none, so the call never returned: the run received no further signal and ended at the 40-minute deadline with no output file. Under openJiuwen... the shell's 300 s limit returned it as a timeout.”
Li et al., Section 5.1 · Section 5.1
“All 35 state that every specified requirement has been verified... the agent observed a discrepancy while self-checking but attributed it to a cause outside the deliverable.”
Li et al., Section 5.2 · Section 5.2
Main concerns

The study reports one scored run per task with no variance estimation, so the reader cannot tell how much of a harness-model gap is reproducible versus one-off. The authors acknowledge this directly: "Model settings, tools, and execution budgets are not uniformly matched, so the observed differences do not isolate the causal effect of any single component, and run-to-run variance is not measured." Additional concerns: (1) Some harnesses were modified for the study, most notably OpenHands' context/output limits were raised to 1M/128K from a 16K default, and openJiuwen had to be assembled from its public API rather than run as an official benchmark entry point, meaning comparison is partly with custom compositions rather than stock harnesses. (2) The Kimi baseline on PI incurred 25 provider stream errors out of 62 Terminal-Bench runs, which are counted as harness failures; this inflates the apparent advantage of alternatives. (3) The 'empirical fit' definition is limited to the evaluated pairings, so claims about native pairings being non-optimal exclude many possible vendor-specific configurations.

“Model settings, tools, and execution budgets are not uniformly matched, so the observed differences do not isolate the causal effect of any single component, and run-to-run variance is not measured.”
“OpenHands, whose context and output limits we set to 1M and 128K tokens because its defaults for a custom endpoint cap output at 16K.”
Li et al., Section 3.2 · Section 3.2
Evidence and comparison

The evidence generally supports the claims, and comparisons to prior work are accurate. The quoted 40-fold token difference from Vats and Golev matches their abstract: "Harness choice induces up to a 40× difference in tokens per solved task," and HAL's multi-scaffold, cost-aware, log-analysis approach is fairly described. The Harness-Bench citation is broadly consistent with the source paper's emphasis on execution-alignment failures, though the specific claim that "weaker models are more harness-sensitive" is not visible in the fetched abstract and should ideally be verified. The trajectory analysis is suggestive but rests on small samples: ten same-task, same-model pairs for the main coding, plus six for Kimi, before generalizing to all final attempts. This is defensible as qualitative illustration but weaker as quantitative proof of mechanism.

“Harness choice induces up to a 40× difference in tokens per solved task, while paired within-model pass-rate differences remain 0–8 percentage points.”
Reproducibility

Reproducibility is mixed. The authors admirably release harness adapters, evaluation code, and all 6,204 scored trajectories in a common format, which is well above current practice. However, several factors would block a clean independent reproduction: only one run per task means no estimate of provider or stochastic variance; tasks with infrastructure failures were rerun and the last run counted, which is reasonable but not deterministic; OpenRouter fallbacks were disabled yet one configuration (openJiuwen–DeepSeek on ALE) had to use DeepSeek V4.1 Flash for image inputs; and harness versions used specific package versions (e.g., DSH 0.1.1-rc.2, PI 0.84.4) that may drift. Sampling parameters were left at provider defaults, so token counts and costs depend on opaque provider-side behavior that may change over time.

“Tasks affected by infrastructure failures, such as environment start-up or Docker readiness failures and provider errors, were rerun.”
Li et al., Appendix A · Appendix A
“Sampling parameters are left at provider defaults, and context management, compaction, retries, and turn limits follow each harness's native defaults.”
Li et al., Section 3.2 · Section 3.2
Abstract

Choosing an agent system means choosing both a language model and the harness through which it acts. We ask whether a strong model, harness, or pairing stays strong when the setting changes. We evaluate 66 configurations: four configurable harnesses (OpenHands, DeepSeek Harness, PI, and openJiuwen) paired with five models on TUA-Bench, ALE-CLI, and Terminal-Bench 4, plus the native Codex-GPT and Claude Code-Claude pairings. Model rankings reverse across harnesses. On Terminal-Bench 4, Claude leads GPT by 7.94 points in OpenHands but trails it by 30.16 points in PI. For four of the five models, the best harness changes from one benchmark to another, yet some pairings hold: openJiuwen gives Kimi its highest score on all three benchmarks, by 5.61 to 11.11 points. A model's own vendor harness is not reliably its best, and higher cost does not reliably buy a higher score. On Terminal-Bench 4, GPT scores higher under PI than under DSH at less than a quarter of the cost per task. Matched trajectories suggest why fit varies. Models start almost all repairs themselves, so much depends on whether the harness hands failures back in a form the model can use. GPT does best with PI's lean scaffold, while Kimi, which often issues malformed tool calls, does best in openJiuwen. We argue that the model, the harness, and the task should be evaluated together, and we release the harness adapters, evaluation code, and all 6,204 scored trajectories at https://github.com/liyix/finding-the-right-fit and https://huggingface.co/datasets/yixuanli97/finding-the-right-fit.

Challenge the Review

Pick a starting point or write your own. Challenges run in the background, so you can keep reading while the AI investigates.

No challenges yet. Disagree with the review? Ask the AI to revisit a specific claim.