← ramblings

june 2026proper writingbrain cells: so many~3 min

from driving the loop to being in the loop

Maybe the real divide in software isn’t between AI-built and human-built, but between disposable software and accountable software.

I did not come up with that on my own. It’s from a video on agentic engineering that I watched over the weekend (agenticengineering on Instagram).

The coolest (and most insidious) thing about building with AI is that it actually works. Tasks that used to take days or weeks happen in a fraction of the time. But engineering is about way more than just writing code. The real work is in what isn’t said, the hidden constraints, the edge cases, the words that never make it into the spec. AI is great at filling those gaps with something that sounds plausible.

Plausible isn’t the same as correct. When an agent quietly fills in a blank, how can we be sure the plausible choice was the correct choice?

I didn’t realize it at the time, but when I was building my own workflow, I wanted to be the one filling in those gaps - and only partially because of my obsessive need to control things. The other part was just general low-level anxiety/fear that the agent would get something wrong, and I’d either have to do rework, start over completely, or worst of all - look foolish.

That’s why I began by steering a single agent step by step, then moved on to manually orchestrating the whole team. It was slow. I was the bottleneck, but I had confidence (mostly) that I was across every decision point, and could stop and investigate whenever there was a fork in the road somewhere I didn’t have domain knowledge (which was more often than I’d like to admit).

I was really frustrated to know how much faster the AI could work without me in the way, so I tried to pull myself further out of the frame.

I collapsed each feature into two big, chained loops with an orchestrator driving them, planning and design in one, development and testing in the other with a single approval gate between stages.

MUCH faster. But boy, oh boy, was it a mistake. Too much was happening behind closed doors (or terminals), only surfacing after loads of decisions had already been made. I spent more time dragging the output back to the standard than I saved by stepping away. Not only that, I had less insight about how the AI had gotten to that point in the first place.

After a few more failed iterations (and some new features from Anthropic), I think I’ve got the right balance. I’m the PM (of course), with a ‘Team Lead’ agent that spins up sub-agents for each feature. The Team Lead relays decisions and questions between me and the sub-agents, and the sub-agents talk to each other directly. I’m involved when something comes up that isn’t clearly defined in the spec, or when there’s a conflict, edge case, etc. The key difference, is that nobody is waiting for me to tell them to “start working on X” anymore, and I still get to fill in the gaps that matter. Unfortunately, as a side effect, there is now no one else to blame when something goes horribly, horribly wrong. 😐

Sketch of a person at the centre of a circle of robot agents