Adaptive Auto-Harness: Sustained Self-Improvement for Agentic System Deployment on Open-Ended Task Streams — part 1/4

Cleaned-text code points [0, 15328). Bibliography omitted here; source.md includes it.

# Adaptive Auto-Harness: Sustained Self-Improvement for Agentic System Deployment on Open-Ended Task Streams

###### Abstract

Auto-harness systems such as A-Evolve, GEPA, and Meta-Harness improve LLM agents by optimizing prompts, skills, tools, memories, and supporting infrastructure from execution feedback, but they are typically evaluated on fixed offline benchmarks. Real deployments instead present open-ended task streams: histories grow without a fixed endpoint, heterogeneous tasks require different harnesses, and problem distributions shift over time. These challenges make a single repeatedly and densely updated harness brittle, causing performance degradation as accuracy peaks early and then declines. This motivates sustained harness construction with task-wise adaptation. We introduce Adaptive Auto-Harness, a framework and system for such streams. The framework decomposes the gap to an oracle harness into evolution loss and adaptation loss. The system addresses these losses with a stateful multi-agent evolver, a harness tree with solve-time routing, and human-steering hooks for cases where history lacks the needed signal. Across prediction-market, security-competition, and event-forecasting streams, Adaptive Auto-Harness outperforms five existing auto-harness baselines and ablations attribute gains to better construction, routing, or targeted human steering. Code is available in Link .

## 1 Introduction

Open-ended task streams are a common deployment regime for LLM agents: tasks arrive continuously, feedback accumulates over time, and future tasks may differ from earlier ones. In this regime, an agent’s harness, comprising the prompts, skills, tools, and supporting infrastructure that surround a fixed LLM, is a primary determinant of task-solving performance. Auto-harness systems such as A-Evolve Lin et al. (2026) , GEPA Agrawal et al. (2025) , and Meta-Harness Lee et al. (2026) perform evolution to construct harness automatically from execution feedback, and report substantial gains on static offline benchmarks such as SWE-bench Jimenez et al. (2024) . Those evaluations, however, do not capture the central pressure of deployment: the harness must keep improving while operating on a chronological stream whose history grows, task types vary, and distribution shifts.

Representative streams include prediction markets with thousands of questions over weeks Cheng et al. (2026) , decade-long security competitions Zhuo et al. (2025) , and cross-lingual forecasting services with heterogeneous sources Zeng et al. (2025) . Figure 1 illustrates why repeatedly evolving and injecting all harness during solving is insufficient. On Polymarket: we run A-Evolve and stop evolution after 3, 7, 15, 30, or 51 cycles, comparing each run with the same solver without evolution. Early evolution improves pass rate, but longer runs accumulate larger prompts and more specialized skills, only some of which transfer. For example, a useful skill news_from_future.md (138 correct vs 16 wrong BUYs) helps on a sports task yet misfires on a politics task. All stopping budgets eventually peak and decline; later in the stream, shorter runs outperform longer ones. Sustained deployment therefore requires preserving useful history while adapting the active harness to the task at hand.

This failure exposes three deployment dimensions that static benchmark evaluation does not capture (Figure 2 ). (D1) Unbounded Streams. The task stream has no fixed train/test cutoff or designated endpoint Karten et al. (2026) ; Wang et al. (2023) ; feedback, trajectories, and harness state accumulate throughout deployment, creating a heavy burden for the evolution. Existing auto-harness systems built around a single-agent evolver compress this expanding history into a finite context window, creating a bottleneck for building the effective and generalizable harness. (D2) Task heterogeneity. Varied types of tasks are mixed in the same stream. A prediction-market platform, for example, mixes politics, sports, and finance questions in the same hour, each calling for distinct sources, tools, and prompting. However, existing auto-harness systems deploy a static dense harness across the stream, with no solve-time adaptation to the task at hand, and neglect the fact that a single fixed policy is rarely optimal across heterogeneous problems Miao et al. (2025) . (D3) Distributional non-stationarity. As the stream progresses, incoming tasks shift away from the experience the harness was last fitted on. A harness optimized for recent cycles therefore drifts out of fit for new tasks, even with rich historical experience. Closing this gap requires per-task contextual adaptation of the harness, not only continued historical fitting. Additional diagnostics are shown in Appendix A .

We address these dimensions with a unified analytical framework and identify two root gaps that prior auto-harness systems overlook. This analysis motivates: (1) Sustained auto-harness (§ 3.3 ), which replaces stateless one-shot evolution with a stateful multi-agent system with cross-cycle knowledge for better harness construction; and (2) Solve-time adaptation (§ 3.4 ), which adapts a task-relevant harness for each problem prior to solving, restoring per-task fit on a heterogeneous, drifting stream. Beyond the two axes, we further introduce a third axis: human-in-the-loop (HITL) for auxiliary steering of the harness to incorporate human insights and foresights that are absent from historical experience. Our contributions are: (1) Deployment-regime analysis of open-ended agentic streams. We formalize why static auto-harness evaluation is insufficient once tasks arrive as unbounded, heterogeneous, and non-stationary streams. The framework decomposes the gap towards the optimal harness into evolution loss and adaptation loss, providing guidance for auto-harness system designs.

(2) Adaptive Auto-harness system. We introduce a stateful multi-agent evolver for sustained harness construction, a harness-tree router for solve-time adaptation, and structurally triggered human-in-the-loop hooks for evolutions when historical experience is insufficient.

(3) Comprehensive empirical validation and diagnosis. We evaluate on three streaming tasks spanning prediction markets, security challenges, and event forecasting against other auto-harness systems. Beyond aggregated performance, we provide in-depth analysis and evidence for the proposed gaps, component ablations, and human-in-the-loop slice analyses.

## 2 Related Work

Continual Learning in Task Streams. Continual learning studies systems that learn from a sequence of tasks while retaining earlier capabilities Buzzega et al. (2020) ; Wang et al. (2022b) ; Wang et al. (2022a) . Domain and test-time adaptation address distribution shift Ben-David et al. (2010) ; Ganin et al. (2016) ; Wang et al. (2020) ; Liang et al. (2020) , and mixture-of-experts methods route heterogeneous inputs to specialised components Jacobs et al. (1991) ; Shazeer et al. (2017) . These directions cover pieces of our D1–D3 setting, but they usually adapt model weights, classifiers, or expert modules. In contrast, we study the harness-level analogue.

Self-improving and self-evolving agents. The closest LLM-agent precedents to our setting are systems that update the harness directly from execution feedback. A-Evolve Lin et al. (2026) introduces a linear-chain evolver: each cycle reads batch trajectories and mutates prompts, skills, memory, and tools. GEPA Agrawal et al. (2025) adds reflective Pareto prompt evolution using textual feedback rather than scalar reward. Meta-Harness Lee et al. (2026) uses a growing filesystem archive and Claude Code as the proposer. Continual Harness Karten et al. (2026) enables online adaptation within a single continuous deployment run through alternating action/refinement cycles. SkillOS Ouyang et al. (2026) learns a skill curation policy via reinforcement learning, training a curator to select and refine reusable skills from repeated interactions.

## 3 Method

### 3.1 Problem Formulation

We consider tasks arriving in an open-ended stream x 1 , x 2 , … , x T x_{1},x_{2},\ldots,x_{T} with x t ∼ P t x_{t}\sim P_{t} , where P t P_{t} is the task distribution at time t t and each x t x_{t} has a fixed ground truth y ⁡ ( x t ) y(x_{t}) . The agent observes the history of prior experience ℋ t = { ( x i , r i , τ i ) } i = 1 t − 1 \mathcal{H}_{t}=\{(x_{i},r_{i},\tau_{i})\}_{i=1}^{t-1} , where r i r_{i} is optionally the realized reward on task x i x_{i} and τ i \tau_{i} is the agent’s solving trajectory (actions, intermediate observations, tool calls). A harness C = φ ⁡ ( ℋ t ) C=\varphi(\mathcal{H}_{t}) , with | C | ≤ K |C|\leq K , is a bounded representation (prompts, skills, memory, and tools) with capacity budget K K , where φ \varphi is the evolver : the agentic system that automatically transforms historic experience into the harness. A solver agent then acts via the policy a t ∼ π ⁡ ( a ∣ x t , C t ) a_{t}\sim\pi(a\mid x_{t},C_{t}) , where π \pi is the LLM-induced sampling distribution over actions conditioned on the task and harness.

### 3.2 Analytical Framework

The three deployment dimensions of section § 1 surface concrete failures, but they do not by themselves identify what an evolver should fix. To pinpoint the root causes, we frame the problem analytically: we cast harness construction as a regret-minimization problem against an oracle reference, and decompose the regret into two complementary loss terms that map directly to actionable design axes.

Utility and regret. We define the utility of a harness C C on a task x t x_{t} as V ( C , x t ) = 𝔼 a t ∼ π ( ⋅ ∣ x t , C ) [ r ( a t , y ( x t ) ) ] , V(C,x_{t})=\mathbb{E}_{a_{t}\sim\pi(\cdot\mid x_{t},C)}[r(a_{t},y(x_{t}))], (1) which is the expected reward of the harness-conditioned solver. The full-history utility is the corresponding ceiling under the capacity budget, V ( ℋ t , x t ) := sup C : | C | ≤ K V ( C , x t ) V(\mathcal{H}_{t},x_{t})\,:=\,\sup_{\begin{subarray}{c}C\,:\,|C|\leq K\end{subarray}}V(C,x_{t}) , that is, the best utility attainable by any bounded harness on x t x_{t} . The regret of the evolver-constructed harness is then Regret ​ ( φ , x t ) = V ⁡ ( ℋ t , x t ) − V ⁡ ( φ ⁡ ( ℋ t ) , x t ) ≥ 0 , \text{Regret}(\varphi,x_{t})=V(\mathcal{H}_{t},x_{t})-V(\varphi(\mathcal{H}_{t}),x_{t})\geq 0, (2) non-negative since φ ⁡ ( ℋ t ) \varphi(\mathcal{H}_{t}) is one element of the supremum’s domain. Operationally, this ceiling matches what a solver granted ℋ t \mathcal{H}_{t} directly, under the same compute and tool budget as φ \varphi , could attain by reconstructing any candidate harness on the fly.

Solve-time optimal harness. Fix the evolver class Φ \Phi and define the solve-time optimal harness for a particular task: C Φ ∗ ​ ( x t ) = arg ⁡ max C = φ ⁡ ( ℋ t , x t ) , φ ∈ Φ | C | ≤ K ⁡ V ⁡ ( C , x t ) . C^{*}_{\Phi}(x_{t})=\arg\max_{\begin{subarray}{c}C=\varphi(\mathcal{H}_{t},x_{t}),\ \varphi\in\Phi\\ |C|\leq K\end{subarray}}V(C,x_{t}). (3) This is an hypothetic oracle reference: it is the best harness the evolver class Φ \Phi could produce if it were allowed to condition on the incoming task x t x_{t} at solve time. A deployed evolver φ \varphi commits to one harness φ ⁡ ( ℋ t ) \varphi(\mathcal{H}_{t}) before x t x_{t} is observed; using C Φ ∗ C^{*}_{\Phi} as pivot between V ⁡ ( ℋ t , x t ) V(\mathcal{H}_{t},x_{t}) and V ⁡ ( φ ⁡ ( ℋ t ) , x t ) V(\varphi(\mathcal{H}_{t}),x_{t}) yields the following decomposition.

###### Proposition 1 (Regret Decomposition) .

For any deployed evolver φ ∈ Φ \varphi\in\Phi , 𝔼 x t ​ [ Regret ​ ( φ , x t ) ] = L evo ​ ( Φ ) + L adapt ​ ( φ ) , \mathbb{E}_{x_{t}}[\text{Regret}(\varphi,x_{t})]=L_{\text{evo}}(\Phi)+L_{\text{adapt}}(\varphi), (4) where L evo ​ ( Φ ) \displaystyle L_{\text{evo}}(\Phi) = 𝔼 x t ​ [ V ⁡ ( ℋ t , x t ) − V ⁡ ( C Φ ∗ ​ ( x t ) , x t ) ] , \displaystyle=\mathbb{E}_{x_{t}}\!\bigl[V(\mathcal{H}_{t},x_{t})-V(C^{*}_{\Phi}(x_{t}),x_{t})\bigr], (5) L adapt ​ ( φ ) \displaystyle L_{\text{adapt}}(\varphi) = 𝔼 x t ​ [ V ⁡ ( C Φ ∗ ​ ( x t ) , x t ) − V ⁡ ( φ ⁡ ( ℋ t ) , x t ) ] . \displaystyle=\mathbb{E}_{x_{t}}\!\bigl[V(C^{*}_{\Phi}(x_{t}),x_{t})-V(\varphi(\mathcal{H}_{t}),x_{t})\bigr]. (6)

L evo L_{\text{evo}} is the evolution loss : it reflects the evolver class Φ \Phi ’s capability gap, regardless of how many cycles the evolver runs. A single-agent prompt editor cannot produce multi-file infrastructure; that ceiling is structural, not a matter of effort. Reducing L evo L_{\text{evo}} therefore requires pursuing more capable evolver systems with access to broader control and feedbacks. L adapt L_{\text{adapt}} is the adaptation loss : the oracle builds the optimal harness per task, but a deployed φ \varphi commits to one harness before seeing x t x_{t} . Therefore, even with an optimal evolver system, L adapt L_{\text{adapt}} exists as long as task heterogeneity persists.

Human-in-the-loop as a third axis. The decomposition assumes ℋ t \mathcal{H}_{t} contains relevant signal for x t x_{t} . When it does not, the regret decomposition no longer applies; we address this case via a third axis outside L evo + L adapt L_{\text{evo}}+L_{\text{adapt}} , the human-in-the-loop channel (§ 3.5 ).

### 3.3 Sustained Auto-Harness via Multi-Agent Evolution

The analytical decomposition identifies L evo L_{\text{evo}} as the loss from harness capabilities that the evolver class cannot construct from history. We reduce this loss by expanding Φ \Phi with a stateful four-phase multi-agent evolver, temporal-reveal feedback, and cross-cycle memory (Figure 3 ). This design targets the unbounded-stream failure where a single-agent evolver must absorb growing trajectories, delayed labels, and prior research within one context window. Concretely, we address three structural limitations:

(1) Multi-agent with distinct roles and objectives. Because unbounded streams keep expanding the trajectory history an evolver must interpret, existing single-agent evolvers must fit analysis, research, implementation, and verification into one context window. We decompose evolution into four phases (Analyze → \to Research → \to Build → \to Verify), each with a dedicated objective and full context budget. This eliminates the single-window bottleneck and lets parallel Researchers explore disjoint hypotheses without premature convergence.

(2) Temporal-reveal feedback. Under unbounded streams, labels arrive asynchronously (e.g., a prediction market resolves days after the trade). We implement a temporal-reveal gate that surfaces each task’s evaluation signal to the evolver only after its resolution date, providing a proper streaming feedback signal without leaking future information.

(3) Persistent cross-cycle state. We provide the evolver with a dedicated workspace that persists across cycles, containing a task board (prioritised failure analysis), research logs (tested hypotheses with pass/fail verdicts), architecture documentation (README), and verification tests. This cross-cycle memory enables the evolver to refine its construction ability over time and build upon prior evolution experience rather than restarting from scratch.

### 3.4 Solve-Time Adaptation via Harness-Tree Routing