>_ DevTrendsit

Lingua

Home

Linguaggi

Sezioni

Frontend Backend Mobile DevOps AI / ML GameDev Blockchain Embedded Sicurezza
Python

Esecuzione di agenti AI di team in Slack con Centaur

Centaur Header

Gli sviluppatori stanno rapidamente adottando agenti CLI come Claude Code, Codex o Amp. Li chiediamo di rifattorizzare un modulo, eseguire test o trovare un bug nei log. Ma i risultati di questo lavoro di solito rimangono nel terminale di un ingegnere specifico. Quando emerge una domanda su un build fallito in una chat di lavoro, qualcuno deve andare alla console e alimentare manualmente i dati nella rete neurale.

Il fondo di venture capital Paradigm ha rilasciato Centaur come open source. È una piattaforma che trasforma agenti autonomi locali in assistenti di team condivisi che vivono direttamente in Slack o Teams.

Perché hai bisogno di Centaur

La sfida principale con la distribuzione di agenti AI in un intero team è la sicurezza. Dare a un LLM accesso diretto a un ambiente con chiavi di produzione è più pericoloso che lasciare entrare un tirocinante in produzione di venerdì sera. Centaur risolve questo attraverso sandbox isolati.

Distribuisci la piattaforma nella tua stessa infrastruttura. Un membro del team menziona @centaur in un thread Slack con un compito, e il sistema crea un contesto isolato e inizia a lavorare.

# Пример взаимодействия в Slack
@centaur можешь разобраться, почему падают тесты биллинга?

Dopo di che, Centaur alloca un container separato per il compito, esegue un agente lì, gli dà accesso al codice e agli strumenti, e restituisce i risultati intermedi e finali al thread.

Sicurezza e Architettura

Gli ingegneri di Paradigm hanno progettato un confine sicuro per l'esecuzione autonoma del codice. Il sistema è composto da diversi componenti:

  • Rust Control Plane — gestisce code, stato delle conversazioni, autorizzazione ed esecuzione del flusso di lavoro tramite Postgres.
  • Kubernetes Sandbox — ogni conversazione avvia un isolate basato su container. Viene pre-installato con Git, Python, Node.js, Bun e un set base di utilità CLI.
  • iron-proxy Network Proxy — gestisce la secret management.

La parte più interessante qui è la sostituzione dinamica delle credenziali. Di default, il pod con l'agente ha NetworkPolicy bloccata. L'agente non riceve affatto chiavi API reali o token dai servizi interni. Il suo ambiente contiene invece stringhe placeholder false.

Quando l'agente effettua una richiesta HTTP a un'API di terze parti, il traffico passa attraverso il layer proxy. Il proxy controlla il dominio di destinazione, trova l'header corrispondente e sostituisce la chiave reale da 1Password proprio prima di inviare il pacchetto alla rete esterna. Anche se il modello viene compromesso o genera output con tutti i suoi env, i segreti reali non fuoriescono.

Slack / API


Centaur API (Rust + Postgres)


Kubernetes Sandbox (Agent + Workspace + Shell)


iron-proxy (Проверка доменов и инъекция реальных секретов)


Внешний интернет / Внутренние сервисы

Come estendere le capacità dell'agente

Centaur ha due formati di estensione: Tools e Workflow di lunga durata.

Tools

I Tools sono pacchettizzati come normali pacchetti Python. Possono wrappare le API interne della tua azienda, database o utilità CLI.

Quando il container si avvia, la piattaforma monta questi script come wrapper da riga di comando. L'agente li scopre all'avvio tramite il comando centaur-tools list e legge le istruzioni sugli argomenti da --help.

La struttura del tool è familiare:

tools/my_tool/
├── __init__.py
├── client.py
├── cli.py
├── .env.example
└── pyproject.toml

Workflow

Se un compito richiede più di due minuti, attesa per eventi esterni o riavvii di servizi, usi i workflow. Queste sono funzioni Python con passaggi di esecuzione duraturi.

WORKFLOW_NAME = "daily_digest"

async def handler(inp, ctx):
    # Данные сохранятся, даже если сервис перезагрузится во время выполнения
    data = await ctx.step("collect", lambda: collect_digest_data(inp))
    summary = await ctx.run_agent("summarize", text=f"Сделай краткую выжимку: {data}")
    return {"summary": summary}

Questo approccio salva la situazione quando un agente deve eseguire una lunga suite di test, attendere una risposta da un sistema esterno o scomporre un compito complesso in una catena di sottocompiti indipendenti.

Cosa puoi delegare a Centaur

Nella README del progetto, gli autori evidenziano diversi casi d'uso per cui il sistema è stato originariamente progettato:

  • Investigare i fallimenti nelle pipeline CI/CD.
  • Generare riepiloghi giornalieri e report on-call.
  • Trovare rapidamente risposte nelle basi di conoscenza aziendali interne tramite plugin personalizzati.
  • Analizzare il contesto e riassumere thread lunghi in Slack.
  • Connettere gli agenti a un ambiente di test isolato per il debug del codice.

Distribuzione e Avvio

Non avrai bisogno di avviare un cluster Kubernetes completo solo per familiarizzare con il progetto. Per lo sviluppo locale o la distribuzione su un piccolo Mac Mini / VPS, è sufficiente un k3s leggero.

La gestione del progetto è legata all'utility just. Il processo di lancio si riduce a pochi passaggi:

# Клонируем репозиторий
git clone https://github.com/paradigmxyz/centaur
cd centaur

# Устанавливаем раннер команд
brew install just

# Настраиваем переменные для Slack и 1Password в bash-сессии
export OP_SERVICE_ACCOUNT_TOKEN=...
export SLACK_BOT_TOKEN=...
export SLACK_SIGNING_SECRET=...

# Создаём секреты в локальном K8s и запускаем стек
just bootstrap-secrets
just up

Dopo il completamento della build, il bot inizierà ad accettare comandi in Slack o tramite REST API.

Riepilogo

Paradigm ha realizzato uno strumento ben fatto con il giusto focus sulla sicurezza. Invece di creare un'altra interfaccia web isolata, gli sviluppatori si sono concentrati sull'integrazione con le chat di team esistenti e sull'esecuzione di codice in sandbox isolati.

Se il tuo team usa già attivamente agenti AI da console e stai cercando un modo per condividere in sicurezza le loro capacità tra i dipendenti, Centaur merita sicuramente un'occhiata. Il progetto è rilasciato con licenza aperta, e il control plane basato su Rust lascia un'impressione piacevole in termini di utilizzo delle risorse.

Progetti correlati