6

Criei uma malha P2P para agentes de IA conversarem, sem Kafka, sem Redis, sem infraestrutura

Nos últimos meses, cansei de gerenciar a infraestrutura necessária para fazer agentes de IA conversarem entre si. Se você tem o Agente A (num container Docker atrás de NAT) e o Agente B (numa VPS com IP público), a solução padrão é montar um cluster Kafka, NATS, Redis Pub/Sub ou assinar um serviço de nuvem pago. É um overhead bizarro de infraestrutura para algo que deveria ser simples.

Para resolver isso, criei o Elo: uma malha de mensagens P2P descentralizada e agnóstica feita sob medida para agentes de IA.

A ideia é que cada agente seja um nó autônomo na rede. Cada nó tem um par de chaves Ed25519, uma porta TCP e zero dependências externas. É TCP direto entre os nós sempre que possível.

Como funciona a arquitetura?
Como gerenciar IPs e firewalls de agentes dinâmicos é um caos, o Elo resolve isso com quatro pilares:

Tracker estilo BitTorrent: Um nó público (ou privado seu) que sabe quem está online. O agente se conecta nele, descobre os outros peers da malha e estabelece a conexão direta.

Relay automático (NAT Traversal): Se dois nós não conseguem se conectar diretamente por restrições de firewall (ex: subredes Docker ou redes domésticas), o tracker faz o relay transparente dos pacotes.

Identidade Soberana (Ed25519): Chega de tokens estáticos e senhas em texto puro no código. Cada nó tem sua identidade criptográfica. Todas as mensagens são assinadas nativamente na camada de transporte.

Roteamento por Capacidade (Capability Discovery): Em vez de apontar para IPs fixos, você interroga a malha: "Quem tem a capacidade X?" (ex: execução de código, busca web, acesso a banco). O tracker responde e você se conecta ao agente certo.

Código na prática (Python)
A API foi desenhada para ser o mais enxuta possível:

`Python
import asyncio
from elo import Node

async def main():
# Inicializa o nó apontando para o tracker da malha
node = Node("meu-agente", peers=["tracker.exemplo.com:7878"])
await node.connect()

# Registra o escopo do agente e suas ferramentas na malha
await node.register(agents=["analise"], tools=["web-search"])

@node.on_task
async def handle(task):
    return {"result": f"Processado via P2P por {node.node_id}"}

await node.run()

if name == "main":
asyncio.run(main())`

Para testar no seu ambiente:

Bash pip install elo-node

Estado Atual do Projeto
O projeto é MIT (Open Source) desde o primeiro commit e já está funcional:

✅ Core P2P ativo (conexão TCP, handshake e orquestração de tasks)

✅ Relay via tracker estável para nós atrás de NAT/Docker

✅ Descoberta de peers via tracker funcional

✅ Identidade persistente baseada em chaves criptográficas

✅ Suíte inicial com 36 testes unitários cobrindo o core

O que está no Roadmap:

  • Go SDK: Para agentes e ferramentas leves/compiladas.
  • Gateway REST: Para integrar facilmente sistemas legados via webhooks.
  • Bridges nativas: Conectores para Discord/Telegram expondo capacidades da malha.
  • CLI robusta: Um client estilo kubectl para monitorar a topologia e saúde da malha em tempo real.

Links do Projeto
O código está aberto e pronto para receber críticas, testes e contribuições:

GitHub: github.com/andreocc/elo

PyPI: pip install elo-node

Se a proposta fizer sentido para o que você está construindo, deixa uma ⭐ Star no GitHub para ajudar o projeto a ganhar tração. feedback técnico sobre a arquitetura (especialmente o NAT traversal e modelo de capabilities) é extremamente bem-vindo nos comentários!

Carregando publicação patrocinada...
1

Você pensou nisso para um ambiente fechado? minha duvida real é a seguinte, se alguem assumir o controle de um dos agentes o que pode acontecer?

1

estou rodando dentro de uma malha tailscale. tem a opção do tracker funcionar privado e publico. se for privado, ele só aceita comandos da allowlist. mas o mais seguro é realmente rodar em uma rede privada como estou fazendo.

1

entendi, uma pergunta antes de tudo... você tá levanto isso a sério? Fiz um projetinho parecido de skills, voltado não pra rede privada, mas pro servidor privado. Eu gostei da sua ideia, mas assim como no meu projeto eles são bem falhos na segurança. É como se agente estivesse delegando a segurança a terceiros entendeu? Topa agente conversar e validar isso pra ambiente aberto? Porque eu to movendo uma interface pra iot e acho que rede p2p é bem interessane na mescla da minha ideia, se agente achar umas coisas legais ai na segurança vai ser top, manda mail ai edilson.tec@hotmail.com

1