A curated reading list on harness engineering for recursive self-improvement of LLM agents (EN/ZH).
99
15 commits
updated Sep 8, 2026
English | 中文
When the harness — the system around an LLM — learns to improve itself.
Overview · Optimization Ladder · Paper List · Scope · Contributing
A curated reading list on harness engineering as the substrate for recursive self-improvement (RSI) of LLM agents.
A harness is the system that surrounds a base model and orchestrates how it thinks and plans, calls tools and acts, perceives and manages context, stores artifacts, and evaluates its own results. This list is deliberately narrow: it collects work where the harness itself — its context, prompts, workflow, tools, or code — is the object that improves itself, i.e. where the system optimizes, searches, or evolves its own scaffolding, up to and including the loop where the harness is co-optimized with model weights.
This repository is inspired by Lilian Weng's blog post "Harness Engineering for Self-Improvement" (Jul 2026).
In focus — the harness improving itself: self-modifying agents, automated optimization/search of agentic workflows, self-evolving context and memory, prompt/workflow optimization, evolutionary program search over harness/agent code, and the joint harness+weights loop. Plus the auto-research systems that close a self-improvement loop, the evaluators that such loops optimize against, and the safety/rigor failure modes specific to self-evolving harnesses.
Out of focus — this list distinguishes self-improvement from design:
⭐ If you find this useful, please star the repo. PRs for missing papers and corrected links are welcome.
†denotes a preprint or a very recent arXiv posting whose metadata may still change.
The dominant narrative attributes agent capability to the underlying model. This reading list follows a complementary thesis: the layer between the raw model and the real-world context — the harness — is as decisive as the model's raw intelligence, and, crucially, it is a layer that can be made to improve itself.
Recursive Self-Improvement (RSI) dates back to I. J. Good (1965) and was named by Yudkowsky (2008): an AI uses its current intelligence to improve the machinery that produces its intelligence. In modern AI this loop rarely starts with a model rewriting its own weights. A more practical near-term path runs through the harness: the agent improves its own scaffolding, workflow, context management, and tools, which in turn enables a better successor.
The organizing question of this list is therefore narrow and specific: when does a harness improve itself, and how? Everything here is selected because the harness — not just the model, and not merely a human-authored design — is the thing being optimized, searched, or evolved.
flowchart LR
A["🤖 Agent + Harness"] -->|acts| B["🌍 Environment"]
B -->|traces & results| C["🔍 Evaluator"]
C -->|signal| D["🛠️ Self-modify<br/>prompts · context · workflow · tools · code"]
D -->|better scaffolding| A
classDef node fill:#1e1b4b,stroke:#7c3aed,stroke-width:2px,color:#e0e7ff;
class A,B,C,D node;
The progression of the object being self-improved inside a harness system, from most manual to most general. This ladder is the backbone of the list.
flowchart BT
L0["<b>L0</b> · Instruction prompts<br/><i>APE · OPRO · GEPA</i>"]
L1["<b>L1</b> · Context & memory<br/><i>ACE · ReasoningBank</i>"]
L2["<b>L2</b> · Workflow / graph<br/><i>ADAS · AFlow · GPTSwarm</i>"]
L3["<b>L3</b> · Harness / agent code<br/><i>DGM · SICA · Gödel Agent</i>"]
L4["<b>L4</b> · Optimizer / meta-harness<br/><i>STOP · Meta-Harness · MCE</i>"]
L5["<b>L5</b> · Harness + weights<br/><i>SIA · SEAL</i>"]
L0 --> L1 --> L2 --> L3 --> L4 --> L5
classDef rung fill:#0f172a,stroke:#22d3ee,stroke-width:2px,color:#e0f2fe;
class L0,L1,L2,L3,L4,L5 rung;
| Level | Self-Improved Object | Representative Work | Section |
|---|---|---|---|
| L0 | Instruction prompts | APE, OPRO, Promptbreeder, GEPA | 2.2 |
| L1 | Context / memory | ACE, Dynamic Cheatsheet, ReasoningBank | 2.1 |
| L2 | Workflow / graph | ADAS, AFlow, GPTSwarm, AgentSquare | 2.3 |
| L3 | Harness / agent code | STOP, Gödel Agent, DGM, SICA, Self-Harness | 2.4 |
| L4 | Optimizer / meta-harness code | Meta-Harness, MCE, Meta Agent Search | 2.4 |
| L5 | Harness + model weights (jointly) | SIA, SEAL | 2.6 |
| — | (boundary) model weights only | self-play, RLVR, synthetic data | §7 — out of focus |
| — | (boundary) the harness design itself | ReAct, SWE-agent, AutoGen, MCP | §7 — out of focus |
As the model becomes more capable, the field moves down this table: toward more complex self-improved targets and more general mechanisms. Below L5 lies pure model-weight self-improvement; outside the ladder entirely lies human-authored harness design. Both are treated as adjacent, not core.
| Year | Milestone | Significance |
|---|---|---|
| 1965 | I. J. Good — "ultraintelligent machine" | First articulation of an intelligence explosion via self-design |
| 2008 | Yudkowsky — "Recursive Self-Improvement" | Names the RSI feedback loop |
| 2023 | Reflexion, Voyager, DSPy, Promptbreeder, STOP, FunSearch | Verbal self-improvement loops, self-growing skills, compiled pipelines, self-referential improvers |
| 2024 | ADAS, AFlow, GPTSwarm, Agent Symbolic Learning, TextGrad | Automated agent/workflow optimization; textual "backprop" over harness parts |
| 2025 | AlphaEvolve, ShinkaEvolve, DGM, SICA, ACE, GEPA, SEAL | Evolutionary coding agents; self-modifying agents; self-evolving context; self-adapting weights |
| 2026 | Meta-Harness, MCE, Self-Harness, AutoHarness, Hyperagents, SIA | Harnesses that improve harnesses; joint harness+weight loops |
This is the heart of the list. Each subsection is a rung of the optimization ladder: a different part of the harness that the system learns to improve on its own.
L1 of the ladder: the agent curates and grows its own context/memory from experience, improving without weight updates.
L0 of the ladder: the harness's instruction layer as the object that gets optimized.
L2 of the ladder: the agentic workflow/graph is searched and optimized automatically, rather than hand-designed.
L3–L4 of the ladder: the harness/agent code — and the code that optimizes it — as the object of self-modification. The most direct realization of the theme.
The engine behind self-improving coding agents: an LLM proposes edits, an evaluator scores them, and the agent's own code/algorithms evolve over a population. These are the mechanisms that DGM, Meta-Harness, and Self-Harness build on.
EVOLVE-BLOCK regions; discovered a 48-mult 4×4 matrix algorithm.L5 of the ladder: the boundary where harness improvement and weight updates happen in the same loop. This is the deepest in-focus rung; pure weight-only self-improvement is out of focus.
Auto-research is included only where the system forms a closed self-improvement loop — it reviews, critiques, and builds on its own outputs — rather than a one-shot designed pipeline. It is where evaluation, memory, and self-correction must all come together.
A self-improvement loop is only as good as its evaluator. These benchmarks and verifiers are the signal a self-improving harness optimizes against — and their weaknesses are its blind spots.
The failure modes that gate real RSI. The evaluator and permission control should sit outside the loop that evolves the harness.
These areas are close to the theme but deliberately not its subject. They are listed only to mark the boundary; each group is intentionally short and non-exhaustive.
A. Harness design patterns — the editable substrate, not self-improvement. These works define how to build a good harness. They are the surface the §2 methods act on, but they are hand-authored design, not systems that improve themselves.
Execution loop: ReAct (2210.03629), Self-Refine (2303.17651), ReWOO (2305.18323).
Coding-agent harnesses: SWE-agent (2405.15793), OpenHands (2407.16741), CodeAct (2402.01030), Agentless (2407.01489).
Multi-agent frameworks: AutoGen (2308.08155), MetaGPT (2308.00352).
Memory/state & runtimes: MemGPT (2310.08560), AIOS (2403.16971), MCP (2503.23278).
Practitioner reports: Building Effective Agents (Anthropic), Effective Context Engineering (Anthropic).
HAT — "Training Agents to Evolve with Their Harness: TaoLive Digital Avatar Agent Technical Report". TaoLive AIGC LLM Team. arXiv 2026.† [paper] — Trains agents to use changing harnesses and evaluates developer-reviewed edits with frozen weights; a training-and-evaluation boundary reference, not an autonomous harness improver.
B. Purely model-weight self-improvement — improves the model, not the harness.
When these are co-optimized with the harness in one loop, the relevant work lives in §2.6 instead.
Open problems where current self-improving harnesses provide partial solutions but no general, production-grade infrastructure:
Pull requests are very welcome! 🎉 This list is meant to be a living, community-maintained resource. If you know of a paper we missed, spot an outdated or broken link, or have a better one-line summary, please open a pull request or start an issue. Every contribution — big or small — is appreciated.
Please respect the scope: the harness (context, prompts, workflow, tools, code) must be the object that improves itself, or a direct evaluator of such a loop. Harness design work and purely model-weight methods belong in §7 at most.
Please open a PR that:
**Name** — "Title". Authors. Venue Year. [[paper]](link) — one-line description tying it to harness self-improvement.† for preprints or very recent postings.Accuracy note: entries marked
†include recent (2025–2026) preprints whose arXiv IDs, authorship, or venues may still change. Please verify links before citing in formal work.
If you find this list useful, please consider citing this repository:
@misc{awesome_self_improving_harness,
title = {Awesome Harness Engineering for Self-Improvement},
author = {leezythu},
year = {2026},
howpublished = {\url{https://github.com/leezythu/Awesome-Harness-Self-Improvement}}
}
A curated reading list on harness engineering for recursive self-improvement of LLM agents (EN/ZH).
99
15 commits
updated Sep 8, 2026
English | 中文
When the harness — the system around an LLM — learns to improve itself.
Overview · Optimization Ladder · Paper List · Scope · Contributing
A curated reading list on harness engineering as the substrate for recursive self-improvement (RSI) of LLM agents.
A harness is the system that surrounds a base model and orchestrates how it thinks and plans, calls tools and acts, perceives and manages context, stores artifacts, and evaluates its own results. This list is deliberately narrow: it collects work where the harness itself — its context, prompts, workflow, tools, or code — is the object that improves itself, i.e. where the system optimizes, searches, or evolves its own scaffolding, up to and including the loop where the harness is co-optimized with model weights.
This repository is inspired by Lilian Weng's blog post "Harness Engineering for Self-Improvement" (Jul 2026).
In focus — the harness improving itself: self-modifying agents, automated optimization/search of agentic workflows, self-evolving context and memory, prompt/workflow optimization, evolutionary program search over harness/agent code, and the joint harness+weights loop. Plus the auto-research systems that close a self-improvement loop, the evaluators that such loops optimize against, and the safety/rigor failure modes specific to self-evolving harnesses.
Out of focus — this list distinguishes self-improvement from design:
⭐ If you find this useful, please star the repo. PRs for missing papers and corrected links are welcome.
†denotes a preprint or a very recent arXiv posting whose metadata may still change.
The dominant narrative attributes agent capability to the underlying model. This reading list follows a complementary thesis: the layer between the raw model and the real-world context — the harness — is as decisive as the model's raw intelligence, and, crucially, it is a layer that can be made to improve itself.
Recursive Self-Improvement (RSI) dates back to I. J. Good (1965) and was named by Yudkowsky (2008): an AI uses its current intelligence to improve the machinery that produces its intelligence. In modern AI this loop rarely starts with a model rewriting its own weights. A more practical near-term path runs through the harness: the agent improves its own scaffolding, workflow, context management, and tools, which in turn enables a better successor.
The organizing question of this list is therefore narrow and specific: when does a harness improve itself, and how? Everything here is selected because the harness — not just the model, and not merely a human-authored design — is the thing being optimized, searched, or evolved.
flowchart LR
A["🤖 Agent + Harness"] -->|acts| B["🌍 Environment"]
B -->|traces & results| C["🔍 Evaluator"]
C -->|signal| D["🛠️ Self-modify<br/>prompts · context · workflow · tools · code"]
D -->|better scaffolding| A
classDef node fill:#1e1b4b,stroke:#7c3aed,stroke-width:2px,color:#e0e7ff;
class A,B,C,D node;
The progression of the object being self-improved inside a harness system, from most manual to most general. This ladder is the backbone of the list.
flowchart BT
L0["<b>L0</b> · Instruction prompts<br/><i>APE · OPRO · GEPA</i>"]
L1["<b>L1</b> · Context & memory<br/><i>ACE · ReasoningBank</i>"]
L2["<b>L2</b> · Workflow / graph<br/><i>ADAS · AFlow · GPTSwarm</i>"]
L3["<b>L3</b> · Harness / agent code<br/><i>DGM · SICA · Gödel Agent</i>"]
L4["<b>L4</b> · Optimizer / meta-harness<br/><i>STOP · Meta-Harness · MCE</i>"]
L5["<b>L5</b> · Harness + weights<br/><i>SIA · SEAL</i>"]
L0 --> L1 --> L2 --> L3 --> L4 --> L5
classDef rung fill:#0f172a,stroke:#22d3ee,stroke-width:2px,color:#e0f2fe;
class L0,L1,L2,L3,L4,L5 rung;
| Level | Self-Improved Object | Representative Work | Section |
|---|---|---|---|
| L0 | Instruction prompts | APE, OPRO, Promptbreeder, GEPA | 2.2 |
| L1 | Context / memory | ACE, Dynamic Cheatsheet, ReasoningBank | 2.1 |
| L2 | Workflow / graph | ADAS, AFlow, GPTSwarm, AgentSquare | 2.3 |
| L3 | Harness / agent code | STOP, Gödel Agent, DGM, SICA, Self-Harness | 2.4 |
| L4 | Optimizer / meta-harness code | Meta-Harness, MCE, Meta Agent Search | 2.4 |
| L5 | Harness + model weights (jointly) | SIA, SEAL | 2.6 |
| — | (boundary) model weights only | self-play, RLVR, synthetic data | §7 — out of focus |
| — | (boundary) the harness design itself | ReAct, SWE-agent, AutoGen, MCP | §7 — out of focus |
As the model becomes more capable, the field moves down this table: toward more complex self-improved targets and more general mechanisms. Below L5 lies pure model-weight self-improvement; outside the ladder entirely lies human-authored harness design. Both are treated as adjacent, not core.
| Year | Milestone | Significance |
|---|---|---|
| 1965 | I. J. Good — "ultraintelligent machine" | First articulation of an intelligence explosion via self-design |
| 2008 | Yudkowsky — "Recursive Self-Improvement" | Names the RSI feedback loop |
| 2023 | Reflexion, Voyager, DSPy, Promptbreeder, STOP, FunSearch | Verbal self-improvement loops, self-growing skills, compiled pipelines, self-referential improvers |
| 2024 | ADAS, AFlow, GPTSwarm, Agent Symbolic Learning, TextGrad | Automated agent/workflow optimization; textual "backprop" over harness parts |
| 2025 | AlphaEvolve, ShinkaEvolve, DGM, SICA, ACE, GEPA, SEAL | Evolutionary coding agents; self-modifying agents; self-evolving context; self-adapting weights |
| 2026 | Meta-Harness, MCE, Self-Harness, AutoHarness, Hyperagents, SIA | Harnesses that improve harnesses; joint harness+weight loops |
This is the heart of the list. Each subsection is a rung of the optimization ladder: a different part of the harness that the system learns to improve on its own.
L1 of the ladder: the agent curates and grows its own context/memory from experience, improving without weight updates.
L0 of the ladder: the harness's instruction layer as the object that gets optimized.
L2 of the ladder: the agentic workflow/graph is searched and optimized automatically, rather than hand-designed.
L3–L4 of the ladder: the harness/agent code — and the code that optimizes it — as the object of self-modification. The most direct realization of the theme.
The engine behind self-improving coding agents: an LLM proposes edits, an evaluator scores them, and the agent's own code/algorithms evolve over a population. These are the mechanisms that DGM, Meta-Harness, and Self-Harness build on.
EVOLVE-BLOCK regions; discovered a 48-mult 4×4 matrix algorithm.L5 of the ladder: the boundary where harness improvement and weight updates happen in the same loop. This is the deepest in-focus rung; pure weight-only self-improvement is out of focus.
Auto-research is included only where the system forms a closed self-improvement loop — it reviews, critiques, and builds on its own outputs — rather than a one-shot designed pipeline. It is where evaluation, memory, and self-correction must all come together.
A self-improvement loop is only as good as its evaluator. These benchmarks and verifiers are the signal a self-improving harness optimizes against — and their weaknesses are its blind spots.
The failure modes that gate real RSI. The evaluator and permission control should sit outside the loop that evolves the harness.
These areas are close to the theme but deliberately not its subject. They are listed only to mark the boundary; each group is intentionally short and non-exhaustive.
A. Harness design patterns — the editable substrate, not self-improvement. These works define how to build a good harness. They are the surface the §2 methods act on, but they are hand-authored design, not systems that improve themselves.
Execution loop: ReAct (2210.03629), Self-Refine (2303.17651), ReWOO (2305.18323).
Coding-agent harnesses: SWE-agent (2405.15793), OpenHands (2407.16741), CodeAct (2402.01030), Agentless (2407.01489).
Multi-agent frameworks: AutoGen (2308.08155), MetaGPT (2308.00352).
Memory/state & runtimes: MemGPT (2310.08560), AIOS (2403.16971), MCP (2503.23278).
Practitioner reports: Building Effective Agents (Anthropic), Effective Context Engineering (Anthropic).
HAT — "Training Agents to Evolve with Their Harness: TaoLive Digital Avatar Agent Technical Report". TaoLive AIGC LLM Team. arXiv 2026.† [paper] — Trains agents to use changing harnesses and evaluates developer-reviewed edits with frozen weights; a training-and-evaluation boundary reference, not an autonomous harness improver.
B. Purely model-weight self-improvement — improves the model, not the harness.
When these are co-optimized with the harness in one loop, the relevant work lives in §2.6 instead.
Open problems where current self-improving harnesses provide partial solutions but no general, production-grade infrastructure:
Pull requests are very welcome! 🎉 This list is meant to be a living, community-maintained resource. If you know of a paper we missed, spot an outdated or broken link, or have a better one-line summary, please open a pull request or start an issue. Every contribution — big or small — is appreciated.
Please respect the scope: the harness (context, prompts, workflow, tools, code) must be the object that improves itself, or a direct evaluator of such a loop. Harness design work and purely model-weight methods belong in §7 at most.
Please open a PR that:
**Name** — "Title". Authors. Venue Year. [[paper]](link) — one-line description tying it to harness self-improvement.† for preprints or very recent postings.Accuracy note: entries marked
†include recent (2025–2026) preprints whose arXiv IDs, authorship, or venues may still change. Please verify links before citing in formal work.
If you find this list useful, please consider citing this repository:
@misc{awesome_self_improving_harness,
title = {Awesome Harness Engineering for Self-Improvement},
author = {leezythu},
year = {2026},
howpublished = {\url{https://github.com/leezythu/Awesome-Harness-Self-Improvement}}
}