Uruchamianie agentów AI zespołu w Slack dzięki Centaur

Deweloperzy szybko adoptują agentów CLI, takich jak Claude Code, Codex czy Amp. Prosimy ich o refaktoryzację modułu, uruchomienie testów czy znalezienie błędu w logach. Jednak rezultaty tej pracy zwykle pozostają w terminalu konkretnego inżyniera. Gdy w czacie roboczym pojawia się pytanie o nieudany build, ktoś musi przejść do konsoli i ręcznie przekazać dane do sieci neuronowej.
Fundusz venture Paradigm udostępnił Centaur jako open source. To platforma, która przekształca lokalne autonomiczne agenty we współdzielonych asystentów zespołowych działających w Slack lub Teams.
Dlaczego potrzebujesz Centaur
Głównym wyzwaniem przy wdrażaniu agentów AI w całym zespole jest bezpieczeństwo. Udzielenie LLM bezpośredniego dostępu do środowiska z kluczami produkcyjnymi jest bardziej niebezpieczne niż wpuszczenie stażysty do produkcji w piątek wieczorem. Centaur rozwiązuje to poprzez izolowane piaskownice.
Wdrażasz platformę we własnej infrastrukturze. Członek zespołu wspomina o @centaur w wątku Slack z zadaniem, a system tworzy izolowany kontekst i zaczyna pracę.
# Пример взаимодействия в Slack
@centaur можешь разобраться, почему падают тесты биллинга?
Po tym Centaur alokuje osobny kontener dla zadania, uruchamia w nim agenta, daje mu dostęp do kodu i narzędzi oraz dostarcza wyniki pośrednie i końcowe z powrotem do wątku.
Bezpieczeństwo i architektura
Inżynierowie Paradigm zaprojektowali bezpieczną granicę dla autonomicznego wykonywania kodu. System składa się z kilku komponentów:
- Rust Control Plane — obsługuje kolejki, stan konwersacji, autoryzację i wykonywanie workflow przez Postgres.
- Kubernetes Sandbox — każda konwersacja uruchamia izolator oparty na kontenerach. Ma preinstalowane Git, Python, Node.js, Bun oraz podstawowy zestaw narzędzi CLI.
- iron-proxy Network Proxy — obsługuje zarządzanie sekretami.
Najciekawszą częścią jest podstawianie poświadczeń w locie. Domyślnie pod z agentem ma zablokowaną NetworkPolicy. Agent w ogóle nie otrzymuje prawdziwych kluczy API ani tokenów z usług wewnętrznych. Jego środowisko zawiera zamiast tego fałszywe placeholdery.
Gdy agent wykonuje żądanie HTTP do zewnętrznego API, ruch przechodzi przez warstwę proxy. Proxy sprawdza domenę docelową, znajduje odpowiedni nagłówek i podstawia prawdziwy klucz z 1Password tuż przed wysłaniem pakietu do zewnętrznej sieci. Nawet jeśli model zostanie skompromitowany lub wygeneruje output ze wszystkimi swoimi env, prawdziwe sekrety nie wyciekną.
Slack / API
│
▼
Centaur API (Rust + Postgres)
│
▼
Kubernetes Sandbox (Agent + Workspace + Shell)
│
▼
iron-proxy (Проверка доменов и инъекция реальных секретов)
│
▼
Внешний интернет / Внутренние сервисы
Jak rozszerzać możliwości agenta
Centaur ma dwa formaty rozszerzeń: Tools i długotrwałe Workflows.
Tools
Tools są pakowane jako zwykłe pakiety Python. Mogą opakowywać wewnętrzne API firmy, bazy danych lub narzędzia CLI.
Gdy kontener się uruchamia, platforma montuje te skrypty jako wrappery wiersza poleceń. Agent odkrywa je przy starcie przez polecenie centaur-tools list i odczytuje instrukcje argumentów z --help.
Struktura toola wygląda znajomo:
tools/my_tool/
├── __init__.py
├── client.py
├── cli.py
├── .env.example
└── pyproject.toml
Workflows
Jeśli zadanie trwa dłużej niż dwie minuty, wymaga oczekiwania na zewnętrzne zdarzenia lub obejmuje restarty usług, używasz workflow. To funkcje Python z krokami trwałego wykonywania.
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}
To podejście ratuje sytuację, gdy agent musi uruchomić długi zestaw testów, poczekać na odpowiedź z zewnętrznego systemu lub podzielić złożone zadanie na łańcuch niezależnych podzadań.
Co można powierzyć Centaur
W README projektu autorzy podkreślają kilka przypadków użycia, do których system został pierwotnie zaprojektowany:
- Badanie awarii w pipeline'ach CI/CD.
- Generowanie dziennych podsumowań i raportów on-call.
- Szybkie znajdowanie odpowiedzi w wewnętrznych bazach wiedzy firmy przez wtyczki.
- Analizowanie kontekstu i podsumowywanie długich wątków w Slack.
- Łączenie agentów z izolowanym środowiskiem testowym do debugowania kodu.
Wdrażanie i uruchomienie
Nie potrzebujesz pełnego ciężkiego klastra Kubernetes tylko po to, żeby zapoznać się z projektem. Do lokalnego developmentu lub wdrożenia na małym Mac Mini / VPS wystarczy lekki k3s.
Zarządzanie projektem jest powiązane z narzędziem just. Proces uruchomienia sprowadza się do kilku kroków:
# Клонируем репозиторий
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
Po zakończeniu buildu bot zacznie akceptować polecenia w Slack lub przez REST API.
Podsumowanie
Paradigm dostarczyło przemyślane narzędzie z właściwym naciskiem na bezpieczeństwo. Zamiast tworzyć kolejną izolowaną aplikację webową, deweloperzy skupili się na integracji z istniejącym czatem zespołowym i uruchamianiu kodu w izolowanych piaskownicach.
Jeśli Twój zespół już aktywnie korzysta z agentów AI w konsoli i szukasz sposobu na bezpieczne dzielenie ich możliwości między pracownikami, Centaur zdecydowanie warto sprawdzić. Projekt jest wydany na otwartej licencji, a oparty na Rustzie control plane pozostawia przyjemne wrażenie pod względem zużycia zasobów.
Powiązane projekty