Como Domar o Zoológico de Agentes de IA com Nasiko
Quando você executa um único agente Python para testes, tudo funciona de forma previsível. Adicione um segundo em TypeScript, um terceiro em Go, e as dores de cabeça começam. Os agentes começam a se chamar diretamente, as chaves de API dos modelos se espalham pelas configurações e logs, e quando um diálogo entra em loop, os tokens voam aos milhares em poucos minutos.

A equipe do Nasiko-Labs enfrentou isso da mesma forma que engenheiros de rede lidam com microsserviços. O projeto Nasiko serve como um plano de controle unificado para agentes, gerenciando roteamento, autorização, proteção contra loops infinitos e coleta de telemetria. Os próprios agentes são isolados do mundo externo e se comunicam estritamente através da especificação A2A (Agent-to-Agent v1.0).

O que essa plataforma pode fazer
Todo o sistema é projetado em torno da ideia de um único ponto de entrada. Os agentes fisicamente não aceitam conexões de entrada do exterior. Cada requisição entre agentes passa pelo servidor, onde as regras de acesso são verificadas e os limites são deduzidos.
Roteamento inteligente de chamadas
O cliente ou agente chamador não precisa saber o ID específico do serviço de destino. Dentro do Nasiko, um pipeline de três estágios seleciona o executor. Primeiro, o sistema filtra candidatos por similaridade vetorial de descrições, depois os reclassifica com base no contexto atual do diálogo, e um LLM leve separado faz a escolha final.
Manipulação segura de chaves e LLM Router
Em vez de codificar OPENAI_API_KEY em variáveis de ambiente de cada contêiner, os agentes recebem um endereço interno OPENAI_BASE_URL e um token de vida curta. O roteador proxy interno substitui a chave do provedor correto em tempo real. Segredos nunca terminam em logs ou código de contêiner.
Proteção contra loops infinitos e cascatas
Se dois agentes decidirem dar ping-pong infinitamente um no outro, o saldo de tokens rapidamente chega a zero. O Nasiko mantém contadores no Redis para profundidade do grafo de chamadas, limites de ramificação, timeouts e orçamentos de tokens por sessão. Assim que a profundidade da cadeia excede o limite definido, o servidor aborta a execução.
Gateway de ferramentas do protocolo MCP
Para conectar ferramentas externas, existe um MCP Gateway integrado. Ele agrega conectores (por exemplo, Composio ou servidores MCP personalizados) e fornece aos agentes uma única URL para chamadas de função com controle de acesso por agente.
Arquitetura e stack
O backend é escrito em Rust e compila em um único binário usando o framework Axum. Componentes comprovados são usados para armazenamento de estado:
- PostgreSQL armazena usuários, configurações de agentes e segredos criptografados (AES-256-GCM).
- Redis gerencia contadores de chamadas e proteção contra ciclos.
- O registro OCI integrado armazena imagens de contêiner em armazenamento compatível com S3.
- O stack OpenTelemetry, Tempo e Loki coleta traces distribuídos e logs para cada etapa.
Qualquer requisição entre agentes se torna um span OTel. O dashboard mostra imediatamente quantos tokens foram para uma etapa específica e quanto a chamada custou em centavos.
Início rápido com Docker
Para subir toda a stack, não é necessário conhecimento de Rust. Você só precisa do Docker Engine com o plugin Compose V2.
Primeiro, clone o repositório e crie o arquivo de ambiente:
git clone https://github.com/Nasiko-Labs/nasiko.git
cd nasiko
cp .env.example .env
No .env, você deve especificar sua chave OpenAI e a senha do admin:
OPENAI_API_KEY=sk-...
ADMIN_PASSWORD=strong_password_here
Depois disso, levante a infraestrutura:
docker compose up -d
A primeira inicialização levará alguns minutos, pois o servidor Rust compila dentro do contêiner. O painel de controle estará disponível em http://localhost:8080.
Trabalhando via CLI
Para desenvolvedores, existe um utilitário de console nasiko. Ele é instalado via Cargo:
cargo install --path cli/
Criar e iniciar um novo agente leva quatro comandos:
# Подключаемся к локальному кластеру
nasiko connect http://localhost:8080
nasiko auth login
# Создаем проект из шаблона
nasiko new openai assistant-bot
cd assistant-bot
# Собираем и деплоим
nasiko deploy .
# Проверяем работу в чате
nasiko chat --agent assistant-bot "Привет, чем ты можешь помочь?"
O comando deploy compila automaticamente o contêiner, faz push para o registro integrado do Nasiko e registra o agente no roteador.
Onde isso é útil
O projeto é direcionado a equipes que já passaram dos scripts simples de LangChain e estão construindo sistemas de produção com dezenas de agentes especializados.
Aqui estão cenários típicos onde o Nasiko economiza tempo:
- Pipelines multi-agente onde agentes são escritos por diferentes equipes em diferentes linguagens (Python, Node.js, Go).
- Sistemas com requisitos rigorosos de segurança onde chaves de API de produção não podem ser distribuídas para ambientes de execução externos.
- Monitoramento de custos de LLM por tarefas e usuários específicos sem análise manual de logs.
Em resumo
O Nasiko parece ser uma tentativa madura de empacotar a camada de rede e observabilidade de sistemas multi-agente em uma ferramenta compacta. Não há tentativa de forçar um DSL personalizado para escrever prompts: você é livre para escrever lógica em qualquer framework, desde que suporte a especificação A2A v1.0.
Se você está cansado de conectar manualmente microsserviços de agentes e contar tokens em dashboards fragmentados da OpenAI e Anthropic, o projeto definitivamente vale a pena executar localmente e testar. Para produção, tenha em mente o acoplamento apertado ao runtime Docker na versão open-source, mas para desenvolvimento local e ambientes de staging internos, já é uma opção viável.
Projetos relacionados