>_ DevTrendspl

Język

Strona główna

Języki

Sekcje

Frontend Backend Mobilne DevOps AI / ML GameDev Blockchain Systemy wbudowane Bezpieczeństwo
Go

Jak uruchomić setki agentów AI na kilku serwerach bez zrujnowania budżetu

Zazwyczaj praca z Kubernetes jest przewidywalna: jedna usługa — jedna pod (no dobrze, lub ReplicaSet). Ale gdy przechodzimy do świata agentów AI, znajomy wzorzec się załamuje. Wyobraź sobie, że masz tysiące agentów, z których każdy trzyma w pamięci kontekst dialogowy, zmienne środowiskowe i stan systemu plików. Przez większość czasu nic nie robią — po prostu czekają na polecenie użytkownika lub zdarzenie. Przydzielanie pełnej pod w K8s dla każdego z nich jest kosztowne: płaszczyzna kontrolna po prostu się udławi na takiej liczbie obiektów, a zasoby klastra będą marnowane.

Zespół Google (choć projekt jest oznaczony jako nieoficjalny) przedstawił Agent Substrate. To system pozwalający na „żonglowanie" setkami aktywnych sesji agentów przy użyciu zaledwie kilku fizycznych podów.

Problem ze standardowym podejściem

W Kubernetes tworzenie pod nie jest operacją natychmiastową. Trzeba zaktualizować stan w etcd, poczekać na scheduler, ściągnąć obraz i uruchomić kontener. Dla interaktywnych agentów opóźnienie rzędu kilku sekund jest już zbyt długie. Ponadto, gdy agent „śpi", chcesz zwolnić jego zasoby, ale gdy się budzi, musi natychmiast przywrócić wszystkie pliki i zmienne w pamięci.

Agent Substrate rozwiązuje to przez koncepcję aktorów i workerów. Aktorzy to twoje aplikacje (agenci), a workery to długożyjące powłoki pod. System odwzorowuje ogromną liczbę aktorów na niewielką pulę workerów.

Kluczowe funkcje projektu

Natychmiastowa teleportacja sesji

Brzmi to jak magia, ale w praktyce działa w oparciu o gVisor. Gdy agent jest nieaktywny, Substrate wykonuje snapshot jego stanu (w tym pamięci) i zapisuje go. Gdy tylko pojawi się żądanie, system znajduje wolnego workera i „wypakowuje" tam snapshot. Aktywacja trwa mniej niż sekundę.

Zachowanie stanu bez hacków

Nie musisz bolesnie konfigurować zewnętrznych baz danych dla każdej drobnej rzeczy, którą robi agent, ani montować wolnych dysków sieciowych. Cały stan, w tym zawartość RAM i pliki lokalne, jest zachowany idealnie. Jeśli agent pisał kod w terminalu lub trzymał tablicę danych w pamięci, po wybudzeniu będzie kontynuował dokładnie od miejsca, w którym skończył.

Szalony multipleksing

W filmie demo autorzy pokazują, jak 250 stanowych aktorów mieści się na zaledwie 8 podach. Zapewnia to oszczędności zasobów rzędu dziesięciu razy. Dla tych, którzy budują platformę dla agencji AI lub usług deweloperskich (jak Claude Code), to bezpośrednia droga do obniżenia rachunków za chmurę.

Jak to działa pod maską

Projekt jest napisany w Go i ściśle zintegrowany z ekosystemem Kubernetes, ale przenosi zarządzanie aktorami poza ścieżkę krytyczną płaszczyzny kontrolnej K8s.

Oto główne komponenty:

  • ateapi: Rdzeń systemu, zarządza cyklem życia aktora.
  • atelet: Demon na węzłach, który orkiestruje snapshoty i transfer stanu.
  • atenet: Obsługuje routing ruchu, aby żądania docierały do właściwego workera, gdzie potrzebny aktor jest aktualnie „obudzony".
  • gVisor (runsc): Zapewnia izolację i umożliwia checkpointy procesów.

Przy okazji, projekt jest całkowicie niezależny od frameworka. Nie ma znaczenia, czy używasz LangChain, Claude Code, czy niestandardowego skryptu Python — jeśli jest spakowany jako kontener OCI, Substrate go uruchomi.

Szybki start

Jeśli masz zainstalowane Go, Docker i kubectl, możesz wypróbować system lokalnie przez kind. Deweloperzy przygotowali skrypty, które uruchomią klaster i środowisko demo w ciągu kilku minut.

# Создаем локальный кластер
hack/create-kind-cluster.sh

# Ставим систему и демо-приложение
hack/install-ate-kind.sh --deploy-ate-system
hack/install-ate-kind.sh --deploy-demo-counter

# Устанавливаем плагин для kubectl
go install ./cmd/kubectl-ate

# Создаем пространство и первого актора
kubectl ate create atespace demo
kubectl ate create actor my-counter-1 -a demo --template ate-demo-counter/counter

Po tym możesz wywołać aktora standardowym curl. System automatycznie określi, czy trzeba go wybudzić i gdzie skierować żądanie.

Czy warto spróbować teraz

Projekt jest na etapie „Bardzo wczesnego rozwoju". Oznacza to, że API z pewnością się zmieni, a wsteczna kompatybilność nie jest gwarantowana. Jeszcze za wcześnie na produkcję, ale dla działów badawczo-rozwojowych i osób projektujących infrastrukturę dla usług LLM, to obowiązkowa pozycja do nauki.

Jeśli musisz uruchamiać tysiące izolowanych sandboxów do wykonywania kodu lub hordę asystentów AI, którzy muszą pamiętać kontekst, Agent Substrate oferuje znacznie bardziej elegancką ścieżkę niż próba skalowania natywnego Kubernetes do nieskończoności.

Agent Substrate Demo Na filmie widać, jak system żongluje aktorami w czasie rzeczywistym.

Zespół projektu aktywnie komunikuje się na CNCF Slack (kanały #substrate-users i #substrate-dev) i organizuje cotygodniowe spotkania. Widać, że za tym projektem stoi poważna ekspertyza w zakresie wirtualizacji i konteneryzacji. Minimum to świetny przykład tego, jak rozszerzyć możliwości K8s dla specyficznych obciążeń.

Powiązane projekty