Autonomous Multi-Agent System for Complex Software Development
factory · Tech · 2026 · source Agentic: yes · promotional bias: med · source-backed · extracted with prompt 0.5.4 (schema v2)
Generated from extraction.json — do not edit by hand. Every claim cites verbatim source evidence; stated means the quote directly asserts the claim, implied means it supports it indirectly.
Problem
Domain: Complex software development with agents
Factory needed a way for agentic software development to handle broad projects that exceed a single context window and become unreliable when one agent accumulates irrelevant or self-confirming context.
Constraints:
- single agent trajectories are append-only and grow biased by prior thoughts, observations, and actions
- broad tasks accumulate irrelevant context that reduces focus
- agents that implement work are biased when evaluating their own output
- large projects require shared state without forcing one agent to hold every detail
- validation must be independent and milestone-based
Architecture
Factory's Missions system decomposes large software goals into focused roles and artifacts. An orchestrator clarifies requirements, writes a validation contract, decomposes the mission into features and milestones, and delegates implementation to fresh workers. Workers receive narrow feature specs, write tests first, implement, and hand off. Fresh validators review worker output and black-box behavior against the contract. Findings return to the orchestrator as targeted fix features until milestone validation passes or the mission halts for the user.
Diagram confidence: explicit (topology described by the source).
flowchart LR user-goal[User goal] --> orchestrator[Orchestrator] orchestrator --> validation-contract[Validation contract] orchestrator --> feature-list[Feature list] feature-list --> programmatic-runner[Programmatic runner] programmatic-runner --> workers[Workers] workers --> shared-artifacts[Shared artifacts] programmatic-runner --> validators[Validators] validators --> validation-contract validators --> shared-artifacts validators --> orchestrator orchestrator --> shared-artifacts
Components
| Component | Role | Interacts with |
|---|---|---|
User goal |
Initial natural-language project objective. | Orchestrator |
Orchestrator |
Clarifies requirements, writes the validation contract, decomposes features, steers milestones, and creates fix features. | User goal, Validation contract, Feature list, Programmatic runner, Shared artifacts, Validators |
Validation contract |
Finite checklist of behavioral assertions defining completion and correctness. | Orchestrator, Validators |
Feature list |
Ordered set of well-scoped features and milestones generated from requirements. | Orchestrator, Programmatic runner |
Programmatic runner |
Spawns workers for features and triggers milestone validation. | Feature list, Workers, Validators |
Workers |
Fresh agents that write tests first, implement well-specified features, and hand off work. | Programmatic runner, Shared artifacts, Validators |
Validators |
Fresh agents that evaluate correctness, completeness, worker trajectories, and black-box behavior. | Programmatic runner, Workers, Validation contract, Orchestrator, Shared artifacts |
Shared artifacts |
Distributed mission state: validation contract, features, research notes, guidelines, and knowledge base. | Orchestrator, Workers, Validators |
Data flow
A user describes the desired software. The orchestrator asks clarifying questions, writes a validation contract, and generates a feature list. A runner spawns workers for features in order; each worker starts fresh, writes tests, implements, and hands off. At milestones, fresh scrutiny and user-testing validators evaluate the result, update shared state, and surface issues. The orchestrator converts actionable gaps into fix features and repeats until validation passes.
3 supporting quotes
Why this architecture
Missions separates planning, implementation, and validation because agents are highly reactive to their current context. Narrow worker contexts reduce distraction, fresh validators avoid implementation bias, and shared artifacts carry the full mission state without stuffing every detail into one model context. Defining correctness before features prevents the validation contract from being contaminated by implementation choices.
3 supporting quotes
Models used: orchestrator model · worker models · validator models
Scale
- The sample mission generated 38.8k lines of code.“It generated 38.8k lines of code (52.5% of those lines tests) with 89.25% statement coverage. Every milestone converged in 2-4 validation rounds.”article, stated
- 52.5% of generated lines were tests.“It generated 38.8k lines of code (52.5% of those lines tests) with 89.25% statement coverage. Every milestone converged in 2-4 validation rounds.”article, stated
- The generated code reached 89.25% statement coverage.“It generated 38.8k lines of code (52.5% of those lines tests) with 89.25% statement coverage. Every milestone converged in 2-4 validation rounds.”article, stated
- Every milestone converged in 2-4 validation rounds.“Every milestone converged in 2-4 validation rounds. That produced a steady correction loop: validators surfaced 81 issues, and the orchestrator generated 21 targeted fix features (34.”article, stated
- Validators surfaced 81 issues.“That produced a steady correction loop: validators surfaced 81 issues, and the orchestrator generated 21 targeted fix features (34.”article, stated
- The orchestrator generated 21 targeted fix features, equal to 34.4% of implementation work.“That produced a steady correction loop: validators surfaced 81 issues, and the orchestrator generated 21 targeted fix features (34.4% of implementation work) to close them.”article, stated
Alternatives considered (roads not taken)
One broad agent session for the whole project
Rejected because: Single agents accumulate irrelevant context and become less focused and reliable.
Let workers judge their own correctness
Rejected because: Workers are biased toward confirming their own implementation, so independent validators decide correctness.
Create features before correctness criteria
Rejected because: The validation contract would be biased by already planned implementation details.
Validators inspect only source code
Rejected because: User-testing validators exercise the system as a black box against the behavior contract.
Patterns
multi-agent-orchestration (agentic)
Missions coordinates orchestrators, workers, and validators with separated goals and handoffs.
context-compaction (memory)
Large mission state is held in shared artifacts rather than one model context.
eval-driven-development (quality)
Correctness is defined first as a validation contract and then checked by fresh validators after milestones.
human-in-the-loop-gate (control)
If implementation or validation blocks, the mission halts and returns control to the user.
model-routing (modeling)
Different roles can use models optimized for planning, execution, cost, or skeptical validation.
Tradeoffs
Distribute mission state through artifacts
Chose validation contract, feature list, research notes, guidelines, and knowledge base over one agent holding the entire project context.
Rationale: Artifacts let each agent read only what is relevant to its role and avoid context bloat.
Use fresh validators after implementation
Chose independent scrutiny and user-testing validators over worker self-certification.
Rationale: Fresh validators avoid implementer bias and can test the system like a real user.
Have workers write tests before code
Chose tests reflecting intended behavior over tests shaped by the worker's implementation.
Rationale: Test-first worker execution reduces the chance that tests merely encode implementation details.
Gotchas (what bit them)
Irrelevant context degrades agent focus.
Root cause: Broad tasks make the trajectory accumulate information not relevant to the current step.
Resolution: Missions splits work into focused units with fresh agents and narrowly scoped goals.
Self-review is biased after implementation.
Root cause: An implementer agent's prior reasoning creates a bias toward confirming its own work.
Resolution: Fresh validators review worker implementation and black-box behavior independently.
Feature planning can contaminate correctness criteria.
Root cause: If the system plans features before defining validation, the contract can reflect implementation bias.
Resolution: The orchestrator writes the validation contract before defining features.
Evaluation
Factory evaluated Missions with milestone validation rounds, black-box user-testing validators, issue/fix-feature counts, generated code/test metrics, and statement coverage.
Metrics: 38.8k lines of code generated · 52.5% of generated lines were tests · 89.25% statement coverage · 2-4 validation rounds per milestone · 81 issues surfaced by validators · 21 targeted fix features generated by the orchestrator
3 supporting quotes
Outcomes
- Missions closed the software-development loop through decomposition, implementation, validation, and targeted fixes.
- Fresh validators produced a steady correction loop rather than letting worker output stand unreviewed.
- The architecture lets improvements in planning, execution, and validation models compound across roles.
The source reports a sample mission with 38.8k lines, 52.5% tests, 89.25% statement coverage, and every milestone converging in 2-4 validation rounds.