Agent Substrate
Agent Substrate is open-source software that runs many AI agents on Kubernetes by saving idle agents as snapshots in storage and resuming them when a request arrives.
An AI agent spends most of its time waiting: for a user’s next message, a tool’s result or a model’s reply.
Agent Substrate runs on Kubernetes, which starts and manages software in pods, the smallest units Kubernetes can create and manage. If every agent gets its own pod, that pod’s memory and processor stay reserved while the agent waits. Running each agent in a sandbox, an isolated environment, makes it safer but does nothing about this waste.
The project’s answer is to separate the agent from the pod. (The project calls each managed agent an actor.) An agent is always in one of two states:
- Suspended: saved as a snapshot of its memory and files in snapshot storage. It holds no worker pod.
- Resumed: restored onto any free worker pod, one of a pool started in advance, and ready to handle requests. The project says resuming takes under 500 milliseconds. Its roadmap targets 100 milliseconds for 95% of resumes.
The surprising part is what Kubernetes sees: only the fixed pool of long-running worker pods. Agents move in and out of those pods without ever waiting for the Kubernetes scheduler, the part of Kubernetes that decides which machine runs each new pod.
How agents are kept apart
The design isolates every agent, although the project’s own threat model says security hardening has barely begun.
- Sandbox: Each agent runs either under gVisor, which isolates it at the kernel level, or in a lightweight virtual machine such as Kata Containers.
- Inbound traffic: Requests never reach an agent directly; they pass through an authenticated entry point in Agent Substrate.
- Secrets: An experimental gateway adds API keys to outgoing HTTPS calls, so the agent never holds them.
Main components
- ateapi (control plane): It decides which worker pod each agent runs on and tracks each agent’s lifecycle.
- atelet (node helper): It runs on each machine and moves snapshots between worker pods and snapshot storage.
- atenet (router): It reads the target agent from the request header, a labelled field sent with the request, and resumes that agent before forwarding the request. It is built on the Envoy proxy. If every worker pod is taken, it holds the request briefly instead of failing at once.
- PostgreSQL (state store): It holds agent records instead of etcd, the key-value store for Kubernetes’ own data, because those records change too often.
Who builds and uses it
Google built Agent Substrate with its Kubernetes Engine team. Contributors also come from NVIDIA, Solo.io and Microsoft. The Cloud Native Computing Foundation (CNCF) has voted to accept it as a Sandbox project, pending a signed contribution agreement. Sandbox is the name of a CNCF project level, not an agent sandbox.
Agent Executor, from Google, builds on Agent Substrate and adds durable execution, so long tasks can resume after outages or interruptions. kagent, a Kubernetes-native agent framework, also runs its agents on Agent Substrate.
What to check before production
Check four things before relying on it in production:
- Exposure: Keep it internal. The project expects Agent Substrate to sit behind your own service. Its threat model recommends firewalls to block outside traffic.
- Capacity: Size the worker pool for your busiest minute. When every worker pod is taken, a held request fails after a short, bounded wait.
- Operations: Keep the control plane available, secure and fast.
- Debugging: Plan per-agent logs and traces before the first incident. Agents move between worker pods all the time.
One pod per agent wastes capacity, new pods start slowly, and agents run untrusted code.
Follow one request to a suspended agent.
- 1 · routeAgent Substrate's router receives the request and reads its target agent from a header, a labelled field sent with the request.
- 2 · assignThe control plane picks a free worker pod that was started in advance.
- 3 · restoreThe node helper on that machine loads the agent's snapshot (its saved memory and files) onto the worker pod.
- 4 · runThe agent handles the request inside its own sandbox, alongside other agents on the same worker pod.
- 5 · suspendWhen the agent is idle, its owner or platform asks Agent Substrate to suspend it, saving a snapshot to snapshot storage and freeing the worker pod.
An agent holds a worker pod only from resume to suspend.
| Who | What they ask | What it works with |
|---|---|---|
| Coding-agent product team | “Can each user's coding session keep its files between visits?” | Suspended agents whose snapshots keep their files |
| Platform team | “How do we run thousands of chat agents without one pod each?” | A shared pool of worker pods started in advance |
| Tools team | “Can our MCP servers stay sandboxed and ready without running all day?” | Model Context Protocol (MCP) servers deployed as agents |
| Agent developer | “Can an agent resume a half-finished task later?” | The agent's memory and files, saved in its snapshot |
- It packs many agents onto few pods; the project's demo runs about 250 agents, each keeping its own memory and files, on 8 pods.
- With a full snapshot, which holds both memory and files, an agent picks up where it left off after a suspend.
- It is designed to run any agent packaged as a standard container, including MCP servers and agents built with LangChain, Claude Code or the Agent Development Kit.
- Secrets stay out of snapshots, because the experimental gateway adds API keys outside the agent.
- It does not build agents; it only runs them.
- It has not reached version 1.0, so its interfaces may still change a lot between releases.
- Storing and moving many snapshots creates a new data-management problem.
- It does not remove operating work; it adds a new critical service to run.
Sources used
This explainer is written in original language. The links below support its factual claims.
- repoAgent Substrate: the core system (README), Agent Substrate project on GitHub · read 2 Oct 2026
- repoAgent Substrate Architecture, Agent Substrate project on GitHub · read 2 Oct 2026
- repoAgent Substrate Glossary, Agent Substrate project on GitHub · read 2 Oct 2026
- repoSubstrate Threat Model, Agent Substrate project on GitHub · read 2 Oct 2026
- repoEgress credential injection, Agent Substrate project on GitHub · read 2 Oct 2026
- repoRequest Parking (atenet router), Agent Substrate project on GitHub · read 2 Oct 2026
- official[Sandbox] Agent Substrate, Cloud Native Computing Foundation (CNCF) · read 2 Oct 2026
- articleWhy sandboxing your agent is not enough, Cloud Native Computing Foundation (CNCF) · read 2 Oct 2026
- officialAgent Executor: Google's distributed agent runtime, Google Cloud · read 2 Oct 2026
- docsPods, Kubernetes · read 2 Oct 2026
- docsKubernetes Components, Kubernetes · read 2 Oct 2026