Running coding agents in parallel is less like one developer juggling features and more like a team of different developers building at the same time independently.
Even when the agents share the same system prompt and the same skills, they diverge fast. LLMs are stochastic, and the divergence compounds with every decision.
Spec-Driven Development and Domain-Driven Design help. They give each agent a global view of what the others are doing and a shared, ubiquitous language. But in practice, compounding drift erodes coherence fast.
The only way to keep your codebase sane is to plan deliberate converge phases.
Here are my tips for diverge-converge:
- Put new features behind a feature flag so agents can iterate on the intermediate result cleanly
- Define protocols and interfaces first to contain where drift can happen
- Use static analysis and linters to bound architectural and stylistic drift
- Use a skill to update your specs and ubiquitous language based on the gaps the diverge phase exposed
- Use a skill to identify and prioritize the tech debt the diverge phase introduced
What's your approach to building features in parallel with coding agents?