The AI Agent Scout Team

My first foray into using git worktree-style development — spinning up multiple workspaces and having LLM agents attack different problems in parallel — was a failure. I found myself simultaneously exhausted and unproductive. The entire thing felt good in the pernicious way increasingly familiar to developers using these sorts of tools, where you can delude yourself into believing that noise and diffs indicate forward progress, even though at the end of the day you’ve run a marathon and out of the twenty PRs you shipped, five of them are buggy and three of them are relevant to the actual important thing you should be doing.


I am back using worktrees and having a very good time doing so — with a slightly different mindset, which is to treat them not as parallel agents but as an advance team.

Now if I’ve got a few things I know I want to touch during a focus block, I’ll open a few worktrees in Conductor, spend a couple minutes on each one describing the goal, and attach whatever context seems useful — a Linear issue, a Figma design, a Sentry trace, etc. Then I let Opus/Codex go off and do its thing for half an hour or so, and I basically ignore it. I’m just sending something ahead so that when I get to a task later, I’m not arriving at a cold start.

What I find is never complete, but always useful. A bugfix branch might correctly identify the root cause, but then implement the actual fix in a way I don’t like, or write a regression test that technically passes but feels clumsy. A feature branch might do a poor job of structuring the code, but give me a few Storybooks or UI fragments that help me see the shape of the thing more clearly. A refactor branch might be nowhere near mergeable, but still give me a better sense of the scope and surface some tests that probably should have existed already.

A lot of these branches never make it to GitHub. Most definitely never make it to main. They’re not polished outputs. They’re not even really serious candidates to ship. They’re first drafts from a robotic junior colleague who is both weirdly fast and kind of deranged. But that’s still useful. For UI work I’ll typically dive in with Agentation and Zed to make smaller more precise edits. But even when larger logic based code is awkward, even when half of it gets thrown away, even when the real value is just “I now understand this problem better than I did forty minutes ago,” that still counts. It’s still meaningfully better than starting from zero.

Which is maybe the main thing I’ve learned here: I don’t want these systems to do all my work in parallel. I want them to go ahead of me, kick up some dust, and leave behind something I can react to. That turns out to be a much better use for them.