· 7 min read
Recursive Improvement Is Already Here—and It’s Mostly a Harness Problem
By G. Taylor
- opinion
- guides
I think the most important form of AI recursive improvement will happen without a model training itself, rewriting its weights, or becoming an autonomous research scientist. The practical version is less cinematic and more consequential: engineers will use models to improve the prompts, harnesses, evaluations, memory systems, and agent architectures that determine how those same models perform tomorrow.
That claim cuts against the usual framing. “Recursive self-improvement” evokes a model changing its own internals in a runaway feedback loop. But for people building software, the model weights are only one layer of the system. An agent that can inspect failed runs, propose a better tool description, add a regression test, repair retrieval metadata, or split a task into safer stages has improved the system that gives it leverage. If the revised system produces better artifacts and makes the next round of improvement easier, the loop is recursive in the way that matters operationally.
The model is not the whole product
A base model is better understood as a capable but inconsistent component. Give it a vague task, an overloaded prompt, a filesystem full of irrelevant context, and an evaluator that accepts plausible-looking nonsense, and it will disappoint you. Give that identical model a clear contract, constrained tools, useful repository context, a staged workflow, and tests that reject bad changes, and it can look dramatically more competent.
This is not a superficial distinction. A prompt is a policy document. A tool schema is an API design decision. A memory system is a data model. An evaluator is a specification with enforcement. An agent architecture decides which actions are cheap, which require approval, and which failures become visible. Calling all of that “just scaffolding” is like calling compilers, type systems, test suites, and deployment pipelines scaffolding around a programming language. The surrounding machinery determines what competent work is possible at scale.
The key opportunity is that LLMs can help engineer this machinery. They can cluster failure traces, draft evaluator cases from incidents, identify instructions that conflict, propose smaller tool interfaces, summarize persistent project facts, and generate candidate workflow variants. Humans still need to decide what correctness means. But once that definition exists in executable or reviewable form, the system can participate in making itself more reliable.
The compounding loop is real, but it needs a scoreboard
The loop starts with traces. Every serious agent deployment should collect enough evidence to answer basic questions: What was the user goal? What context did the agent receive? Which tools did it call? Where did it spend time or tokens? What artifact did it produce? Did the artifact pass a meaningful check? Without this, teams are not improving an agent; they are conducting prompt séance sessions and mistaking occasional success for progress.
Then comes evaluation. The most valuable evaluations are not generic benchmark questions detached from your work. They are a deliberately maintained set of tasks drawn from real failures, common requests, edge cases, and high-cost workflows. A coding agent’s suite might include a narrow bug fix, a cross-module refactor, a migration with tests, a request containing misleading repository clues, and a task where the correct answer is to stop and ask for clarification.
Once you have that scoreboard, models can generate improvement candidates: rewrite a system instruction, add a planning stage, change retrieval ranking, insert a test-first step, introduce a critic pass, or revise a tool’s return format. Run those candidates against held-out tasks and inspect the failures. Keep changes that improve the metrics you care about while staying within limits on cost, latency, security, and human-review burden. The system has not made itself magically smarter. It has made future model calls more productive, and that is plenty powerful.
- Treat production failures as evaluation seeds, not isolated annoyances.
- Separate development tasks from held-out tasks, or your agent will learn to flatter the test suite.
- Measure task success alongside cost, wall-clock time, tool errors, unnecessary changes, and reviewer acceptance.
- Require a rollback path for prompt, tool, retrieval, and workflow changes.
- Keep a human-readable change log explaining why an agent behavior was introduced.
Memory is where improvement becomes durable
Memory systems deserve more skepticism than they usually receive. Dumping every conversation into a vector database is not learning; it is often an expensive way to retrieve stale guesses. Durable memory should be curated, scoped, and revocable. For a software agent, useful memory includes architectural decisions, repository conventions, validated commands, service ownership, known traps, and lessons attached to a specific version of a system.
The recursive part comes from letting the agent propose memories from completed work, then validating them. If an incident reveals that a deployment command requires a particular preflight check, that lesson can become a structured rule. If future successful runs repeatedly confirm it, confidence grows. If the repository changes, the memory can expire or be challenged. This resembles institutional learning more than human recall: retain the hard-won constraint, attach provenance, and make it easy to correct.
That is also why open-weight models matter here, even when they are not the strongest raw models. A team can run controlled experiments, capture detailed traces, customize tool behavior, keep sensitive task data inside its boundary, and deploy a narrowly tuned workflow without waiting for a vendor’s product roadmap. The strategic asset is not merely having weights on disk. It is owning the improvement loop around them.
The strongest objection: this is not self-improvement
The strongest counterargument is that calling this recursive improvement overstates what is happening. The model is not independently discovering new algorithms, training a superior successor, or increasing its underlying reasoning capacity. Humans define the objective, supply the compute, review changes, and decide whether an evaluation represents reality. Worse, optimization against a fixed evaluation can create brittle systems that game the score while becoming less useful in the messy world. On this view, “recursive self-improvement” is a grand label for ordinary software engineering with an LLM in the loop.
That objection is correct about the limits and wrong about the conclusion. Yes, this is software engineering. That is exactly why it will matter. Software engineering has repeatedly multiplied the effectiveness of fixed underlying machines: compilers made hardware more usable, databases made disks more valuable, frameworks made libraries composable, and CI made change safer. None required the CPU to redesign its own silicon. We should not reserve the word “improvement” for an imagined future in which a model autonomously edits its own weights. A system that turns its own failures into better instructions, better checks, and better action policies is improving its future capability in a concrete, measurable sense.
The danger is not that teams will exaggerate the magic. The danger is that they will buy a more powerful model, point it at an under-instrumented workflow, and conclude that agents are unreliable. Reliability is not a property you download with model weights. It is constructed through constraints, feedback, and adversarial measurement.
Build the loop before chasing the next model
Engineering teams should stop treating prompts and agent workflows as disposable glue code. Put them under version control. Give them owners. Build evaluation suites from real work. Preserve traces with appropriate privacy controls. Let models propose improvements, but force those improvements through held-out tests and human review. Design memory as maintained knowledge, not an infinite transcript. And make every agent capable of saying, with evidence, that it does not have enough information to act.
The organizations that benefit most from AI will not be the ones that first access an allegedly self-improving model. They will be the ones that build systems able to learn from every failed tool call, rejected pull request, broken assumption, and successful repair. That is the recursive improvement project worth funding now.