>_ DevTrendsnl

Taal

Home

Talen

Secties

Frontend Backend Mobiel DevOps AI / ML GameDev Blockchain Embedded Beveiliging
Go

Hoe je honderden AI-agents op een paar servers draait zonder bankroet te gaan

Werken met Kubernetes is meestal voorspelbaar: één service — één pod (nou ja, of een ReplicaSet). Maar wanneer we naar de wereld van AI-agents gaan, valt het vertrouwde patroon uit elkaar. Stel je voor dat je duizenden agents hebt, die elk een dialoogcontext in het geheugen vasthouden, omgevingsvariabelen en bestandssysteemstatus. Het grootste deel van de tijd doen ze niets — ze wachten gewoon op een gebruikerscommando of een event. Een volledige pod in K8s toewijzen voor elk van hen is duur: het control plane zal simpelweg stikken in zoveel objecten, en clusterbronnen worden verspild.

Het Google-team (hoewel het project als onofficieel is gemarkeerd) heeft Agent Substrate geïntroduceerd. Dit is een systeem dat het mogelijk maakt om honderden actieve agents-sessies te "jongleren" met slechts een paar fysieke pods.

Het probleem met de standaard aanpak

In Kubernetes is het maken van een pod geen instantane operatie. Je moet de status in etcd bijwerken, wachten op de scheduler, de image pullen en de container starten. Voor interactieve agents is een vertraging van een paar seconden al te veel. Plus, wanneer een agent "slaapt," wil je zijn bronnen vrijgeven, maar wanneer hij wakker wordt, moet hij direct alle bestanden en variabelen in het geheugen herstellen.

Agent Substrate lost dit op door het concept van actors en workers. Actors zijn je applicaties (agents), en workers zijn langlevende pod-shells. Het systeem mappt een enorm aantal actors op een kleine pool van workers.

Belangrijkste functies van het project

Directe sessie-teleportatie

Dit klinkt als magie, maar in de praktijk werkt het op basis van gVisor. Wanneer een agent inactief is, maakt Substrate een snapshot van zijn status (inclusief geheugen) en slaat deze op. Zodra een verzoek binnenkomt, vindt het systeem een vrije worker en "pakt" de snapshot daar uit. Activatie duurt minder dan een seconde.

Statusbehoud zonder hacks

Je hoeft niet pijnlijk externe databases te configureren voor elk klein ding dat een agent doet of trage netwerkschijven te mounten. De volledige status, inclusief RAM-inhoud en lokale bestanden, wordt perfect bewaard. Als een agent code schreef in de terminal of een data-array in het geheugen vasthield, zal het na de hibernatie precies verder gaan waar het gebleven was.

Geweldige multiplexing

In de demo-video laten de auteurs zien hoe 250 stateful actors op slechts 8 pods passen. Dit levert bronnenbesparingen op van tientallen keren. Voor degenen die een platform bouwen voor AI-agencies of ontwikkelservices (zoals Claude Code), is dit een directe weg naar het verlagen van cloudrekeningen.

Hoe het onder de motorkap werkt

Het project is geschreven in Go en is strak geïntegreerd met het Kubernetes-ecosysteem, maar het haalt actor management uit de kritieke pad van het K8s control plane.

Hier zijn de belangrijkste componenten:

  • ateapi: De kern van het systeem, beheert de actor-levenscyclus.
  • atelet: Een daemon op nodes die snapshots en statusoverdracht orkestreert.
  • atenet: Verzorgt verkeersroutering zodat verzoeken de juiste worker bereiken waar de benodigde actor momenteel "wakker" is.
  • gVisor (runsc): Biedt isolatie en maakt procescheckpoints mogelijk.

Trouwens, het project is volledig framework-agnostisch. Het maakt niet uit of je LangChain, Claude Code of een aangepast Python-script gebruikt — als het is verpakt als een OCI-container, zal Substrate het draaien.

Snelle start

Als je Go, Docker en kubectl hebt geïnstalleerd, kun je het systeem lokaal uitproberen via kind. De ontwikkelaars hebben scripts voorbereid die in een paar minuten een cluster en demo-omgeving opzetten.

# Создаем локальный кластер
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

Daarna kun je een actor aanroepen met een standaard curl. Het systeem bepaalt automatisch of het hem wakker moet maken en waar het verzoek moet worden gerouteerd.

Is het de moeite waard om nu te proberen

Het project is in de "Zeer Vroege Ontwikkeling"-fase. Dit betekent dat de API zeker zal veranderen, en achterwaartse compatibiliteit is niet gegarandeerd. Het is te vroeg voor productie, maar voor R&D-afdelingen en degenen die infrastructuur ontwerpen voor LLM-services, is dit een must-have om te bestuderen.

Als je duizenden geïsoleerde sandboxes moet draaien voor code-uitvoering of een horde AI-assistenten die context moeten onthouden, biedt Agent Substrate een veel elegantere weg dan proberen om native Kubernetes tot oneindigheid te schalen.

Agent Substrate Demo De video toont het systeem dat actors in realtime jongleert.

Het projectteam communiceert actief in CNCF Slack (kanalen #substrate-users en #substrate-dev) en houdt wekelijkse vergaderingen. Het is duidelijk dat er serieuze expertise in virtualisatie en containerisatie achter dit project zit. Tenminste, het is een geweldig voorbeeld van hoe je K8s-mogelijkheden kunt uitbreiden voor specifieke workloads.

Gerelateerde projecten