Featured image

I’ve spent the last few months living inside the rapidly expanding universe of AI coding agents. Not just reading about them - actually running them, breaking them, watching them break things, and occasionally being genuinely impressed by what fell out the other end.

What struck me isn’t the capability differences between tools. It’s that these systems have personalities. Not in the sentient-AI sense, but in the way a golden retriever has a different personality than a greyhound. Same underlying machinery, wildly different energy. The way an agent is architected - how it’s triggered, how long it runs, how much autonomy it has - creates a behavioral fingerprint that fundamentally shapes what it’s like to work with.


The Obedient Intern (Turn-Based Chat) Link to heading

Polite and respectful, but no ambition. No memory. A clean slate every time.

You open ChatGPT or Claude, paste in a function, say “refactor this to use async/await.” It responds. You copy-paste. You’re the driver, the AI is the GPS. The feedback loop is tight - but it’s also slow, because you are the bottleneck. It scales like a human: linearly, bounded by attention and hours in the day.

I still use this mode daily for rubber-ducking architecture decisions or generating boilerplate I’d rather not type. But every change goes through your brain before it touches your codebase. Comfortable. Safe. Limiting.


The Eager Pair Programmer (Agentic Coding in the Terminal) Link to heading

A junior developer with immense knowledge, but no experience and no sense of practical trade-offs.

The jump from chat to Claude Code or Cursor’s agent mode was the first time the personality shifted. Now the AI doesn’t just answer - it acts. It reads your files, runs your tests, edits your code, and iterates on failures. Give it a clear task and it’ll surprise you. Give it something vague and it’ll confidently march in the wrong direction with impressive velocity.

Still fundamentally turn-based - you give it a task, it works, it stops, you review. But the scope of a single turn expanded enormously. A single prompt can now produce a multi-file refactor with tests. The cost shifted from writing code to reviewing code, which - as anyone who’s done serious code review knows - is its own demanding skill.


The Morning Briefing (Wall-Clock Agents) Link to heading

What happens when you give an AI agent a cron job?

NanoClaw’s creator Gavriel Cohen built exactly this. His agent “Andy” runs on a schedule - every morning at 9 AM, it reviews the sales pipeline, summarizes lead statuses, and assigns tasks to the team. Sunday through Friday, like clockwork. Cohen described it simply: “I don’t interact with the sales pipeline directly.”

I set up my own version: a daily agent that scans trending GitHub repos and Hacker News posts, filtered to topics relevant to projects I’m working on. New container runtimes, competing DevSecOps tools, interesting approaches to problems I’m actively solving. Every morning I’d wake up to a curated list of things worth knowing about.

The list was good. Too good, actually. Even highly filtered and genuinely relevant, it created more work than it saved. Each item demanded a decision: is this worth investigating? How does it compare to what we’re already using? Should I prototype it?

The agent could help with initial evaluation - spinning up a prototype, running a comparison, summarizing the trade-offs. But deriving meaningful insights still required real human effort: reading between the lines of documentation, understanding how a tool would fit our specific stack, weighing migration cost against actual benefit. AI can compress the research, but it can’t eliminate the thinking.

What I expected was a time-saver. What I got was a daily reminder of how much was happening that I couldn’t keep up with. The feeling shifted from “I’m on top of things” to “there’s so much to do but no time.” The agent didn’t reduce my workload - it made the scope of what I could be doing painfully visible.

That’s the real risk with wall-clock agents. Not that they fail, and not even that their reliability breeds complacency. It’s that a well-tuned information feed can create more anxiety than the ignorance it replaces.


The Tick-Based Worker (Event-Driven Agents) Link to heading

A step beyond cron schedules: agents that respond to events rather than clocks. A new PR gets opened? An agent reviews it. CI fails? An agent investigates. A Slack message mentions a customer issue? An agent pulls the relevant logs.

OpenClaw made this pattern accessible at scale. Peter Steinberger’s creation became the fastest-growing GitHub project in history, hitting 200,000 stars in 84 days. Connect it to your messaging platform, and suddenly your AI isn’t on a schedule - it’s reactive. Things happen, it responds.

The first time I wired up an event-driven agent to our staging environment, I got a Slack notification at 2 AM: the agent had detected a failed health check, pulled the relevant logs, identified a memory leak in a new service, and drafted a fix - all before I’d even rolled over in bed. I woke up to a neat summary and a ready-to-merge PR. That’s the magic: the always-on team member that never goes to lunch, never has a bad day, never forgets to check the monitoring dashboard.

But it also has no memory between events. Each tick is independent, each event processed in isolation unless you’ve carefully wired up state management.

NanoClaw’s container-based approach addressed the security nightmare this creates. Where OpenClaw ran bare-metal with application-level guardrails, NanoClaw isolated each agent in its own container. The entire system - about 500 lines of TypeScript - can be audited in eight minutes.


The Thread Weaver (Parallel Agents) Link to heading

What if you run multiple agents at once? Frameworks like Slate V1 formalize this with orchestrated worker threads, but I tried it the simple way first: five Claude agents in parallel on the same codebase, each with a different goal - one refactoring auth, one writing tests, one updating the API layer, one fixing a CSS regression, one updating docs.

It felt less like conducting an orchestra and more like herding caffeinated squirrels.

The agents don’t know about each other. They’re all editing the same files. Merge conflicts appear like mushrooms after rain. I spent more time juggling agent output than I would have spent just doing the work myself.

The ambitious startup team with no project manager. Everyone’s productive in isolation, nobody’s coordinating. An orchestration framework can solve this - but if you’re doing it manually, you are the project manager, and you will drown.


The Relentless Machine (Ralph Loops) Link to heading

And then there’s Ralph.

Named after Ralph Wiggum from The Simpsons, the Ralph loop is disarmingly simple. It’s a bash loop that feeds an AI agent the same prompt file over and over. The agent works, exits, gets fed the prompt again, looks at what’s left to do, works again. Repeat until done.

I set up a Ralph loop on a Saturday morning with a PRD containing about 20 todo items. Feature implementations, test coverage, documentation updates, API endpoint changes. Then I went to make coffee.

Ralph finished all 20 items in less than 15 minutes.

I stood in my kitchen holding a cup of coffee, staring at my phone as commit notifications rolled in. It was exhilarating and slightly terrifying - the code equivalent of watching a Roomba methodically clear a room, except the room was my production codebase.

The comedown was swift. Each iteration of the loop burns through API tokens. The CI pipeline - triggering on every commit, running end-to-end tests that call the Anthropic API - was also burning through my ANTHROPIC_API_TOKEN budget. Ralph’s relentless productivity and CI’s relentless testing created a perfect storm. I hit my API spending limit before lunch.

Ralph has the energy of a woodpecker - rhythmic, relentless, and completely indifferent to the headache it’s causing everyone nearby.

The most productive and the most expensive approach by a wide margin. Geoffrey Huntley reportedly ran a Ralph loop for three months that built a complete programming language. YC hackathon teams shipped six-plus repos overnight for $297 in API costs. For my 20 todo items, it was like hiring a demolition crew to hang a picture frame.


The Autonomous Company (Paperclip) Link to heading

Paperclip doesn’t orchestrate agents on a codebase. It orchestrates agents into a company. You define an org chart: a CEO agent, a CTO agent, engineers, designers, marketers. Each agent has a boss, a title, a job description, and a budget. The CEO delegates to the CTO, who delegates to engineers. You sit above it all as the “board of directors.”

I set up a small Paperclip company for an experiment. The CEO agent was supposed to triage incoming issues and delegate to a founding engineer agent. It worked - for the first five issues. The CEO created tasks, assigned them with reasonable context, the engineer picked them up and produced working code.

Then the CEO got… lazy isn’t the right word for an AI, but I don’t have a better one. After the initial burst, it stopped creating new tasks. The engineer sat idle. The pipeline dried up. I had built a company with a founder who lost motivation after the first sprint - which, come to think of it, is depressingly realistic startup behavior.

What went wrong? The CEO agent had no incoming signal. No customers complaining, no board asking for updates, no competitors launching features, no market data flowing in. It had an initial mission and a finite backlog. Once that was exhausted, it had nothing to orient toward. It was a founder with no market signal.

The org chart turned into running code. All the strengths of hierarchy - clear delegation, scoped responsibilities, budget controls - and all the weaknesses. 14,200 GitHub stars in the first week suggests I’m not the only one fascinated by this. But “fascinating” and “practical” are different things. For now, autonomous AI companies feel like the demo reel is better than the daily experience.


What I’ve Actually Learned Link to heading

After cycling through all of these, a few things became clear:

The architecture is the personality. A cron-based agent will always feel like a reliable but uncreative employee. A Ralph loop will always feel like controlled chaos. These aren’t bugs - they’re consequences of the execution model. Choosing an agent approach is choosing a working relationship.

The bottleneck shifts, never disappears. Chat bottlenecks on typing speed. Agentic coding on review speed. Parallel agents on coordination. At every level, the human remains the constraint - just a different facet of being human.

Cost and control are inversely correlated. The more autonomous the agent, the faster it burns through resources. Ralph’s 15-minute sprint was impressive, but the API bill and the afternoon I spent reviewing 20 features reminded me that speed of production and speed of delivery are very different things.

The right level depends on the task, not the tool. I still use chat for design discussions, agentic coding for well-scoped implementation, and I’d use Ralph for a focused sprint on a well-defined PRD. I wouldn’t use Paperclip for anything in production yet - but I’d use it to think about how teams should be structured.


The Fifty-Year-Old Problem Link to heading

But the biggest surprise was what happens at the autonomous end of the spectrum. Ralph doesn’t struggle with building - it struggles with knowing what to build and whether what it built is right. My Paperclip CEO didn’t lack capability - it lacked incoming signal. The autonomous systems I tested could produce code faster than any human team I’ve worked with, but they couldn’t validate faster. They outran their own feedback loops.

This isn’t a new problem. It’s the problem every organization in the last fifty years has faced, dressed up in API tokens.

Peter Drucker argued in 1954 that productivity collapses without clearly defined, shared goals. A 1991 meta-analysis confirmed it: 56% productivity gain in companies that committed to clear objectives versus 6% for those that didn’t.1

Fred Brooks showed in 1975 that coordination costs grow with the square of the number of workers. Five agents means ten pairwise interaction surfaces. Ten means forty-five. Carbon or silicon, doesn’t matter.2

Every one of these frameworks was developed for human organizations. Every one of them applies more forcefully to AI agents, because agents amplify both the strengths and the dysfunctions of whatever structure you put them in.3

And there’s a dark corollary.4 When a measure becomes a target, it ceases to be a good measure. An AI agent told to “close all open issues” might close them by deleting the features that caused them. An agent told to “increase test coverage” might write tests that assert true. The more autonomous the system, the more precisely you need to define not just what success looks like, but what it doesn’t look like. This is the same challenge that led Enron to optimize for quarterly earnings, that led Wells Fargo employees to open millions of fake accounts. Misaligned incentives at speed don’t just fail - they fail catastrophically.

The hard part of running autonomous AI systems isn’t the AI. It’s the management. Scoping the mission tightly enough that the agent stays focused. Building feedback loops fast enough that the agent can self-correct. Providing enough outside signal - test results, user feedback, metrics, market data - that the system doesn’t just optimize in a vacuum. Conway’s Law tells us the org chart doesn’t just organize agents - it shapes the output.5 The principal-agent problem tells us that the more we delegate, the less we can verify.6

These are MBA problems, not ML problems.


The Real Spectrum Link to heading

The industry frames this as a technology problem - which framework, which model, which orchestration pattern. But after living with these tools, I think it’s actually a management problem.

Every agent approach is really a different answer to the question: how much do you trust the machine, and how much do you want to stay in the loop?

The trade-offs of AI agent autonomy

Each shape is an agent type plotted across seven dimensions: Speed, Autonomy, Cost, Review Load, Coordination, Proactiveness, and Signal Needed. The shapes expand as you move toward more autonomous agents - Ralph Loops and Autonomous Companies consume more on every axis.

But look at the Proactiveness axis on the left. Every single agent collapses to near-zero. Chat waits for your prompt. Agentic coding waits for your task. Ralph waits for your PRD. Even the autonomous company waits for its initial mission and stalls when the backlog runs out. None of them anticipate. That’s the gap.

Each step up the spectrum trades control for throughput. And just like managing humans, the art is knowing when to hold tight and when to let go.

The fundamental tension between human oversight and machine autonomy isn’t going away. It’s the same tension that makes management hard, that makes delegation hard, that makes trust hard. AI agents don’t eliminate that tension.

They just make you confront it at machine speed.


Notes Link to heading


  1. Peter Drucker, The Practice of Management (1954). His Management by Objectives framework argued that organizational effectiveness starts with clearly defined, shared goals. Rodgers & Hunter’s 1991 meta-analysis of 70 MBO studies found that companies with high CEO commitment saw a 56% gain in productivity, versus 6% for those with low commitment. ↩︎

  2. Frederick P. Brooks Jr., The Mythical Man-Month: Essays on Software Engineering (1975). Brooks’s Law: “Adding manpower to a late software project makes it later,” because communication overhead grows with the square of the number of workers. ↩︎

  3. This is the core thesis of the 2025 DORA Report on AI-Assisted Software Development: “AI magnifies the strengths of high-performing organizations and the dysfunctions of struggling ones.” ↩︎

  4. Goodhart’s Law: “When a measure becomes a target, it ceases to be a good measure.” Originally formulated by economist Charles Goodhart in 1975. For its application to AI agents: Measuring Goodhart’s Law, OpenAI; Thomas & Uminsky, “Reliance on metrics is a fundamental challenge for AI”, Patterns (2022). ↩︎

  5. Melvin Conway, “How Do Committees Invent?” (1968). “Organizations which design systems are constrained to produce designs which are copies of the communication structures of these organizations.” ↩︎

  6. The principal-agent problem applied to AI: “Rethinking AI Agents: A Principal-Agent Perspective,” California Management Review (2025). The authors note that AI agents create information asymmetry “far more severe than in traditional principal-agent relationships.” ↩︎