For a week in June 2026, developer X was wall-to-wall with one line: stop writing prompts, start designing loops. The pitch is that leverage has moved — it's no longer about crafting the perfect message, it's about building a system that prompts the agent for you, reviews the result, and decides what happens next. The agent forgets everything between runs; the loop doesn't. That, the thread says, is the entire architecture.
It's a genuinely useful reframe. It's also wrapped in enough hype to mislead anyone who takes it as "always build loops." So here's the honest version, grounded in what the named sources actually wrote rather than the screenshots of them — what loop engineering really is, which parts are documented engineering, and where it quietly breaks.
What "loop engineering" actually claims
The name comes from a June 7, 2026 essay by Addy Osmani, a Google engineering leader, who defines it bluntly: "Loop engineering is replacing yourself as the person who prompts the agent. You design the system that does it instead." He breaks a loop into six primitives — automations, worktrees, skills, plugins/connectors, sub-agents, and state (memory) — and gives the memory idea its sharpest line: "The agent forgets, the repo doesn't."
That last point is the whole trick. A model has no memory between runs, so durable progress has to live outside the model — in files, branches, and tickets the next iteration reads first. (The popular PROGRESS.md filename is community shorthand, by the way; Osmani just describes generic on-disk state, and no tool requires a file by that name.)
The substrate is real — and already documented
The strongest thing about loop engineering is that none of its parts are invented. Every primitive maps to something with primary documentation:
| Primitive | What it actually is | Primary source |
|---|---|---|
| Worktrees | Multiple branches checked out at once so parallel agents don't collide | git-worktree docs |
| Automations | Scheduling a prompt on an interval/cron, no typing required | Claude Code scheduled tasks |
| Skills | Procedure files (SKILL.md) the agent loads on demand | Anthropic — Agent Skills |
| The maker/checker loop | One model generates, another evaluates, repeat | Anthropic — Building Effective Agents |
Anthropic's Agent Skills writeup defines a skill as "organized folders of instructions, scripts, and resources that agents can discover and load dynamically," built around a SKILL.md with progressive disclosure. Claude Code's own /loop turns an instruction like /loop 5m check the deploy into a scheduled task — with falsifiable specifics worth knowing: times are local, recurring tasks auto-expire after seven days, and there's no catch-up for missed fires. The mechanics are concrete and boring. What's new in "loop engineering" is the name and the assembly pattern, not the pieces.
The maker/checker loop is the real core — with one condition
The pattern doing the heavy lifting is what Anthropic calls evaluator-optimizer: "one LLM call generates a response while another provides evaluation and feedback in a loop." The model that wrote the code is, as Osmani puts it, too nice grading its own homework — so you split the writer from the checker.
But read Anthropic's own condition, because the viral version drops it: evaluator-optimizer works "when we have clear evaluation criteria, and when iterative refinement provides measurable value." The checker has to fail on something real — a test suite, a type check, a build, a linter. Point two agents at "review this" with no ground-truth signal and you don't get correctness; you get a second optimist agreeing with the first while the token meter runs.
What the loud version leaves out
The same Anthropic post the threads cite for the loop pattern is, in its own words, a caution against complexity: "Start with simple prompts, optimize them with comprehensive evaluation, and add multi-step agentic systems only when simpler solutions fall short." It warns that "the autonomous nature of agents means higher costs, and the potential for compounding errors," and recommends sandboxed testing and guardrails. That is the opposite of "always build a loop."
And the headline stat — Boris Cherny, who runs Claude Code at Anthropic, saying he some days manages "thousands, or tens of thousands" of agents with "another Claude that does the prompting" — is real (Fortune, June 8, 2026). But it's a throughput number from the person who builds the tool, not a quality claim. Volume of agents says nothing about how many produced correct, reviewed diffs.
Ralph: the failure-aware precedent everyone skips
The most useful prior art predates the hype by nearly a year. Engineer Geoffrey Huntley's "Ralph" technique (July 2025) is, in its purest form, a deliberately dumb bash loop: while :; do cat PROMPT.md | claude-code ; done. Huntley is refreshingly clear-eyed about it: Ralph is "deterministically bad in an undeterministic world," lands "~90%" on greenfield projects but "there's no way in heck would I use Ralph in an existing code base," and "there is no way this is possible without senior expertise guiding Ralph."
He also documents the failure modes the slick threads omit: the agent hitting a ripgrep false negative and wrongly concluding code "isn't implemented" (so you must tell it don't assume an item is not implemented), and context quality degrading around the 147k–152k-token mark despite the advertised 200k window. The lesson isn't "don't loop." It's that the human sits on the loop, not in it.
Does a loop actually make agents reliable?
Here's the part that should temper everyone. A 2026 Princeton paper, "Towards a Science of AI Agent Reliability," finds that "accuracy gains do not automatically yield reliability" — running a task five times, "agents that can solve a task often fail to do so consistently." A loop multiplies runs; it does not multiply consistency unless a real verifier gates each one.
The autonomy story is similarly sober from the source. In building Claude Code's auto mode, Anthropic reports its best transcript classifier still misses 17% of genuinely overeager actions — which it calls "the honest number" — that --dangerously-skip-permissions "offers no protection," and that users already rubber-stamp 93% of permission prompts. Translation: unattended loops need blast-radius controls — command allowlists, sandboxes, no production credentials — as mandatory engineering, not a footnote. An agent with open shell access in an overnight loop is how a token-cost problem becomes a security incident.
When a loop earns its keep
A loop is only as good as its verifier and its blast-radius controls — and designing those two things is the engineering, not the cron job. So:
- Build a loop when the task has a clear, machine-checkable signal for "done" (tests pass, build green, schema matches) and a bounded blast radius (allowlisted tools, a worktree or sandbox, no prod creds). In that regime the evaluator-optimizer pattern is real and worktrees + scheduling + skills compose cleanly.
- Stay a prompt when the work is one-shot, judgment-heavy, or has no ground-truth success criterion. There a loop just multiplies tokens and non-determinism.
The genuinely new thing in loop engineering is the framing, not the primitives — and the cost of getting it wrong is what Osmani calls comprehension debt: "a smooth loop just makes it grow faster unless you read what the loop made." Which is the right note to end on. Build the loop — but, in his words, "build it like someone who intends to stay the engineer, not just the person who presses go."