A inferência com modelos de linguagem monolíticos atinge platôs de custo e raciocínio. Treinar pesos adicionais para superar limites de precisão exige investimentos astronômicos em clusters de computação.
A arquitetura Mixture-of-Agents (MoA) rompe essa barreira ao orquestrar múltiplos modelos heterogêneos em camadas sequenciais de inferência. A abordagem foi introduzida pela Together AI e Stanford no paper Mixture-of-Agents Enhances Large Language Model Capabilities (arXiv:2406.04692).
O sistema combina geradores de hipóteses e sintetizadores críticos. Essa estrutura permite que modelos abertos superem sistemas proprietários fechados em benchmarks de ponta sem necessidade de novos treinamentos.

O que é Mixture-of-Agents (MoA) e qual o princípio da colaboratividade?
Mixture-of-Agents é um padrão arquitetural de inferência que organiza múltiplos LLMs em um grafo acíclico direcionado (DAG) em camadas. Nessa estrutura, as respostas geradas na camada anterior servem como contexto auxiliar para os modelos da camada seguinte refinarem a síntese.
A fundamentação teórica repousa sobre o fenômeno da colaboratividade (Collaborativeness). Modelos de linguagem produzem respostas de qualidade superior quando avaliam alternativas externas, mesmo quando essas propostas vêm de modelos com menor capacidade isolada.
O ecossistema divide os modelos em duas funções primárias:
- Proposers (Propositores): LLMs focados em gerar diversidade semântica, caminhos alternativos de raciocínio (Chain-of-Thought) e dados factuais (ex.: DeepSeek-Coder, Mixtral-8x22B, DBRX).
- Aggregators (Agregadores): Modelos com alta capacidade de síntese crítica que comparam divergências, eliminam alucinações e consolidam o texto final ótimo (ex.: Qwen-2.5-72B, Llama-3.3-70B, Claude 3.5 Sonnet).
Segundo o repositório oficial togethercomputer/MoA no GitHub, o ganho não decorre de mera votação. O agregador realiza uma síntese ponderada que extrai o melhor raciocínio de cada agente.
Como funciona a arquitetura em camadas e sua formulação matemática?
A topologia do MoA estrutura-se em um pipeline feed-forward de L camadas sequenciais, contendo N_l agentes paralelos por camada. Cada camada subsequente recebe a pergunta original combinada com todas as respostas da etapa anterior.
A propagação matemática segue passos discretos e bem definidos:
-
Camada de Proposição Inicial (
l = 1): A pergunta do usuárioxé enviada em paralelo paraN_1agentes propositores independentes. Cada agenteigera uma resposta preliminar:y_(1, i) = A_(1, i)(x)parai = 1, ..., N_1 -
Camadas de Agregação Intermediárias (
l = 2, ..., L-1): Cada agente da camadalrecebe a pergunta originalxconcatenada com o conjunto de respostas da camada anteriorY_(l-1) = {y_(l-1, 1), ..., y_(l-1, N_(l-1))}via função de promptf_agg:y_(l, i) = A_(l, i)(f_agg(x, Y_(l-1))) -
Camada de Síntese Final (
l = L): Um agregador central consolida a saída definitiva para o usuário:y_final = A_(L, 1)(f_agg(x, Y_(L-1)))
A função de agregação f_agg injeta as propostas sob um template estruturado. O modelo é orientado a comparar os pontos fortes e corrigir erros factuais antes de formular a resposta.
Você recebeu uma solicitação do usuário e as respostas preliminares de outros modelos auxiliares.
Analise criticamente as respostas fornecidas, identifique inconsistências ou omissões e sintetize a resposta final mais precisa e completa.
Solicitação Original:
{prompt_usuario}
Respostas dos Modelos Auxiliares:
[Resposta 1]: {resposta_1}
[Resposta 2]: {resposta_2}
[Resposta 3]: {resposta_3}
Resposta Final Otimizada:

Quais as diferenças entre MoA, MoE, Multi-Agent Debate e Self-Consistency?
O MoA atua exclusivamente no nível de inferência de caixa-preta via prompts em linguagem natural, sem alterar tensores ou arquiteturas internas de redes neurais. Cada técnica do ecossistema opera em camadas de abstração distintas.
As principais distinções conceituais organizam-se da seguinte forma:
- Mixture of Experts (MoE): Opera na microarquitetura interna do Transformer no nível de tensores. Conforme formalizado por Fedus et al. (JMLR 2022), camadas densas são substituídas por especialistas ativados via Softmax Top-k Gating durante o treinamento.
- Multi-Agent Debate: Estabelece conversações multi-turno entre agentes. Como demonstrado por Du et al. (arXiv:2305.14325), o formato sofre com latência indeterminada e risco de colapso por conformidade (groupthink).
- Self-Consistency: Amostra múltiplas respostas estocásticas (
Temperatura > 0) de um único modelo e aplica votação majoritária, como formulado por Wang et al. (arXiv:2203.11171). Funciona bem para respostas exatas em matemática, mas falha em sínteses dissertativas complexas. - Mixture-of-Agents (MoA): DAG feed-forward determinístico com modelos heterogêneos. Executa em poucas camadas fixas e permite mesclar fornecedores e pesos distintos.
| Dimensão | Mixture-of-Agents (MoA) | Mixture of Experts (MoE) | Multi-Agent Debate | Self-Consistency CoT |
|---|---|---|---|---|
| Nível de Operação | Orquestração de APIs / Inferência | Microarquitetura interna de tensores | Diálogo conversacional multi-turno | Amostragem estocástica de decodificação |
| Treinamento de Pesos | Não exige treino (Zero-Training) | Treinamento conjunto de ponta a ponta | Não exige treino | Não exige treino |
| Heterogeneidade | Alta (Open-source + APIs proprietárias) | Baixa (Especialistas homogêneos no mesmo grafo) | Média (Prompts distintos) | Nenhuma (Mesmo checkpoint) |
| Topologia de Execução | DAG feed-forward estruturado em camadas | Roteamento por token em cada camada feed-forward | Grafo conversacional dinâmico | Amostragem paralela 1-passo com votação |
| Caso de Uso Ideal | Síntese de conhecimento e raciocínio profundo | Eficiência computacional no pré-treinamento | Refinamento de código e consenso crítico | Resolução de problemas matemáticos fechados |
O que os benchmarks comprovam sobre o ganho empírico do MoA?
Experimentos rigorosos comprovam que pipelines MoA baseados 100% em modelos abertos superam o GPT-4o e GPT-4 Turbo em benchmarks de alinhamento e raciocínio. A diversidade de hipóteses compensa limitações individuais de capacidade.
No benchmark AlpacaEval 2.0 com controle de comprimento (arXiv:2404.04475), o MoA com 3 camadas utilizando 6 modelos abertos atingiu 65,1% de Win Rate. O resultado superou com folga o GPT-4o isolado (57,5%) e o GPT-4 Turbo (55,3%).
| Modelo / Configuração | AlpacaEval 2.0 (LC Win Rate) | Arena-Hard-Auto | MMLU (5-shot) |
|---|---|---|---|
| MoA Híbrido (Proposers Abertos + GPT-4o Aggregator) | 69,7% | 68,9% | 82,4% |
| MoA 100% Open-Source (L=3, N=6) | 65,1% | 67,4% | 81,6% |
| GPT-4o (Standalone / Maio 2024) | 57,5% | 66,6% | 88,7% |
| GPT-4 Turbo (Standalone / Nov 2023) | 55,3% | 56,0% | 86,5% |
| Claude 3 Opus (Standalone) | 40,5% | 60,4% | 86,8% |
| Llama-3-70B-Instruct (Standalone) | 51,5% | 55,3% | 79,5% |
| Qwen1.5-110B-Chat (Standalone) | 43,9% | 49,7% | 79,9% |
Os dados do LMSYS Arena-Hard Report confirmam o mesmo padrão. O MoA atinge 67,4%, superando modelos fechados proprietários através da colaboração estruturada entre modelos abertos.

Quais são os gargalos de engenharia e como otimizar latência em produção?
Os dois gargalos críticos de engenharia no MoA são a latência acumulada por camadas e o crescimento multiplicativo no consumo de tokens (context bloat). A viabilidade em produção depende de estratégias agressivas de caching e paralelismo assíncrono.
Em uma topologia densa de L camadas com N modelos, o consumo de tokens de entrada escala como O(L × N × T). A latência de cada camada é ditada pelo agente mais lento (Straggler Problem).
O caminho crítico total de tempo de resposta é expresso pela soma dos máximos por camada:
T_total = ∑_(l=1)^L max_(i) (TTFT_(l, i) + T_(decode, l, i))
Para operar com alta taxa de transferência e custos controlados, quatro técnicas são indispensáveis:
- Paralelismo Assíncrono Não-Bloqueante: Disparo concorrente via
asyncio.gather()em Python com timeouts rígidos de SLA no percentil P95 (Early Straggler Dropping). Se um modelo atrasar, a agregação prossegue com as respostas prontas. - Prefix e Context Caching (RadixAttention): Conforme demonstrado no framework SGLang por Zheng et al. (NeurIPS 2024) e no vLLM por Kwon et al. (SOSP 2023), reutilizar o cache KV do prompt inicial do usuário reduz o processamento em até 80%.
- Sparse MoA com Reranking Semântico: Em vez de enviar todas as respostas para a camada seguinte, um algoritmo de reranking seleciona apenas as
kmelhores propostas (k = 2ouk = 3), reduzindo o payload de entrada em 60%. - Adaptive Early-Exit: Avaliar a concordância semântica entre os propositores na primeira camada. Se houver consenso absoluto, o pipeline encerra a execução na camada 1 sem chamar os agregadores subsequentes.
import asyncio
from typing import List, Dict, Any
import httpx
async def call_proposer(client: httpx.AsyncClient, model_id: str, prompt: str, timeout: float = 4.0) -> str:
"""Executa inferencia em um modelo propositor com SLA estrito."""
payload = {
"model": model_id,
"messages": [{"role": "user", "content": prompt}],
"temperature": 0.7,
"max_tokens": 1024,
}
try:
response = await client.post("http://inference-gateway/v1/chat/completions", json=payload, timeout=timeout)
response.raise_for_status()
return response.json()["choices"][0]["message"]["content"]
except Exception as exc:
# Straggler dropping: falha graciosa em caso de timeout
return ""
async def run_moa_pipeline(user_query: str, proposers: List[str], aggregator: str) -> str:
"""Orquestra pipeline MoA assincrono de duas camadas em producao."""
async with httpx.AsyncClient() as client:
# Camada 1: Disparo concorrente dos Proposers
tasks = [call_proposer(client, model, user_query) for model in proposers]
proposals_raw = await asyncio.gather(*tasks)
# Filtra respostas vazias ou que sofreram timeout
valid_proposals = [p for p in proposals_raw if p.strip()]
if not valid_proposals:
raise RuntimeError("Nenhum propositor respondeu dentro do SLA estipulado.")
# Formatacao do prompt de agregacao
formatted_proposals = "\n\n".join([f"--- Proposta {i+1} ---\n{p}" for i, p in enumerate(valid_proposals)])
aggregation_prompt = (
f"Considere a consulta: '{user_query}' e as respostas preliminares abaixo:\n\n"
f"{formatted_proposals}\n\n"
f"Analise os pontos fortes e discrepancias e gere a sintese final completa e precisa."
)
# Camada 2: Sintese Final com o Agregador
final_response = await call_proposer(client, aggregator, aggregation_prompt, timeout=8.0)
return final_response
Como selecionar os modelos para compor o ecossistema de agentes?
A seleção ótima de modelos combina diversidade de arquiteturas na camada de proposição com capacidade analítica superior na agregação. Mesclar famílias de pesos previne vícios cognitivos compartilhados.
Para a camada de proposição, a recomendação é utilizar modelos de especialidades complementares:
- Raciocínio Lógico e Código: DeepSeek-Coder-V2 ou Qwen-2.5-Coder para validação estrutural de algoritmos e sintaxe técnica.
- Ampla Cobertura Factual: Llama-3.3-70B-Instruct ou Mixtral-8x22B para abrangência enciclopédica e contextualização histórica.
- Modelos Rápidos de Baixa Latência: Qwen-2.5-7B ou Llama-3.1-8B atuando como geradores de hipóteses preliminares com custo marginal mínimo.
Para a camada de agregação, o modelo deve apresentar pontuações elevadas em benchmarks de seguimento de instruções complexas (Instruction Following) e baixa taxa de alucinação quando exposto a contextos ruidosos.
Quais são os trade-offs e quando não utilizar MoA?
O MoA não deve ser utilizado em aplicações que exigem latência sub-segundo em tempo real ou em consultas factuais triviais com resposta determinística. A complexidade operacional só se justifica quando o valor da acurácia supera o custo adicional de inferência.
Os principais trade-offs operacionais incluem:
- Latência para Primeiro Token (TTFT): O usuário precisa aguardar a conclusão integral da camada 1 antes que a camada 2 inicie o streaming de tokens.
- Multiplicação de Custo: Chamar múltiplos modelos aumenta o custo de tokens proporcionalmente ao número total de agentes.
- Risco de Diluição de Contexto: Contextos longos (> 64k tokens) contendo respostas prolixas podem sofrer com o fenômeno Lost in the Middle, degradando a síntese do agregador.
Para tarefas de atendimento conversacional direto ou buscas simples de banco de dados, modelos únicos compactos são a escolha técnica correta. Para tarefas críticas de auditoria, síntese jurídica, análise de vulnerabilidades e geração de código complexo, o MoA entrega precisão inatingível por agentes isolados.
Perguntas Frequentes (FAQ)
O que significa a sigla MoA em inteligência artificial?
MoA significa Mixture-of-Agents. Trata-se de uma arquitetura que organiza múltiplos modelos de linguagem em camadas para que colaborem na geração e síntese de respostas.
Qual é a diferença fundamental entre MoA e MoE?
MoA opera na camada de inferência orquestrando múltiplos modelos completos via prompts em linguagem natural. MoE (Mixture of Experts) opera no nível de tensores dentro da arquitetura interna de uma rede neural via roteamento por token.
Por que modelos menores conseguem melhorar a resposta de um modelo maior no MoA?
Pelo fenômeno da colaboratividade. Mesmo modelos menores trazem ângulos semânticos e fatos complementares que ajudam o modelo agregador a identificar omissões e sintetizar uma resposta mais abrangente.
O Mixture-of-Agents aumenta a latência da aplicação?
Sim. A execução sequencial de camadas adiciona latência cumulativa. Em produção, isso é mitigado com chamadas assíncronas paralelas, descarte antecipado de modelos lentos e reaproveitamento de cache KV.
É possível combinar modelos de provedores diferentes no MoA?
Sim. Como o MoA opera sobre saídas em linguagem natural, é possível orquestrar modelos locais de código aberto (via vLLM ou Ollama) e APIs proprietárias na mesma topologia.
Fontes Primárias e Referências Técnicas
- arXiv:2406.04692: Mixture-of-Agents Enhances Large Language Model Capabilities (Wang et al., Together AI & Stanford)
- Repositório Oficial Together Computer: togethercomputer/MoA
- JMLR 2022: Switch Transformers: Scaling to Trillion Parameter Models with Simple and Efficient Sparsity (Fedus et al.)
- arXiv:2305.14325: Improving Factuality and Reasoning through Multiagent Debate (Du et al., MIT & Google Brain)
- arXiv:2203.11171: Self-Consistency Improves Chain of Thought Reasoning (Wang et al., Google Research)
- arXiv:2404.04475: Length-Controlled AlpacaEval: De-biasing Automatic Evaluators (Dubois et al., Stanford CRFM)
- LMSYS Org: Arena-Hard: An Automatic Benchmark for Instruction-Tuned LLMs
- arXiv:2312.07104: SGLang: Efficient Execution of Structured Language Model Programs with RadixAttention (Zheng et al.)
- arXiv:2309.06180: Efficient Memory Management for Large Language Model Serving with PagedAttention (Kwon et al., vLLM)