Not about speed. About making several agents with different viewpoints attack one decision — independently — and forcing a reconciliation that is better than any single averaged take.

The problem with one view
When you ask one model to evaluate a decision, it gives one view — usually averaged and cautious. It tends to agree with itself, smooth over tension, find balance. That is the failure mode: an important decision cannot be evaluated by one averaged view. It must be attacked from different sides.
A swarm of roles inside one process can help. MacProbe’s deep dive goes further: several real agent sessions, a hard blindness rule, a named Integrator merge that keeps disagreement as a signal, then specialists and a plan — not a mushy “on the one hand” summary.
Blindness is not etiquette. Without it you get agreement theater: agents converge on a polished framing that would have shipped the wrong design if specialists had started from one draft instead of a conflict map.
Architecture
Tier 1 is the blind prompt comparison. Same brief, independent packets, no cross-read.
Tier 2 is the specialist review. Lane skills staff Disagree / Unknown from the conflict map — often skipped.
0 ORCHESTRATE
task → brief + anti-brief (required: what it is NOT)
Operator / Integrator · evidence freeze (SHA / URL / crawl)
1 BLIND COMPARISON (x1–4 agents)
tier1 | agent tier1 | agent tier1 | agent
independent | parallel | same brief | no cross-read
GATE — conflict map
agree | disagree | unknown | out · reconciles · no average
│
├─ Agree ─────────────────────────► plan / thin deltas
│ (advocate first if too clean)
├─ Disagree / Unknown ─► Tier 2 ─► revised map ─► plan
└─ Out of scope ─────────────────► parked
STRESS (optional)
devil's advocate | debate on Disagree
2 TIER 2 SPECIALISTS (only if the map needs them)
3 DECIDE
plan -> issues -> build -> retro -> next brief
0. Brief + anti-brief
The brief takes the question and decides who runs Tier 1. It does not analyze the decision.
The anti-brief is required — a negative prompt. Exclude wrong problem categories, not a preferred conclusion.
Worked example (site visual language dive):
Not a full brand redesign · not a scoring rewrite · not “just add WebGL” · not a MacBook GLB / photoreal model loader.
Without the GLB line, research time went into Three.js mesh loading that was out of scope for a placement-doctrine question.
Pin an evidence freeze (deploy SHA, crawl time, screenshot path) so agents are not arguing past each other across different site versions.
1. Tier 1 — blind comparison
Each agent sees the same brief (+ anti-brief). They do not see each other’s packets. Packets are immutable after filing; debate (if any) is a labeled appendix.
With N = 1, you still get a structured packet — you do not get a comparison. Use one agent only for local/low-risk questions.
Gate — conflict map
The Integrator writes Agree / Disagree / Unknown / Out of scope. Not averaging. Agreement can ship; conflict gets staffed; nothing is blended into mush.

Stress (optional)
Devil’s advocate if Agree is too clean. Debate only on material Disagree. Skip when the map is already full of hard fights.
2. Tier 2 — specialists
Prove or kill claims on the map. Skill paths must exist before dispatch. If a live tool fails, fall back to static analysis and say so. Skip when Tier 1 already converges (common for post-ship audits).
3. Plan → build → retro
Plan pack or thin delta list, then ship with the usual coordination locks.
The loop learns
The retro is not a vanity scorecard. After our site-visual-language dive, the retro’s agent-weighting notes changed real staffing on the next cycle: Tier 2 seats and build waves were routed by who had been sharp vs fast on which kind of work. A one-shot orchestrator script cannot compound that way. Low scores on a dissent packet can still mean the agent did their job — disagreement is the product.
What makes this work
- Independence is a working condition. Peer-read packets are tainted, not quietly folded into Agree.
- The merge preserves conflict. The fight stays visible — that is where the decision is risky.
- Roles (or models) must actually differ. Model diversity, optional conflicting lenses, and a devil’s advocate against fake consensus keep the spectrum.
Post-ship variant
After a visual/UX wave is live: fresh production crawl → blind audit (no ship plan) → gate overlays doctrine → thin deltas or stop. Same blindness. Prefer not opening another visual epic until the audit says so.

Why not one orchestrator script?
In-process swarms (one client, role prompts, JSON merge) are a fine pattern. MacProbe’s deep dive keeps:
- Real sessions with different models (not only persona tags on one model)
- A named Integrator accountable for the map
- A path into specialists, issues, and production
- A retro that changes the next brief — the loop compounds
Order: brief → independent reviewers → conflict-preserving merge → targeted specialists → decision → ship → learn.
Anti-goals
- Not a mandatory ritual for every ticket
- Not a leaderboard that punishes dissent
- Not marketing that rounds up “often skip Tier 2”
- Not hand-edited diagrams that drift from their source