
Apresentando o Swarm: Orquestração Multi-Agente e um Gateway LLM em Rust
Enquanto experimentava com sistemas multi-agente, eu acabava com duas peças separadas de infraestrutura: uma camada de orquestração para agentes e ferramentas, e uma camada de gateway para roteamento de solicitações LLM.
Eu queria que ambas compartilhassem o mesmo tempo de execução, abstrações de provedor, gerenciamento de estado e contratos de protocolo.
Então eu construí Swarm, um framework de orquestração de IA de código aberto e gateway de modelo escrito em Rust.
A Arquitetura de Modo Duplo
Many AI stacks end up separating these concerns: a dedicated proxy for lightweight routing and a separate orchestrator for more complex reasoning. Swarm unifies both patterns around a single high-performance Tokio runtime.
+--------------------------------------------------------------------------------------------------+
| MODOS DO SWARM |
+--------------------------------------------------------------------------------------------------+
| |
| MODO 1: ORQUESTRAÇÃO MULTI-AGENTE & MCP MODO 2: SERVIDOR GATEWAY DE MODELO |
| (kickstart/multi_agent_orchestration_kickstart/) (kickstart/gateway_kickstart/) |
| |
| • Agente Planejador (Geração dinâmica de planos) • POST /v1/chat/completions (OpenAI) |
| • Agente Executor (Execução de DAG de workflow) • POST /v1/responses (Respostas Abertas) |
| • Especialistas de Domínio com integração de Ferramentas MCP • Encadeamento multi-turno com estado |
| • Serviços de Descoberta & Memória • Multi-provedor (Groq, Gemini, OpenAI, |
| • Serviço de Avaliação & Julgamento Ollama / vLLM / endpoints locais) |
| • Autenticação OAuth2 / JWT resiliente • Cache sem bloqueio de alta vazão |
| |
+--------------------------------------------------------------------------------------------------+
A ideia chave: Swarm pode funcionar como uma pilha completa de orquestração de agentes ou como um gateway LLM autônomo sem exigir dois frameworks não relacionados.
Modo 1: Orquestração Multi-Agente Determinística com MCP
Coordenar múltiplos agentes se torna muito mais fácil quando os limites de serviço e os contratos de mensagem são explícitos.
O Modo 1 divide responsabilidades entre serviços especializados desacoplados:
- Agente Planejador: Analisa as solicitações de usuários e constrói dinamicamente DAGs de execução.
- Agente Executor: Resolve dependências de tarefas e controla a execução das etapas.
- Especialistas de Domínio : Executam ferramentas ao vivo através de um runtime nativo Protocolo de Contexto de Modelo (MCP) (suportando SSE e chamadas de ferramentas em streaming).
- Descoberta & Memória : Mantêm registros de serviços e estado conversacional.
- Serviço de Avaliação : Loop de validação LLM-como-Julgador embutido para verificação de saída e autocorreção.
A comunicação entre agentes depende de contratos de mensagem tipo-seguro de agente-para-agente (A2A), capturando muitos erros de contrato e integração durante o desenvolvimento e compilação.
Solicitação do Usuário
↓
Planejador
↓
DAG de Execução
↓
Executor
↓
Agente do Tempo
↓
Ferramenta de Tempo MCP
↓
Avaliação
↓
Resposta Final
Modo 2: Gateway de Modelo Compatível com OpenAI
O Modo 2 expõe um gateway compatível com OpenAI para aplicações cliente, ferramentas de desenvolvedor e pipelines automatizados.
-
Compatibilidade com OpenAI (
POST /v1/chat/completions): Funciona com SDKs padrão da OpenAI, Cursor e extensões de desenvolvedor. -
Respostas com Estado (
POST /v1/responses): Suporta encadeamento de conversas multi-turno usando referências explícitas deprevious_response_id. - Roteamento Multi-Provedor Unificado: Roteia solicitações através de Groq, Google Gemini, OpenAI, ou backends locais como Ollama, vLLM, e llama.cpp através de configuração TOML.
[servidor]
bind_address = "0.0.0.0:8080"
log_level = "info"
[modelos]
modelo_padrão = "openai/gpt-oss-20b"
[provedores.groq]
api_url = "https://api.groq.com/openai/v1/chat/completions"
[provedores.google]
api_url = "https://generativelanguage.googleapis.com/v1beta/models"
[provedores.custom]
# Inferência local (Ollama / vLLM / llama.cpp / LocalAI)
api_url = "http://localhost:11434/v1/chat/completions"
modelos_recomendados = ["llama3.2:latest", "mistral:latest", "deepseek-r1:8b"]
Por que Rust?
Rust oferece ao Swarm algumas propriedades úteis para cargas de trabalho de orquestração e gateway:
- ⚡ Manipulação de Solicitações com Baixo Sobrecarga: Construído sobre Tokio e Hyper para cargas de trabalho de gateway assíncronas e de alta concorrência.
-
🔒 Gerenciamento de Sessões Concorrentes: Armazenamentos baseados em
DashMapeArcpermitem estado compartilhado entre solicitações concorrentes sem um bloqueio global da aplicação. - 🪶 Pequeno Pé de Página de Runtime: Sem coletor de lixo e propriedade de memória previsível tornam o gateway adequado para implantações leves.
- 🛡️ Protocolos Fortemente Tipados: Contratos de mensagem internos MCP e A2A reduzem incompatibilidades de esquema e erros de integração.
Início Rápido
Você pode testar qualquer modo localmente em minutos:
git clone https://github.com/fcn06/swarm.git
cd swarm
# Configure suas chaves de provedor
cp .env.example .env
Opção A: Iniciar o Gateway de Modelo (Modo 2)
./kickstart/gateway_kickstart/01_launch_gateway.sh
# Testar conclusões compatíveis com OpenAI
curl -X POST http://localhost:8080/v1/chat/completions -H "Content-Type: application/json" -d '{
"model": "openai/gpt-oss-20b",
"messages": [{"role": "user", "content": "Explique a arquitetura do Swarm em 2 frases."}]
}'
Opção B: Iniciar a Suite Multi-Agent MCP (Modo 1)
O Swarm pode ajudar empresas brasileiras a integrar sistemas de IA de forma mais eficiente, permitindo a orquestração de múltiplos agentes e a utilização de modelos LLM de maneira simplificada. Isso pode resultar em processos mais ágeis e na melhoria da experiência do usuário em aplicações que utilizam IA.
Noticias relacionadas
Servidor MCP 1.1.0 da endoflife.ai: Exposição KEV, verificações SBOM e dispositivos de borda para agentes de IA
O servidor MCP da endoflife.ai agora possui dez ferramentas de leitura. Novas funcionalidades incluem exposição a vulnerabilidades conhecidas e status de dispositivos de borda, essenciais para a segurança de versões de software.

O que os agentes de IA realmente veem ao buscar seu Ator Apify
O artigo explora como os agentes de IA interagem com o servidor MCP da Apify, destacando a importância da descrição e otimização dos Ators para serem encontrados. Inclui uma análise de como os resultados de busca diferem entre humanos e agentes.
Como o Protocolo de Contexto do Modelo (MCP) muda para sempre o lançamento de recursos em SaaS
O Protocolo de Contexto do Modelo (MCP) é mais do que leitura de dados; sua aplicação mais poderosa é a orquestração de aplicativos em tempo de execução, permitindo que agentes de IA gerenciem anúncios e guias de onboarding sem código efêmero.
Gostou do conteudo?
Receba toda semana as principais novidades sobre WebMCP.