Parallel AI: Running Five Agents at Once

Parallel AI: Running Five Agents at Once

Today's Overview

There's a shift happening in how developers work with AI. Instead of waiting for one agent to finish a task before starting the next, engineers are discovering they can run multiple AI coding assistants in parallel-each working on its own branch, in its own isolated directory, without stepping on each other's toes. Git worktrees, a feature that's been around for over a decade but rarely used, suddenly became the missing piece.

Why Sequential AI Feels Broken Now

Imagine you have five independent tasks: fixing a pagination bug, adding tests, refactoring a component, fixing a build pipeline, and updating documentation. With one AI agent, you're looking at 50 minutes of sequential work-waiting for each task to complete before starting the next. With five agents in parallel worktrees, you're done in roughly 10 minutes plus review time. The math is simple, but the setup wasn't obvious until recently. Each worktree checks out a different branch while sharing the same git history. No disk space wasted on duplicates, no branch conflicts because git enforces-by design-that each branch lives in exactly one worktree at a time.

The practical gains are real. One developer reported a 5x throughput increase after setting up parallel agents. Claude Code has built-in worktree support now, recognising that AI-assisted development creates a new use case: not one developer on one branch, but one developer orchestrating five agents on five branches simultaneously. For .NET developers, there are specific gotchas-NuGet package caches are shared (which is actually fast), but port conflicts and database migrations require planning. Most of the complexity disappears if you pick tasks that don't touch the database.

Memory: The Problem Agents Still Can't Solve

But raw speed means nothing if agents forget everything between tasks. The stateless nature of LLMs-each API call is a fresh start-creates a deeper problem. You could pass chat history with every request, but that quickly becomes unwieldy and expensive. The real solution requires building layers of memory: from simple file-based storage for discrete facts, to vector stores for semantic retrieval (the foundation of RAG), to knowledge graphs for understanding relationships between ideas. Each level trades simplicity for capability. Start with what you actually need, and only add complexity when the problem demands it.

What's emerging is a clearer picture of the full development stack: Kreuzberg handles document ingestion and chunking upstream, LangChain orchestrates retrieval and generation, vector databases store embeddings, and the LLM synthesizes answers. Every stage depends on the quality of the one before it. Poor extraction leads to weak retrieval, which leads to worse answers. It's a reminder that the "AI" part isn't the bottleneck-it's the plumbing around it.

The Practical Reality

None of this changes overnight. Teams will continue reaching for modals because they're easy, even though sliding panels or dedicated pages would often be better. Zero-UI sounds clever until you realise you've removed confirmation, reversibility, and audit trails. And developers will keep building one-off custom slash commands when what they really need is standardisation.

The morning edition brings a pattern worth noticing: the most interesting developments aren't the flashiest announcements, but the quiet improvements in tooling. Worktrees. Memory architectures. Agent SDKs that unify fragmented APIs. These are the foundations that let developers build reliably at scale. It's less exciting than a new model, but it's where the real work gets done.