The Karpathy Effect: AI Loops Are Not a Secret Club
There is a thing happening in AI coding circles right now where a simple idea gets dressed up like a private language.
The word this week is “loops.”
Peter Steinberger wrote that people should stop prompting coding agents and start designing loops that prompt agents. Boris Cherny, who leads Claude Code at Anthropic, has been quoted saying he does not prompt Claude anymore, that he has loops prompting Claude, and that his job is to write loops.1
That sounds important. It also sounds like the kind of sentence that makes a lot of smart people wonder if they missed a meeting.
They did not.
A loop is: do the thing, check the thing, keep going if it is not done, stop when it is done or blocked. You can write one into a prompt right now:
Run the test suite. If tests fail, read the failure output, fix the code with the smallest safe change, rerun the relevant tests, and repeat until everything passes or you are blocked. Ask me before installing packages, changing public APIs, deleting files, or making a broad refactor.
That is a loop. Written in a prompt. No secret handshake required.
The performance around the word
This is not about dunking on Cherny or Steinberger. They know what they are doing, and they are describing a real shift.
The issue is the packaging.
A lot of smart people are not spending their day inside Claude Code, CI logs, model settings, and agent SDKs. They are focused on product, customers, operations, strategy, implementation. When someone drops “I do not prompt anymore, I write loops” and walks away, it turns a normal workflow into status language. It makes people feel like there is a new discipline they need to master before they are allowed to use the tools well.
That is bad communication, and it slows adoption.
The Karpathy effect
“Vibe coding” became one of the rare AI phrases that escaped the bubble and stuck. Andrej Karpathy coined it in February 2025, and the phrase worked because it named something people were already feeling: building with AI by describing what you want, letting the model generate code, and steering through conversation instead of writing every line yourself.2
Once a term like that lands, everyone in AI wants the next one. The compressed phrase that sounds like it came from the future. The bit of language that signals you are working one layer above everybody else.
“Loops” is getting that treatment now. The word is not wrong. Claude Code has loops, scheduled tasks, subagents, routines, and dynamic workflows. Anthropic documents all of them.3 But the way the word circulates hides more than it explains.
If what you mean is “tell the agent to keep checking until it is done,” say that. If what you mean is “I have scheduled agents checking CI while I sleep,” say that. Those are useful sentences. “I do not prompt anymore, I write loops” is insider theater unless you unpack it.
What Claude Code is actually doing
The product is ahead of the discourse.
In Claude Code, especially with Ultracode enabled, you can ask for something broad:
Review and audit this entire codebase.
You do not ask it to spawn background agents or split the task into phases. But if the task is large enough and Ultracode is on, Claude Code can decide the work deserves a dynamic workflow.
Anthropic’s documentation says Ultracode is a Claude Code setting, not a model effort level. It sends xhigh reasoning to the model and adds automatic workflow orchestration for substantive tasks.4 In practice: you ask for a large audit, agents fan out across the codebase in the background, and Claude comes back with findings you did not name because the work was broken into discovery, analysis, and verification.
Under the hood, dynamic workflows are JavaScript scripts that Claude writes to orchestrate subagents at scale. The runtime runs in the background while the session stays responsive.5 The script holds the loop, the branching, and the intermediate results, so Claude’s main conversation does not carry every step in its context window.6
One distinction worth keeping clean: Opus 4.8 by itself does not turn every task into a multi-agent workflow. Opus 4.8 defaults to high effort.4 Ultracode is what adds the orchestration. Claude Code with Ultracode can decide a broad task deserves a workflow and run it with background agents. That is a product setting with documented behavior, not a personal trick.
Subagents can use different models and effort levels depending on the job.7 Claude Code’s /loop command reruns a prompt on an interval to poll deploys, check CI, or watch for PR comments.8 The architecture is layered, documented, and open to anyone who reads the docs. In many cases the tool is already running the loop for you.
The check matters more than the word
The useful part is not the vocabulary. It is the verification.
If the agent has no way to check its work, the loop is just repeated confidence. If it can run tests, compare files, validate sources, or ask another agent to challenge the result, the loop earns its keep. Anthropic’s workflow docs describe this directly: independent agents reviewing each other’s findings before returning a result.6
“Write loops” sounds abstract. “Tell the agent how to check its work” is something a person can act on.
What to say instead
Instead of:
I do not prompt anymore. I write loops.
Say:
I give the agent a task, a check, and a stopping condition.
Instead of:
You should design loops that prompt agents.
Say:
Tell the agent how to verify the work and when to keep going.
Instead of:
The future is loop engineering.
Say:
The useful shift is from one-off instructions to repeatable workflows with checks.
All clearer. None of them make the reader feel stupid.
The cost part
Dynamic workflows can spawn many agents. Anthropic’s docs say a single run can use meaningfully more tokens than the same task done in conversation, and recommend trying a small slice first.9
So the real question is not whether you write loops. It is whether the task deserves one, whether it can be checked, whether the cost makes sense, and whether a human is reviewing the parts that matter.
Loops are real. The mystery is not.
AI is hard enough to implement well without turning every useful pattern into a membership badge. Just say what is happening. The agent is working, checking, and repeating. Someone still needs to decide what “done” means.
References
Footnotes
-
Addy Osmani, “Loop Engineering,” June 8, 2026. Osmani quotes Peter Steinberger saying people should design loops that prompt agents, and Boris Cherny saying his job is to write loops. https://addyosmani.com/blog/loop-engineering/ ↩
-
Simon Willison, “Not all AI-assisted programming is vibe coding,” March 19, 2025. Willison notes that Karpathy coined “vibe coding” on February 6, 2025 and discusses how the term spread. https://simonwillison.net/2025/Mar/19/vibe-coding/ ↩
-
Anthropic Claude Code docs, “Common workflows.” The docs list scheduling options such as Routines, Desktop scheduled tasks, GitHub Actions, and
/loop. https://code.claude.com/docs/en/common-workflows ↩ -
Anthropic Claude Code docs, “Model configuration.” The docs say Opus 4.8 defaults to high effort, and that Ultracode sends xhigh to the model while adding dynamic workflow orchestration for substantive tasks. https://code.claude.com/docs/en/model-config ↩ ↩2
-
Anthropic Claude Code docs, “Orchestrate subagents at scale with dynamic workflows.” The docs describe workflows as JavaScript scripts that orchestrate subagents and run in the background, with examples including codebase audits and large migrations. https://code.claude.com/docs/en/workflows ↩
-
Anthropic Claude Code docs, “Orchestrate subagents at scale with dynamic workflows.” The docs explain that workflow scripts hold the loop, branching, and intermediate results, and can apply quality patterns such as independent agents reviewing each other’s findings. https://code.claude.com/docs/en/workflows ↩ ↩2
-
Anthropic Claude Code docs, “Create custom subagents.” The docs describe subagent model fields, model aliases including Haiku, Sonnet, and Opus, and subagent effort settings. https://code.claude.com/docs/en/sub-agents ↩
-
Anthropic Claude Code docs, “Run prompts on a schedule.” The docs describe
/loopas a way to rerun prompts on an interval, poll for status, and manage scheduled work inside a Claude Code session. https://code.claude.com/docs/en/scheduled-tasks ↩ -
Anthropic Claude Code docs, “Orchestrate subagents at scale with dynamic workflows.” The docs warn that workflow runs can use meaningfully more tokens than working through the same task in conversation, and recommend trying a small slice first. https://code.claude.com/docs/en/workflows ↩