Build yourself an agent orchestrator

AI work is best done in parallel. Don’t wait on a single thread when you could be running many at a time.

Rapid context switching and reading long agent responses is tiring though. If you’re not careful, agentic work can feel like a runaway train that you’re struggling to keep up with. That’s why you need an orchestrator.

The idea is to keep the state and direction of the work in a single place, driven automatically by an orchestrator agent (OA). The OA can spawn parallel sub-agents (Codex, Claude, whatever) at will, inspect their outputs, and make decisions about what to do next.

Execution is getting cheaper. Judgement still matters. Decision fatigue is real. The orchestrator only surfaces things when human judgement is actually needed.

How I have it set up

I got an agent to build a domain-specific orchestrator for a project I’m working on. The project itself is around building foundations and running experiments on those foundations to help shape where it goes next.

I have a command orch that’s the interface to the orchestrator.

There’s a long-running orch continue process in a tab inside Herdr. It spawns agents in other tabs, cleans them up when they’re done, handles status updates and continually replans. Each planning pass folds in agent outputs, previous decisions and notes I’ve added.

I can run orch status to see a human-readable status update showing what’s going on, why, where we’re at, any decisions needed from me, and what changed since the last time I looked.

Occasionally a human decision is needed around part of the work. These show up in orch decisions.

E.g.

## D52 — Update the orchestrator to buy pizza

If you accept: 
- The orchestrator will buy you a pizza every time we hit a milestone
- The pizza will be tailored to your tastes

Why: you expressed wanting pizza.

Risk: if the orchestrator hits a lot of milestones we may order too many pizzas

Stakes: high — it adds physical consequences to the work

Recommendation: Discuss

Instead of the usual wall of highly technical text, things are heavily summarized and optimized for readability. The orchestrator is explicitly told to keep me out of the loop unless a decision genuinely needs human judgement.

I can then run orch discuss D52 or orch accept D52. The orchestrator will fold this in to the next planning run it does.

I often have more open-ended discussions about project direction outside of the orchestrator e.g. with friends or in ChatGPT. I can run orch ingest to summarize those and get them into the project context. Or directly add a note with orch note.

I threw together this system over the last couple of days and it’s still early but paying off. Work is happening fast, and I feel like I’m doing a much better job of staying on top of it and understanding direction than before.

Orch compresses the busy work and overexplanation of individual agents, allowing me to keep tabs on progress and make occasional high-level decisions. It feels more like working with a highly skilled team than a bunch of clever but neurotic ICs.

More notes...
Get future posts by email: