Roles, not one big prompt
Separate agents for planning, execution and review, each with its own scope and its own context. A planner that cannot edit files gives better plans than one that can start writing immediately.
Working with AI
Not as autocomplete. As a system you design around — what context the model gets, where it is allowed to act, and what gets verified before any of it ships.
Nearly every team has tried AI coding tools by now. The ones getting compounding value out of them are not using better models than everyone else — they have built the scaffolding around the model. Boundaries, context, verification, and somewhere for what was learned to live.
Without that, you get code that looks right, passes a glance, and fails in the way nobody checked. The tool is not the problem. The absence of engineering around the tool is the problem.
What that looks like
Separate agents for planning, execution and review, each with its own scope and its own context. A planner that cannot edit files gives better plans than one that can start writing immediately.
Output quality tracks what the model can see. Curated project instructions, durable notes and retrieval over the actual codebase beat a longer prompt every time.
Define what an agent may touch before it touches anything. Locking on shared resources, explicit permission gates on destructive operations, and no autonomous pushes.
Generated code gets the same treatment as any other code: tests that actually ran, a diff a human read, and a review pass looking for the failure modes models are prone to.
Sessions end and context windows fill. Decisions, constraints and hard-won findings get written down somewhere the next session will actually read them.
MCP servers, language-server integrations and purpose-built CLIs, so the model works against real project state instead of guessing from text.
I did not arrive at this from theory. It came out of running the setup daily on real platform work — several coordinated agent sessions with distinct roles, a message bus between them, locking on shared resources so parallel sessions cannot clobber each other, and custom MCP servers giving the models real project state instead of guesses.
Most of the useful lessons were failures first. That is the part worth paying for: not the setup itself, but knowing which parts fall over.
Whether you are working out where AI fits, or already generating more code than anyone can review, it is worth a conversation.
Get in touch