# Harness Updating ≠ Harness Benefit

**Paper:** Lin, Wu, Wang et al. (2026) — *Harness Updating Is Not Harness Benefit: Disentangling Evolution Capabilities in Self-Evolving LLM Agents*. arXiv:2605.30621v1, 2026-05-28.
**Affiliációk:** Penn State, UCSC, Amazon, Emory, UIUC, Northeastern.
**Kód:** https://github.com/A-EVO-Lab/a-evolve/tree/release/harness-evolution

---

## 1. Összegzés
A paper a **harness self-evolution** területén végzett első kontrollált capability-analízist. Formálisan szétválasztja a post-evolution score-t három komponensre: `M_base(f)` (alap task-solving képesség), `Δ_update(e)` (evolver frissítési képessége), `Δ_benefit(f)` (task-solving agent frissítés-hasznosítási képessége).

Két meglepő empirikus felfedezés 7 LLM × 3 benchmark grid-en: (1) **A harness-updating „flat”** — a 9B-s Qwen3.5-9B evolver ugyanolyan jó update-eket ír, mint a Claude Opus 4.6; a `Δ_update` maximális eltérése ≤ 3.1 százalékpont. (2) **A harness-benefit „non-monotonic”** — gyenge modellek alig benefitálnak, középkategóriás modellek (pl. GPT-OSS-120B, Qwen3-235B) a legtöbbet, erős modellek kevesebbet a performance ceiling miatt.

Három gyakorlati javaslat: (i) capability budget a task-solving agent-be, nem az evolver-be; (ii) harness invocation beépítése az agent trainingbe; (iii) long-horizon instruction following erősítése. [forrás: Abstract, §1, §5]

---

## 2. Háttér és definíciók

**External harness:** a fagyasztott modell köré épülő, szerkeszthető külső artifact-ok: `H_t = (P_t, S_t, M_t, T_t)` — prompt, skills, memory, tool. Az agent: `A_t = (f, H_t)`.

**Harness self-evolution:** iteratív `solve → evolve` ciklus. Minden lépésben az `A_{t-1}` megold egy task batch-et, az evidence-ból (`D_t`) az evolver (`e`) frissíti a harness-t: `H_t = Apply(H_{t-1}, e(H_{t-1}, D_t))`. A modell súlyai végig fixek.

**Két cél-képesség:**
- **Harness-updating** (`Δ_update(e)`): az evolver képessége, hogy hasznos update-eket gyártson.
- **Harness-benefit** (`Δ_benefit(f)`): a modell képessége, hogy a frissített harness-ből profitáljon.
- **Base capability** (`M_base(f)`): task-solving performance evolution nélkül.

A korábbi self-evolution munkák (Sirius, Evo-Memory, SE-Agent, A1, GEPA, ACE, SkillRL, EvoSkill) end-to-end score-okat jelentenek — egy szám mondja meg, „javult-e az ágens”. Ez a szám három forrást konfundál. A paper ezt a hármas konfundálást bontja szét először kontrolláltan. [forrás: §3.1–3.3, §2]

---

## 3. A két fő felfedezés

### Finding 1: Harness-updating is FLAT in base capability

**Setup:** fix task-solving agent (Opus 4.6, Sonnet 4.6, Qwen3-235B), 7 különböző evolver.

| Benchmark | Legjobb–legrosszabb evolver eltérés | Megjegyzés |
|---|---|---|
| SWE-bench | 2.3 pp (8.2 – 5.9) | Qwen3-235B evolver vezet |
| MCP-Atlas | 3.1 pp (3.6 – 0.5) | Opus 4.6 evolver vezet |
| SkillsBench | 3.1 pp (3.8 – 0.7) | **Qwen3.5-9B evolver vezet** |

A `Δ_update` szórása keskeny (≤ 3.1 pp), és **nincs olyan modell, ami minden benchmarkon nyer**. A 9B-s Qwen3.5-9B a SkillsBench-en a legjobb evolver, megelőzve az Opus 4.6-ot.

**Case study (flink-query, SkillsBench):** Ugyanaz az Opus 4.6 ágens három kondícióban. Evolver nélkül 0.67 (kihagyja a FINISH-event filtert). Qwen3.5-9B skilljével 1.0. Opus 4.6 skilljével 1.0. A két skill **procedurálisan izomorf** — ugyanaz az 5 lépés, csak az implementációs surface más. A 9B open-source evolver tehát ugyanazt a procedurális tartalmat éri el, mint a frontier modell. [forrás: §4.2 Obs. 1, Fig. 3–4]

**Implication:** az evolver képessége NEM a fő limitáció. Erős LLM-be fektetni az evolver szerepre alacsony megtérülésű.

### Finding 2: Harness-benefit is NON-MONOTONIC in base capability

**Setup:** 6 task-solving agent, 3 anchor evolver, 3 benchmark.

| Agent | SWE base → Δ_benefit | MCP base → Δ_benefit | SB base → Δ_benefit |
|---|---|---|---|
| Qwen3-32B (weak) | 3.6 → 4.4 | 3.6 → 1.0 | 0.0 → 5.8 |
| Qwen3-235B (mid) | 20.7 → **19.3** | 25.0 → 4.3 | 4.7 → 1.1 |
| GPT-OSS-120B (mid) | 26.2 → 15.8 | 28.0 → **7.0** | 0.0 → 7.0 |
| Haiku 4.5 | 66.0 → 2.4 | 42.4 → 3.6 | 5.8 → 15.1 |
| Sonnet 4.6 (strong) | 73.2 → 2.8 | 54.0 → 3.2 | 24.4 → 3.5 |
| Opus 4.6 (strong) | 74.2 → 2.6 | 61.0 → 3.6 | 25.6 → 5.8 |

A görbe nem monoton: a **középkategóriás modellek benefitálnak a legtöbbet**, a strong-tier kevesebbet (ceiling effect), a weak-tier alig. [forrás: §4.3 Obs. 1, Tab. 1, Fig. 6]

**Két végponthoz két magyarázat:**
- **Strong oldal:** ceiling effect — az erős modellek már az `H_0`-val is sok feladatot megoldanak.
- **Weak oldal:** NEM ceiling effect — a weak-tier modelleknek van headroom, mégsem benefitálnak. Más baj van velük (lásd §4).

**Extreme pairing teszt (Tab. 6):** A leggyengébb anchor agent + neki legjobb evolver kontra a legerősebb anchor agent + neki legrosszabb evolver. A strong agent **minden benchmarkon 18.6–35.2 pp-vel vezet** — az evolver-választás nem tudja kompenzálni a base capability szakadékot. [forrás: Appendix C.3]

**Implication:** a task-solving agent képessége a fő limitáció — és a gyenge modelleknél ez egy tanítható, specifikus deficit.

---

## 4. Weak-tier failure modes

A weak-tier modellek alacsony `Δ_benefit`-jének okait a SkillsBench-en boncolják.

### Failure Mode 1: Harness invocation failure (aktivációs hiba)

A modell **nem is tölti be a releváns skillt a kontextusba**.

| Modell | SLR (load rate) | HFR (adherence) | LPR (pass-when-loaded) |
|---|---|---|---|
| Qwen3-32B (weak) | **0.251** | 0.142 | 0.023 |
| GPT-OSS-120B | 0.446 | 0.442 | 0.040 |
| Haiku 4.5 | 0.794 | 0.600 | 0.099 |
| Qwen3-235B | 0.961 | 0.350 | 0.022 |
| Sonnet 4.6 | 0.959 | 0.730 | 0.145 |
| Opus 4.6 (strong) | **0.957** | 0.757 | 0.177 |

A Qwen3-32B az esetek 75%-ában **egyáltalán nem tölti be a skillt**.

**Case study (threejs task):** A Qwen3-32B turn 0-nál helyesen azonosítja a releváns skillt — de multi-key JSON actiont produkál (`analysis` + `plan` + `load_skill` egyszerre). A SkillsBench format gate csak single-key action-öket fogad el, ezért a kérést elutasítja. **A skill body soha nem kerül a kontextusba.** A hiba nem a task understanding szintjén, hanem az **action-protocol szintjén** van. [forrás: §4.3 Obs. 2, Tab. 2, Appendix D.1]

### Failure Mode 2: Harness adherence failure (betartási hiba)

A modell **betölti a skillt, de nem követi hűen a hosszú trajectory során**.

| Trajectory fázis | Qwen3-32B (weak) | GPT-OSS-120B (mid) | Opus 4.6 (strong) |
|---|---|---|---|
| Harness loaded (turn 1) | 0.52 | 0.67 | 0.89 |
| Mid turn | 0.22 | 0.48 | 0.79 |
| Final turn | 0.13 | 0.43 | 0.80 |
| **Drift (load → final)** | **−0.39** | **−0.24** | **−0.09** |

A weak-tier adherence decay **4× erősebb**, mint a strong-tieré. A Qwen3-32B betartja a harness-t, amíg frissen töltve van, de a trajectory végére gyakorlatilag elveszti.

**Case study (pg-essay-to-audiobook):** A skill egy TTS-fallback láncot ír elő. A Qwen3-32B betölti a skillt, de **literal scriptként kezeli** egy procedúra helyett. Az első step `FileNotFoundError`-t dob, a modell a további turn-ökön át sem hívja meg a fallback lépéseket — turn 10-re kiadja a `task_complete:true`-t. **A hiba a procedural-execution szintjén** van. [forrás: §4.3 Diagnosis, Tab. 3, Appendix D.1]

**Összefoglaló minta:** „Weak-tier models do not fail to read the harness, they fail to operate under it.”

---

## 5. Methodológia

- **Harness State:** `H_t = (P_t, S_t, M_t, T_t)`
- **Agent:** `A_t = (f, H_t)` — fagyasztott modell + harness
- **Evolver:** `e` — LLM, ami execution evidence-ből update-eket produkál
- **In-situ scoring:** minden task score-ja `H_{t-1}` alatt lockolódik, mielőtt az evidence a `D_t`-be kerül

**Benchmarkek:**

| Benchmark | Feladat | Task | Editálható |
|---|---|---|---|
| SWE-bench Verified | Long-horizon GitHub-issue repair | 500 (12 Python repo) | `skills/` |
| MCP-Atlas | Multi-server tool orchestration | 500 (36 MCP szerver, 220 tool) | `prompts/`, `skills/`, `memory/` |
| SkillsBench | Skill-based execution, 11 domain | 86 | `skills/` |

A `tools/` és evaluation fájlok minden benchmarkon read-only-k.

**7 LLM:** Claude Opus 4.6, Sonnet 4.6, Haiku 4.5 (closed) + Qwen3-235B-A22B, Qwen3-32B, Qwen3.5-9B, GPT-OSS-120B (open). A Qwen3.5-9B kifejezetten az evolver-kérdés tesztelésére van: „tud-e egy szignifikánsan kisebb nyílt modell is hasznos update-eket produkálni?” — és igen. [forrás: §3, §4.1, Appendix B]

---

## 6. Három gyakorlati javaslat

### (i) Capability budget → task-solving agent, NEM az evolver
Mert `Δ_update` flat (≤ 3.1 pp szórás) → az evolver képessége nem szűk keresztmetszet. Mert a post-evolution score-t a task-solving agent base capability dominálja. **Ne használj erős LLM-et evolvernek „mert többet tud”** — a 9B-s modell is ugyanolyan jó update-eket ír. [forrás: §4.2 Take-away]

### (ii) Bake harness invocation into agent training
A weak-tier modellek 25%-os skill-load rate-je az elsődleges limitáció. Treat harness invocation as a first-class learned skill. Reward signal: „has loaded the relevant skill?” → training objective. Action-protocol training: a runner által elvárt formátum betartása. [forrás: §4.3 Take-away (i)]

### (iii) Strengthen long-horizon instruction following
A weak-tier adherence decay 4× erősebb (0.52 → 0.13 vs. 0.89 → 0.80). Long-horizon trajectory instruction fidelity training prior. Phase-level adherence score mérése a training alatt. Procedural vs. literal execution megkülönböztetése: a skill egy kontingens eljárás, nem literális szkript. [forrás: §4.3 Take-away (ii)]

---

## 7. Kapcsolódó kutatások

- **Harness Engineering:** A1, GEPA, TextGrad, DSPy, ACE (prompt-optimalizálás); EvolveR, MemEvolve, MemMA (memória); Voyager, AWM, SkillRL, EvoSkill (skill); ToolLLM, Yunjue (tool); Meta-harness, Code-as-harness.
- **Self-evolving agents:** Sirius, Evo-Memory, SE-Agent, A-EVO-Lab — in-situ self-evolution módszerek.
- **A paper különbsége:** a korábbi munkák end-to-end score-okat jelentenek; ez a paper **kontrollált capability-analízist** ad: vary agent + evolver independently, measure `Δ_update` + `Δ_benefit` separately. [forrás: §2, Appendix A]

---

## 8. Limitációk

- 7 LLM, 3 benchmark — reprezentatív, de nem kimerítő. A `Δ_update` flat eredmény lehet specific ezekre a szubtrátumokra.
- A weak-tier failure mode-ok mechanizmusa részben feltárt (action-protocol és procedural-execution szinten), de a teljes ok-okozati lánc nem.
- Nincs paraméteres fine-tuning vizsgálat — kifejezetten a harness self-evolution-ra fókuszál, a hibrid RL + harness adaptáció open question.
- A persistent harness privacy / auditability / update-reversibility kockázatait jelzik, de empirikusan nem vizsgálják. [forrás: §6, §7]

---

## 9. Legütősebb idézetek

> *"Our case studies further show that even the Qwen3.5-9B evolver produces harness updates whose downstream gains match those of Claude Opus 4.6, despite a large gap in base capability."*
> „Esettanulmányaink azt mutatják, hogy még a Qwen3.5-9B evolver is olyan harness update-eket produkál, amelyek downstream hatása megegyezik a Claude Opus 4.6-éval — pedig a base képességeik között hatalmas a szakadék.” [§1]

> *"Allocate capability budget to the task-solving agent, not the evolver: (i) `Δ_update` varies by at most 3.1 pp across evolvers on any benchmark, and (ii) post-evolution score is dominated by the agent's base capability."*
> „A capability budget-t a task-solving agent-be fektessük, nem az evolver-be: (i) a `Δ_update` bármely benchmarkon ≤ 3.1 százalékpontot változik, (ii) a post-evolution score-t az agent base capability dominálja.” [§4.2]

> *"Weak-tier models do not fail to read the harness, they fail to operate under it."*
> „A weak-tier modellek nem a harness olvasásában buknak el, hanem annak betartásában.” [Appendix D.1]

> *"End-to-end scores cannot disentangle these contributions, leaving two practical questions open: which models produce useful harness updates, and which models benefit most from them?"*
> „Az end-to-end score-ok nem tudják szétválasztani a hozzájárulásokat — két gyakorlati kérdés marad nyitva: mely modellek írnak hasznos update-eket, és melyek benefitálnak belőlük a legtöbbet?” [§1]

> *"Weak-tier models often fail to load the harness at all (e.g., 25% load rate for Qwen3-32B against ≈96% for strong models), so harness invocation should be treated as a first-class learned skill."*
> „A weak-tier modellek gyakran egyáltalán nem töltik be a harness-t (25% vs. ≈96%), ezért a harness invocation-t first-class learned skill-ként kell kezelni.” [§1]

> *"This graded drift suggests a long-horizon instruction-following bottleneck: weaker models progressively lose adherence as the trajectory unfolds, rather than merely misreading the harness at load time."*
> „Ez a fokozatos drift long-horizon instruction-following bottleneck-ra utal: a gyengébb modellek fokozatosan vesztik el az adherence-t, nem csupán a betöltéskor értik félre a harness-t.” [§4.3]

---

## 10. Következtetés / szintézis

### Miért fontos ez a paper?

Az **első kontrollált empirikus evidencia**, hogy a harness self-evolution megtérülése a **task-solving agent fejlesztésében** van, nem az evolverében. Eddig a default narratíva az volt, hogy „használjunk erős LLM-et evolvernek, mert az jobb update-eket ír”. Ez a paper megmutatja, hogy ez **alacsony megtérülésű**: a 9B-s open-source modell ugyanolyan jó update-eket ír, sőt a SkillsBench-en jobbat is. A paradigmaváltás: a figyelem áttevődik a task-solving agent két konkrét, tanítható deficitjére — (1) harness invocation, (2) long-horizon instruction following.

### Hogyan illeszkedik a mi OpenClaw rendszerünkhöz?

A mi setup-unk **pont egy harness self-evolution rendszer**:

| Paper-fogalom | OpenClaw megfelelő |
|---|---|
| External harness | `SOUL.md`, `AGENTS.md`, `USER.md`, `MEMORY.md`, `HEARTBEAT.md`, cron payload-ok, skill-ek |
| Evolver | A pipeline (transcribe → summarize → wiki_raw → wiki_topic_update → rebuild → notify) |
| Task-solving agent | A modell (`ollama/minimax-m3:cloud`) |
| Harness invocation | Session startup: `SOUL` / `AGENTS` / `USER` / `MEMORY` betöltése |
| Harness adherence | A betöltött útmutatók hosszú conversation-ön át tartó betartása |
| `Δ_update` flat | A pipeline trükkössége alacsony megtérülésű |
| `Δ_benefit` non-monotonic | A modell task-solving képessége a fő limitáció |

### Konkrét teendők

1. **Session startup valóban töltse be a `MEMORY.md`-t.** A jelenlegi AGENTS.md checklist kihagyja, ha >8KB. A paper tanulsága: a harness invocation first-class kell legyen — ha a modell nem olvassa el, nem is tudja használni. Threshold emelése vagy tömörítés.

2. **Hosszú conversation-öknél long-horizon instruction fidelity erősítése.** A `HEARTBEAT.md` checklist formátuma már jó irány. Phase-level adherence tracking bevezetése a hosszú task-okhoz.

3. **Az evolvert egyszerűsíteni, nem trükkösíteni.** A jelenlegi pipeline már elég összetett. A `Δ_update` flat eredmény azt sugallja, hogy a pipeline-bonyolítás alacsony hozamú. A skálázhatóbb stratégia: a **task-solving agent** (modell) fejlesztésére koncentrálni.

4. **A `MEMORY.md` review-ciklus kiegészítése phase-adherence méréssel.** A paper Tab. 3 mintájára: 5 fázisra bontott adherence score-okat időnként mérni a hosszú task-okon.

### Nyitott kérdés

A paper a `Δ_update` flat-ságát prompt + skill + memory szintű update-ekre mutatja, de nem vizsgálja, hogy code-as-harness vagy más reprezentációkra is igaz-e. A mi rendszerünkben az evolver a memóriát írja (wiki topic update) — vajon erre is igaz, hogy „bármelyik LLM elég”, vagy a memória-szintézis más kompetencia? A jelenlegi architektúrában az evolver-szerep (wiki_topic_update) és a task-solving szerep (fő beszélgetés) implicit kettéválasztása a paper tanulsága alapján tervezetten kezelendő.

---

*Összefoglaló készült: 2026-06-11. Forrás: arXiv:2605.30621v1 (2026-05-28).*
