
A empresa de investimentos em criptomoedas Paradigm e a Tempo lançaram em conjunto, a 21 de maio, como código aberto o Centaur, um framework de execução de AI Agent autoalojado e colaborativo, que tem sido amplamente utilizado internamente na Paradigm desde janeiro, em várias equipas, incluindo investimentos e engenharia. O Centaur funciona na forma de “empregados virtuais partilhados”, podendo ser acionado através de threads do Slack ou por API.
Arquitetura de segurança: Iron Proxy com injeção de credenciais na camada de rede
O desenho central de segurança do Centaur é “o Agent nunca detém chaves de API”. Todas as credenciais ficam concentradas num gestor de chaves isolado; entre cada contentor de sandbox e a rede externa é implementado um Iron Proxy como firewall. Quando o Agent envia pedidos para uma API externa, a firewall identifica o host de destino, extrai as credenciais correspondentes do gestor de chaves e injeta-as nos cabeçalhos do pedido de saída antes de o encaminhar — o Agent só vê a resposta da API, sem nunca obter os valores originais das chaves. Todos os pedidos de saída são registados pela firewall; o corpo de resposta das APIs LLM é varrido em tempo real para detetar fugas e mascarar.
Arquitetura de serviços: Slackbot, FastAPI, Postgres e contentores de sandbox
O Centaur adota uma arquitetura de serviços sem estado, com toda a persistência de estado no Postgres; após reinícios, os serviços não perdem contexto. Os componentes centrais incluem: o Slackbot (um ouvinte webhook em Next.js), o plano de controlo FastAPI (para gerir o ciclo de vida das sessões do Agent e os endpoints de ferramentas) e contentores de sandbox independentes para cada thread do Slack (pré-instalados com Node.js, Python, Rust e Git, com acesso apenas à rede interna). O motor de workflows regista o progresso das tarefas em checkpoints a nível de passos no Postgres; em caso de falha, recupera com precisão a partir do último passo concluído, sem repetir trabalho já feito. A inspiração do desenho vem de uma arquitetura de Postgres orientada por Absurd.
Mecanismo de extensão: interfaces abertas para ferramentas, skills e workflows
O mecanismo de extensão do Centaur é composto por três partes. As ferramentas (Tools) são do tipo Python; ao colocá-las no diretório tools/, são detetadas automaticamente pela API e são gerados endpoints REST, com suporte a reloading a quente. As ferramentas declaram, no pyproject.toml, os hosts de API e as credenciais necessárias para funcionarem em conjunto com a injeção pela firewall. As skills (Skills) são ficheiros .agents/skills/*/SKILL.md; ao adicioná-las, cada sessão de Agent herda-as automaticamente. Os workflows (Workflows) são ficheiros Python na pasta workflows/; suportam execução agendada via cron, acionamento por API e composição de workflows. As empresas podem montar imagens Docker através de Overlay, fornecendo ferramentas e skills específicas da empresa. Todos os dias, o Centaur executa autorreflexão e melhora automaticamente as skills e ferramentas, sem modificar o código central.
Perguntas frequentes
Como é que o Centaur assegura que as chaves de API não são roubadas pelo Agent?
Todas as chaves de API ficam concentradas num gestor de chaves isolado; o Agent não detém chaves em variáveis de ambiente, disco ou memória. A firewall Iron Proxy injeta credenciais na camada de rede; as políticas de rede forçam que todo o tráfego de saída passe pela firewall, e todos os pedidos de saída são registados e verificados. Mesmo que o Agent sofra um ataque de injeção em tempo real, o atacante não consegue extrair os valores das chaves.
Como é que o motor de workflows do Centaur implementa a recuperação após falhas?
O motor de workflows persiste o estado da execução de cada passo em checkpoints no Postgres. Se ocorrer uma falha durante a execução, o motor recupera com precisão a partir do último passo concluído, sem repetir e sem perder resultados intermédios. Os intervalos de espera entre passos (como um sono de 24 horas) não geram qualquer sobrecarga de recursos; quando o motor expira, acorda o workflow automaticamente.
O que está atualmente aberto ao público, e quais são os planos para o futuro?
O que foi disponibilizado como código aberto inclui o código central dos serviços (API, firewall, gestor de chaves) e o repositório de templates de extensão. A arquitetura do Centaur separa propositadamente o núcleo do espaço do utilizador (ferramentas, skills e workflows); a equipa oficial indica que, no futuro, pretende reforçar as capacidades do espaço do utilizador, mas ainda não divulgou um plano de funcionalidades ou cronograma específico.