Provider diversity turns blind spots into caught bugs
Yet a single model auditing itself reproduces its own systematic blind spots — one mind checking itself keeps exactly the same gaps.
So what does it take to make the reviewer genuinely see what the author missed?
amplifier-foundation's ensemble example runs the SAME prompt across multiple providers to "reduce bias from a single model" via consensus voting — and it exposes real distinct providers, not just Anthropic.
But adding more reviewers only helps if they actually differ.
A copy of the same model brings the same blind spots. A reviewer that trusts the first one's report adds nothing. Sameness and believed self-reports are the failure mode any real swarm has to defeat.
amplifier-next defeats it by construction — here's how.
In amplifier-next's v0.2 harness, the L1 auditor is deliberately pinned to a different model family than the executor "for diversity" — and it never trusts the executor's self-report.
That difference is wired in through provider preference, not left to chance.
The executor leads with Anthropic; the auditor leads with Copilot. The top preference is swapped between the two roles, so each role's blind spot is checked by the other provider.
Difference within one task. The council extends independence across many reviewers.
anthropic / claude-haiku-*, then github-copilot / gpt-5-minigithub-copilot / gpt-5-mini, then anthropic / claude-haiku-*amplifier-bundle-council's convene-panel recipe guarantees a cold, independent Round-1 fan-out — every prompt references only the target, never a sibling reviewer's output.
Independent by dispatch. Now those independent views have to converge.
After the independent fan-out, panel-guide.md's debate loop assesses convergence by extracting the open items — and only skips to synthesis once there are none left. Parallel-and-independent becomes one converged answer.
That completes the recipe for the swarm.
Because the executor, auditor, and panelists run on different providers with independent context, one model's systematic blind spot is exactly what a different model is positioned to catch — one model's blind spot becomes another's caught bug. The pattern is composed from three verified repos, not a single shipped product.
amplifier-foundation ensembles it, amplifier-next audits it, amplifier-bundle-council converges it.
Status: composed pattern across 3 repos
Data as of: based on git metadata through 2026-07-09 (amplifier-next v0.2 harness commit)
Research performed:
wc -l examples/17_multi_model_ensemble.py; cat examples/17_multi_model_ensemble.py — 421 lines, ensemble_consensus() "run the same prompt across multiple models"ls providers/*.yaml | wc -l; grep -h 'module: provider' providers/*.yaml | sort -u — 5 YAMLs, modules provider-anthropic & provider-openaised -n '1,25p' amplifier-next/agents/auditor.md — "different model family than executor for diversity"; "Never trusts executor self-report."sed -n '1,15p' agents/executor.md; sed -n '1,12p' agents/auditor.md — inverted provider_preferences (anthropic-first vs copilot-first)ls agents/*.md | wc -l; grep -rln 'provider_preferences' agents/ — 5 agents, all with provider_preferenceshead -80 recipes/convene-panel.yaml; grep -rn -i 'converge|debate|synthes' panel-guide.md — cold Round-1 fan-out, debate loop, max_rounds 3git show -s --format='%H %an %ad %s' 4e2a3f5 — Samuel Lee, 2025-12-17, added examples 17 & 11git log --reverse -- agents/auditor.md | head -1 — 99c9843, 2026-07-09, v0.2 harness introduces auditor/executorGaps: "Multi-Provider Swarm" is a narrative label — no repo ships that name (grep -rli 'multi-provider swarm' found nothing). amplifier-bundle-council README says "Under construction"; its debate/convergence is concierge-driven, and its lenses run as independent sub-sessions rather than pinned to distinct API providers. The "40-60% cost savings" prose in example 17 is illustrative, not a measured benchmark. Code was not executed end-to-end (no live API keys).
Primary contributor: Samuel Lee <samueljklee@gmail.com> — authored the amplifier-foundation ensemble & provider-comparison examples.
Note: the originally suggested repo (provider-anthropic.broken) is a single-provider Anthropic connector, NOT the swarm mechanism.