“Boris Cherny — the Claude Code developer — says he doesn’t write code anymore. He writes loops. Keep doing this until you reach a set of criteria. And you can have loops within loops.” — Lou
Session context: 2026-06-25_Mastermind — Lou unpacked why Dirk’s autonomous Claude Code run worked, then generalized it into a way of thinking about all AI work.
Core Idea
The atomic unit of working with AI is shifting from the instruction to the loop. You used to write a step and check the result. Increasingly the higher-leverage move is to define a goal, an evaluation rubric, and a stop condition — then let the model iterate against them on its own. As Lou put it, channeling the Claude Code developer: the job becomes writing loops, not writing code. “Figure out what resources you need to solve it, make a plan, create an evaluation rubric to determine when it’s met the goals, and keep looping until that’s done.”
The power compounds because loops nest. A writing team isn’t one loop; it’s loops within loops: loop on the research until it’s acceptable, loop on the drafts until they’re acceptable, loop on the headline until it’s acceptable. Each inner loop forces the model to “think a little bit more about the solution” at that layer before the outer loop proceeds. You’re no longer specifying how to do the work — you’re specifying what good looks like at each level, and letting the model close the gap.
Two control knobs make loops tractable. First, the stop condition — without it a loop is a runaway, not a feature (this is its own discipline). Second, effort level, which Lou is careful to separate from reasoning: effort doesn’t raise the model’s intelligence ceiling, it raises its persistence — how many tries before it gives up. “Not every problem deserves loops within loops at high effort.” But when the output isn’t quite landing, raising effort and nesting a loop are the knobs to turn before you assume the model can’t do it.
Practical Application
Take a task you currently babysit step-by-step and rewrite it as a loop spec: (1) the goal in one sentence, (2) a short rubric for “done” (3–5 criteria the output must meet), (3) a stop condition (quality threshold and a max-iteration cap so it can’t spin forever). Hand the model all three and let it iterate. If the result is close but not there, raise the effort level before adding instructions. For complex work, identify the 2–3 sub-stages that each deserve their own inner loop.
Related Insights
- Insight - Every Autonomous Loop Needs a Termination Condition — Design It First, Not Last — the non-negotiable companion: a loop without a stop condition is a bug.
- Insight - The Agent Heartbeat — Every Autonomous Loop Needs a System Clock — loops that run unattended need a clock as well as a stop condition.
- Insight - Effort Can’t Buy Reasoning — The Model Sets the Ceiling, Effort Sets the Depth — effort tunes loop persistence, not intelligence.
- Insight - Don’t Buy the Agent, Replicate Its Loop — Extend Your Own Harness — autonomous agent products are loops you can author yourself.
- Insight - The Self-Improving Skill Loop — Have the Skill Learn From Every Use — a loop applied to the skill itself, not just the task.
- Insight - The Application Generator — When the Framework Is Fixed, the Conversation Is the Code
Evolution Across Sessions
Sits as the conceptual umbrella over the vault’s existing loop mechanics — Insight - Every Autonomous Loop Needs a Termination Condition — Design It First, Not Last and Insight - Effort Can’t Buy Reasoning — The Model Sets the Ceiling, Effort Sets the Depth established the how; this names the paradigm shift (the loop as the unit of work, with a frontier-developer citation) and adds the loops-within-loops composition pattern.