Mixture of Agents
Mixture of Agents (MoA) is a system design in which multiple independent AI model instances — each acting as an autonomous agent — collaborate on a task, with their outputs aggregated by a coordinating layer that synthesises a final response. Unlike Mixture of Experts, where sub-networks share weights inside a single model, Mixture of Agents uses separate, fully independent models (often different LLMs or the same LLM called in parallel) and combines their outputs at the inference level. Research has shown that aggregating responses from several models frequently outperforms any individual model, because different models catch different errors and offer complementary reasoning paths.
Think of it like a panel of reviewers: each reviewer reads the brief independently and writes their assessment, then a chair synthesises the best points from each review into a unified verdict that is stronger than any single review alone.
A minimal MoA pipeline might call three models in parallel and then pass their outputs to a final aggregator:
import asyncio
async def call_model(client, model, prompt):
r = await client.chat.completions.create(
model=model, messages=[{"role":"user","content":prompt}])
return r.choices[0].message.content
async def mixture_of_agents(prompt):
drafts = await asyncio.gather(
call_model(oai, "gpt-4o", prompt),
call_model(oai, "gpt-4o-mini", prompt),
call_model(ant, "claude-3-5-sonnet", prompt),
)
agg = "Synthesise these drafts:
" + "
---
".join(drafts)
return await call_model(oai, "gpt-4o", agg)
Mixture of Agents relates closely to Mixture of Experts (the intra-model analogue), Zero-Shot prompting (each agent answers independently), Chain of Thought (agents can reason before drafting), and RAG (agents may each query different retrieval sources).
You are most likely to encounter Mixture of Agents in agentic frameworks, evaluation pipelines, and research on LLM ensembling where the goal is to squeeze maximum accuracy out of available models without retraining any of them.