Build, secure, and manage agents
at scale on Agent Substrate!
A CNCF Sandbox Project kagent gives platform teams one place to deploy, manage and govern AI agents on Kubernetes. Orchestrated by kagent, Agent Substrate runs each one in its own sandbox, puts it to sleep while it waits, and wakes it in as little as 150ms.
kagentkagent ui · /agentsAgents
An agent consists of one template (describing what it does), plus one harness (describing where and how it runs).
Each chat you start belongs to that agent.
These map to Agent Substrate concepts. A harness draws on a pool of workers, and each session runs as an actor scheduled onto one of them.
| assistantClick here to chatGeneral-purpose assistant (low priority). | kagent | Inline | low | Ready | 1 conversation | |
| assistant-highGeneral-purpose assistant (high priority). | kagent | Inline | high | Ready | 2 conversations | |
| assistant-mediumGeneral-purpose assistant (medium priority). | kagent | Inline | medium | Ready | 0 conversations | |
| billing-opsInvestigates failed payments and refund requests. Every write needs a human approval. | kagent | billing-ops | secure | Ready | 2 conversations | |
| cve-watchWatches upstream advisories and opens tracking issues for affected repos. | kagent | cve-watch | low | Ready | 1 conversation | |
| design-to-codeTurns Figma frames into React components and opens the pull request. | kagent | design-to-code | claude-code | Ready | 1 conversation | |
| docs-librarianAnswers questions from internal Notion pages, public repo wikis and live library docs, with citations. | kagent | docs-librarian | long-context | Ready | 1 conversation | |
| jira-triageSorts new Jira issues, links duplicates, finds the owning repo and suggests a priority. | kagent | jira-triage | low | Ready | 1 conversation | |
| k8s-cost-optimizerFinds idle and over-provisioned workloads and proposes right-sizing PRs. | kagent | k8s-cost-optimizer | medium | Ready | 1 conversation | |
| local-llm-assistantA private assistant on a local Ollama model, so no data leaves the cluster. | kagent | local-llm-assistant | low | Ready | 1 conversation | |
| model-scoutFinds and compares open models and datasets on Hugging Face for a given task. | kagent | model-scout | low | Ready | 1 conversation | |
| platform-orchestratorRoutes platform requests to the right specialist agent and stitches the answers together. | kagent | platform-orchestrator | high | Ready | 1 conversation | |
| pr-reviewerReviews pull requests against the team rubric and checks API usage against current library docs. | kagent | pr-reviewer | medium | Ready | 2 conversations | |
| release-notes-writerDrafts release notes from merged PRs and Linear issues and posts them to Slack. | kagent | release-notes-writer | low | Ready | 1 conversation | |
| sre-incident-commanderTriages alerts, correlates metrics and errors, and drafts the mitigation for an on-call human to approve. | kagent | sre-incident-commander | secure | Ready | 2 conversations |
Click any agent to chat with it.
This is the kagent UI, and you can click around in it. Open an agent to chat, approve or reject its actions, or leave it idle and watch it suspend.
Agent Substrate
The open-source runtime under every kagent agent: sandboxed, suspended when idle, resumed on the next message.
Agent Substrate restores a suspended actor onto a warm worker. The scheduler never sees it.
Calculate your wake-up time →Agent Substrate gives every actor and every harness its own sandbox. Egress starts closed.
higher agent density on Agent Substrate than on standard container runtimes.
See how long your agents take to wake up on Agent Substrate, and the CPU, memory and storage they need.
Open the calculatorRun thousands of agents on a few pods
Agents aren't microservices or batch jobs. They hold state, wait most of the time, and run code you didn't write. A pod per agent pays for every idle minute. Agent Substrate packs them onto a few warm workers and puts the idle ones to sleep.
Asleep when idle, back in milliseconds
When an agent waits on a person or a model, Agent Substrate snapshots it to storage and frees its worker. The next request goes through the atenet router, and the agent resumes on whichever warm worker has room.
Here, every agent in the grid shares the same four warm pods.
Click any dim square to send that agent a request.
Sandboxed by default
Every conversation runs in its own gVisor sandbox or microVM. No ambient credentials, no network unless an EgressPolicy allows it.
Uses the tools you already have
Connect any MCP server: GitHub, Atlassian, Figma, Slack, Notion, Linear, Sentry, Stripe, Hugging Face and more.
Agents that work together
Give one agent others as subagent tools. It hands off the work, each subagent runs in its own sandbox, and the answers come back stitched together.
kagent decides what.
Agent Substrate decides where.
Three resources, applied with kubectl or GitOps. kagent compiles them; Agent Substrate runs them, with the Kubernetes API off the request path.
AgentTemplate
The model, the prompt, the MCP tools, skills and plugins. What the agent does, owned by kagent.
Harness
The runtime, the warm WorkerPool and where snapshots go. How and where the agent runs, handed to Agent Substrate.
Agent
Joins one template to one harness. Callers reach it over A2A or MCP, and every chat becomes a sandboxed Session.
Every agent has an identity, but no credentials, no open network, and no way out.
Each conversation runs as its own sandboxed actor, while thousands of them share a small pool of workers.
A verified identity per agent
Each actor proves who it is with a certificate, and can present an Actor token to the services it calls, so policy follows the agent rather than the pod.
Identity →Zero ambient credentials
Sandboxes hold no API keys. The egress gateway injects credentials into the calls a policy allows, so the agent never sees the secret.
Credential injection →Default-deny egress
Every outbound connection goes through the egress gateway and is checked against the agent's EgressPolicy. Anything no rule allows is denied.
Egress policies →Sandboxed, single-tenant actors
Each conversation runs in its own gVisor sandbox or microVM, isolated from the host and from every other agent on the same worker.
Sandboxing →Give each agent a job
Triages alerts, correlates metrics and events, and drafts the mitigation. Nothing changes in production until a human approves it.
- Triggered by
- PagerDuty · checkout 5xx > 2%
- Model
- default-model-config
- Harness
- secure · gVisor
- Tools
- kagent-tool-serverkagent-grafana-mcp
Teams running kagent
Running kagent? Add your logo →FAQs
What is Agent Substrate?+
An open-source, Kubernetes-native runtime for agents, originally created by Google and now a CNCF Sandbox project. It runs each agent in its own gVisor sandbox or microVM, suspends idle agents to object storage, and resumes them on any ready worker in as little as 150ms.
How do kagent and Agent Substrate split the work?+
kagent decides what an agent does: its model, prompt, tools and skills, defined in an AgentTemplate. Agent Substrate decides where it runs: which pre-warmed worker, when to suspend it, and where its snapshot lives, configured through a Harness.
Which models can I use?+
OpenAI, Anthropic, Gemini, Vertex AI, Azure OpenAI and AI Foundry, Amazon Bedrock, Mistral, Ollama, and any OpenAI-compatible endpoint such as xAI or Hugging Face.
Can I bring my own agent?+
Yes. A Harness can run kagent's own engine, Claude, Codex, or any container image that speaks kagent's A2A contract.
What happens to a conversation while the agent sleeps?+
The session stays ready. Agent Substrate writes the agent's durable state, including pending approvals, to a snapshot and frees the worker. The next message restores it, usually onto a different worker, and the caller never notices.
How fast does an agent wake up on Agent Substrate?+
In as little as 150ms. Agent Substrate resumes a suspended agent onto any ready worker, and the time depends on the agent's size, the snapshot type and the node's disk. The Agent Substrate calculator shows the wake-up time and the CPU, memory and storage for your agents.
Is it open source?+
Yes. Both kagent and Agent Substrate are Apache 2.0 licensed CNCF Sandbox projects.
