From c400431b3b0d62120d2c937e944ba520e1f37b01 Mon Sep 17 00:00:00 2001 From: Sebastian Maniak Date: Thu, 11 Jun 2026 12:45:34 -0400 Subject: [PATCH 1/2] Add Agent Substrate to homepage and core concepts docs Homepage: - New "Agent Substrate" value card in the Why kagent grid - New "Agent Substrate runtime" item in Platform capabilities - New Agent Substrate floating chip in the hero - Bump GitHub stars stat to 3,000+ Docs: - New Core Concepts page: concepts/agent-substrate - QuickLink on the concepts index; reorder Agent Memory after it Co-Authored-By: Claude Opus 4.8 (1M context) Signed-off-by: Sebastian Maniak --- public/sitemap.xml | 236 +++++++++--------- .../kagent/concepts/agent-memory/page.mdx | 6 +- .../kagent/concepts/agent-substrate/page.mdx | 72 ++++++ src/app/docs/kagent/concepts/page.mdx | 1 + src/app/globals.css | 3 +- src/app/page.tsx | 14 +- src/config/navigation.json | 5 + 7 files changed, 214 insertions(+), 123 deletions(-) create mode 100644 src/app/docs/kagent/concepts/agent-substrate/page.mdx diff --git a/public/sitemap.xml b/public/sitemap.xml index f5bf2a95..d75e389f 100644 --- a/public/sitemap.xml +++ b/public/sitemap.xml @@ -2,826 +2,826 @@ https://kagent.dev/agents - 2026-05-26 + 2026-06-11 weekly 0.8 https://kagent.dev/blog - 2026-05-26 + 2026-06-11 weekly 0.8 https://kagent.dev/community - 2026-05-26 + 2026-06-11 weekly 0.8 https://kagent.dev/docs/kagent/concepts/agent-harness - 2026-05-26 + 2026-06-11 weekly 0.8 https://kagent.dev/docs/kagent/concepts/agent-memory - 2026-05-26 + 2026-06-11 weekly 0.8 https://kagent.dev/docs/kagent/concepts/agents - 2026-05-26 + 2026-06-11 weekly 0.8 https://kagent.dev/docs/kagent/concepts/architecture - 2026-05-26 + 2026-06-11 weekly 0.8 https://kagent.dev/docs/kagent/concepts - 2026-05-26 + 2026-06-11 weekly 0.8 https://kagent.dev/docs/kagent/concepts/tools - 2026-05-26 + 2026-06-11 weekly 0.8 https://kagent.dev/docs/kagent/examples/a2a-agents - 2026-05-26 + 2026-06-11 weekly 0.8 https://kagent.dev/docs/kagent/examples/a2a-byo - 2026-05-26 + 2026-06-11 weekly 0.8 https://kagent.dev/docs/kagent/examples/agent-harness - 2026-05-26 + 2026-06-11 weekly 0.8 https://kagent.dev/docs/kagent/examples/agent-sandbox - 2026-05-26 + 2026-06-11 weekly 0.8 https://kagent.dev/docs/kagent/examples/agents-mcp - 2026-05-26 + 2026-06-11 weekly 0.8 https://kagent.dev/docs/kagent/examples/crewai-byo - 2026-05-26 + 2026-06-11 weekly 0.8 https://kagent.dev/docs/kagent/examples/discord-a2a - 2026-05-26 + 2026-06-11 weekly 0.8 https://kagent.dev/docs/kagent/examples/documentation - 2026-05-26 + 2026-06-11 weekly 0.8 https://kagent.dev/docs/kagent/examples/human-in-the-loop - 2026-05-26 + 2026-06-11 weekly 0.8 https://kagent.dev/docs/kagent/examples/langchain-byo - 2026-05-26 + 2026-06-11 weekly 0.8 https://kagent.dev/docs/kagent/examples - 2026-05-26 + 2026-06-11 weekly 0.8 https://kagent.dev/docs/kagent/examples/skills - 2026-05-26 + 2026-06-11 weekly 0.8 https://kagent.dev/docs/kagent/examples/slack-a2a - 2026-05-26 + 2026-06-11 weekly 0.8 https://kagent.dev/docs/kagent/examples/telegram-bot - 2026-05-26 + 2026-06-11 weekly 0.8 https://kagent.dev/docs/kagent/getting-started/first-agent - 2026-05-26 + 2026-06-11 weekly 0.8 https://kagent.dev/docs/kagent/getting-started/first-mcp-tool - 2026-05-26 + 2026-06-11 weekly 0.8 https://kagent.dev/docs/kagent/getting-started/local-development - 2026-05-26 + 2026-06-11 weekly 0.8 https://kagent.dev/docs/kagent/getting-started - 2026-05-26 + 2026-06-11 weekly 0.8 https://kagent.dev/docs/kagent/getting-started/quickstart - 2026-05-26 + 2026-06-11 weekly 0.8 https://kagent.dev/docs/kagent/getting-started/system-prompts - 2026-05-26 + 2026-06-11 weekly 0.8 https://kagent.dev/docs/kagent/introduction/features - 2026-05-26 + 2026-06-11 weekly 0.8 https://kagent.dev/docs/kagent/introduction/installation - 2026-05-26 + 2026-06-11 weekly 0.8 https://kagent.dev/docs/kagent/introduction - 2026-05-26 + 2026-06-11 weekly 0.8 https://kagent.dev/docs/kagent/introduction/what-is-kagent - 2026-05-26 + 2026-06-11 weekly 0.8 https://kagent.dev/docs/kagent/observability/audit-prompts - 2026-05-26 + 2026-06-11 weekly 0.8 https://kagent.dev/docs/kagent/observability/launch-ui - 2026-05-26 + 2026-06-11 weekly 0.8 https://kagent.dev/docs/kagent/observability - 2026-05-26 + 2026-06-11 weekly 0.8 https://kagent.dev/docs/kagent/observability/tracing - 2026-05-26 + 2026-06-11 weekly 0.8 https://kagent.dev/docs/kagent/operations/debug - 2026-05-26 + 2026-06-11 weekly 0.8 https://kagent.dev/docs/kagent/operations/operational-considerations - 2026-05-26 + 2026-06-11 weekly 0.8 https://kagent.dev/docs/kagent/operations - 2026-05-26 + 2026-06-11 weekly 0.8 https://kagent.dev/docs/kagent/operations/uninstall - 2026-05-26 + 2026-06-11 weekly 0.8 https://kagent.dev/docs/kagent/operations/upgrade - 2026-05-26 + 2026-06-11 weekly 0.8 https://kagent.dev/docs/kagent - 2026-05-26 + 2026-06-11 weekly 0.8 https://kagent.dev/docs/kagent/resources/api-ref - 2026-05-26 + 2026-06-11 weekly 0.8 https://kagent.dev/docs/kagent/resources/cli/kagent-add-mcp - 2026-05-26 + 2026-06-11 weekly 0.8 https://kagent.dev/docs/kagent/resources/cli/kagent-bug-report - 2026-05-26 + 2026-06-11 weekly 0.8 https://kagent.dev/docs/kagent/resources/cli/kagent-build - 2026-05-26 + 2026-06-11 weekly 0.8 https://kagent.dev/docs/kagent/resources/cli/kagent-completion - 2026-05-26 + 2026-06-11 weekly 0.8 https://kagent.dev/docs/kagent/resources/cli/kagent-dashboard - 2026-05-26 + 2026-06-11 weekly 0.8 https://kagent.dev/docs/kagent/resources/cli/kagent-deploy - 2026-05-26 + 2026-06-11 weekly 0.8 https://kagent.dev/docs/kagent/resources/cli/kagent-get - 2026-05-26 + 2026-06-11 weekly 0.8 https://kagent.dev/docs/kagent/resources/cli/kagent-help - 2026-05-26 + 2026-06-11 weekly 0.8 https://kagent.dev/docs/kagent/resources/cli/kagent-init - 2026-05-26 + 2026-06-11 weekly 0.8 https://kagent.dev/docs/kagent/resources/cli/kagent-install - 2026-05-26 + 2026-06-11 weekly 0.8 https://kagent.dev/docs/kagent/resources/cli/kagent-invoke - 2026-05-26 + 2026-06-11 weekly 0.8 https://kagent.dev/docs/kagent/resources/cli/kagent-mcp - 2026-05-26 + 2026-06-11 weekly 0.8 https://kagent.dev/docs/kagent/resources/cli/kagent-run - 2026-05-26 + 2026-06-11 weekly 0.8 https://kagent.dev/docs/kagent/resources/cli/kagent-uninstall - 2026-05-26 + 2026-06-11 weekly 0.8 https://kagent.dev/docs/kagent/resources/cli/kagent-version - 2026-05-26 + 2026-06-11 weekly 0.8 https://kagent.dev/docs/kagent/resources/cli - 2026-05-26 + 2026-06-11 weekly 0.8 https://kagent.dev/docs/kagent/resources/faq - 2026-05-26 + 2026-06-11 weekly 0.8 https://kagent.dev/docs/kagent/resources/helm - 2026-05-26 + 2026-06-11 weekly 0.8 https://kagent.dev/docs/kagent/resources - 2026-05-26 + 2026-06-11 weekly 0.8 https://kagent.dev/docs/kagent/resources/release-notes - 2026-05-26 + 2026-06-11 weekly 0.8 https://kagent.dev/docs/kagent/resources/tools-ecosystem - 2026-05-26 + 2026-06-11 weekly 0.8 https://kagent.dev/docs/kagent/supported-providers/amazon-bedrock - 2026-05-26 + 2026-06-11 weekly 0.8 https://kagent.dev/docs/kagent/supported-providers/anthropic - 2026-05-26 + 2026-06-11 weekly 0.8 https://kagent.dev/docs/kagent/supported-providers/azure-openai - 2026-05-26 + 2026-06-11 weekly 0.8 https://kagent.dev/docs/kagent/supported-providers/byo-openai - 2026-05-26 + 2026-06-11 weekly 0.8 https://kagent.dev/docs/kagent/supported-providers/gemini - 2026-05-26 + 2026-06-11 weekly 0.8 https://kagent.dev/docs/kagent/supported-providers/google-vertexai - 2026-05-26 + 2026-06-11 weekly 0.8 https://kagent.dev/docs/kagent/supported-providers/ollama - 2026-05-26 + 2026-06-11 weekly 0.8 https://kagent.dev/docs/kagent/supported-providers/openai - 2026-05-26 + 2026-06-11 weekly 0.8 https://kagent.dev/docs/kagent/supported-providers - 2026-05-26 + 2026-06-11 weekly 0.8 https://kagent.dev/docs/kagent/supported-providers/sap-ai-core - 2026-05-26 + 2026-06-11 weekly 0.8 https://kagent.dev/docs/kagent/supported-providers/xai - 2026-05-26 + 2026-06-11 weekly 0.8 https://kagent.dev/docs/kmcp/deploy/install-controller - 2026-05-26 + 2026-06-11 weekly 0.8 https://kagent.dev/docs/kmcp/deploy - 2026-05-26 + 2026-06-11 weekly 0.8 https://kagent.dev/docs/kmcp/deploy/server - 2026-05-26 + 2026-06-11 weekly 0.8 https://kagent.dev/docs/kmcp/develop/fastmcp-python - 2026-05-26 + 2026-06-11 weekly 0.8 https://kagent.dev/docs/kmcp/develop/mcp-go - 2026-05-26 + 2026-06-11 weekly 0.8 https://kagent.dev/docs/kmcp/develop - 2026-05-26 + 2026-06-11 weekly 0.8 https://kagent.dev/docs/kmcp/introduction - 2026-05-26 + 2026-06-11 weekly 0.8 https://kagent.dev/docs/kmcp - 2026-05-26 + 2026-06-11 weekly 0.8 https://kagent.dev/docs/kmcp/quickstart - 2026-05-26 + 2026-06-11 weekly 0.8 https://kagent.dev/docs/kmcp/reference/api-ref - 2026-05-26 + 2026-06-11 weekly 0.8 https://kagent.dev/docs/kmcp/reference/kmcp-add-tool - 2026-05-26 + 2026-06-11 weekly 0.8 https://kagent.dev/docs/kmcp/reference/kmcp-build - 2026-05-26 + 2026-06-11 weekly 0.8 https://kagent.dev/docs/kmcp/reference/kmcp-completion - 2026-05-26 + 2026-06-11 weekly 0.8 https://kagent.dev/docs/kmcp/reference/kmcp-deploy - 2026-05-26 + 2026-06-11 weekly 0.8 https://kagent.dev/docs/kmcp/reference/kmcp-help - 2026-05-26 + 2026-06-11 weekly 0.8 https://kagent.dev/docs/kmcp/reference/kmcp-init - 2026-05-26 + 2026-06-11 weekly 0.8 https://kagent.dev/docs/kmcp/reference/kmcp-install - 2026-05-26 + 2026-06-11 weekly 0.8 https://kagent.dev/docs/kmcp/reference/kmcp-run - 2026-05-26 + 2026-06-11 weekly 0.8 https://kagent.dev/docs/kmcp/reference/kmcp-secrets - 2026-05-26 + 2026-06-11 weekly 0.8 https://kagent.dev/docs/kmcp/reference - 2026-05-26 + 2026-06-11 weekly 0.8 https://kagent.dev/docs/kmcp/secrets - 2026-05-26 + 2026-06-11 weekly 0.8 https://kagent.dev/docs - 2026-05-26 + 2026-06-11 weekly 0.8 https://kagent.dev/enterprise - 2026-05-26 + 2026-06-11 weekly 0.8 https://kagent.dev/page.tsx - 2026-05-26 + 2026-06-11 weekly 0.8 https://kagent.dev/tools - 2026-05-26 + 2026-06-11 weekly 0.8 https://kagent.dev/agents/argo-rollouts-conversion-agent - 2026-05-26 + 2026-06-11 weekly 0.8 https://kagent.dev/agents/cilium-crd-agent - 2026-05-26 + 2026-06-11 weekly 0.8 https://kagent.dev/agents/helm-agent - 2026-05-26 + 2026-06-11 weekly 0.8 https://kagent.dev/agents/istio-agent - 2026-05-26 + 2026-06-11 weekly 0.8 https://kagent.dev/agents/k8s-agent - 2026-05-26 + 2026-06-11 weekly 0.8 https://kagent.dev/agents/kgateway-agent - 2026-05-26 + 2026-06-11 weekly 0.8 https://kagent.dev/agents/observability-agent - 2026-05-26 + 2026-06-11 weekly 0.8 https://kagent.dev/agents/promql-agent - 2026-05-26 + 2026-06-11 weekly 0.8 https://kagent.dev/tools/istio - 2026-05-26 + 2026-06-11 weekly 0.8 https://kagent.dev/tools/kubernetes - 2026-05-26 + 2026-06-11 weekly 0.8 https://kagent.dev/tools/prometheus - 2026-05-26 + 2026-06-11 weekly 0.8 https://kagent.dev/tools/documentation - 2026-05-26 + 2026-06-11 weekly 0.8 https://kagent.dev/tools/helm - 2026-05-26 + 2026-06-11 weekly 0.8 https://kagent.dev/tools/argo - 2026-05-26 + 2026-06-11 weekly 0.8 https://kagent.dev/tools/grafana - 2026-05-26 + 2026-06-11 weekly 0.8 https://kagent.dev/tools/other - 2026-05-26 + 2026-06-11 weekly 0.8 https://kagent.dev/tools/cilium - 2026-05-26 + 2026-06-11 weekly 0.8 diff --git a/src/app/docs/kagent/concepts/agent-memory/page.mdx b/src/app/docs/kagent/concepts/agent-memory/page.mdx index ff987c32..f8c191a5 100644 --- a/src/app/docs/kagent/concepts/agent-memory/page.mdx +++ b/src/app/docs/kagent/concepts/agent-memory/page.mdx @@ -1,6 +1,6 @@ --- title: "Agent Memory" -pageOrder: 5 +pageOrder: 6 description: "Enable vector-backed long-term memory for agents to learn from past interactions." --- @@ -78,7 +78,7 @@ The embedding `ModelConfig` does not have to use the same provider as the agent' To use [Amazon Bedrock Titan embedding models](https://docs.aws.amazon.com/bedrock/latest/userguide/titan-embedding-models.html), create a `ModelConfig` with `provider: Bedrock`. -The Bedrock provider uses the standard AWS credential chain, so no API key secret is required. The agent's pod must have AWS credentials with the `bedrock:InvokeModel` permission for the chosen model. On Kubernetes, the recommended setup is [EKS IRSA on the agent ServiceAccount](/docs/kagent/supported-providers/amazon-bedrock#step-3-configure-the-agent-to-use-an-iam-role). +The Bedrock provider uses the standard AWS credential chain, so no API key secret is required. The agent's pod must have AWS credentials with the `bedrock:InvokeModel` permission for the chosen model. On Kubernetes, the recommended setup is [EKS IRSA on the agent ServiceAccount](/docs/kagent/supported-providers/amazon-bedrock#step-3-configure-the-agent-to-use-an-iam-role). ```yaml apiVersion: kagent.dev/v1alpha2 @@ -96,7 +96,7 @@ spec: | Setting | Description | | --- | --- | | `provider` | Set to `Bedrock`. | -| `model` | The Bedrock embedding model ID, such as `amazon.titan-embed-text-v2:0` or `amazon.titan-embed-text-v1`. Note that Titan v1 produces 1536-dimensional vectors and Titan v2 produces 1024-dimensional vectors. kagent truncates and L2-normalizes both to the 768-dimensional vector store, so no model-specific dimension setting is required. | +| `model` | The Bedrock embedding model ID, such as `amazon.titan-embed-text-v2:0` or `amazon.titan-embed-text-v1`. Note that Titan v1 produces 1536-dimensional vectors and Titan v2 produces 1024-dimensional vectors. kagent truncates and L2-normalizes both to the 768-dimensional vector store, so no model-specific dimension setting is required. | | `bedrock.region` | The AWS region where the model is available, for example `us-east-1`. | Reference the embedding `ModelConfig` from the agent's `memory.modelConfig` field: diff --git a/src/app/docs/kagent/concepts/agent-substrate/page.mdx b/src/app/docs/kagent/concepts/agent-substrate/page.mdx new file mode 100644 index 00000000..3f99aaf9 --- /dev/null +++ b/src/app/docs/kagent/concepts/agent-substrate/page.mdx @@ -0,0 +1,72 @@ +--- +title: "Agent Substrate" +pageOrder: 5 +description: "Run declarative agents on Agent Substrate — a Kubernetes-native runtime that delivers fast startup, efficient resource usage, and secure sandboxed execution." +--- + +export const metadata = { + title: "Agent Substrate", + description: "Run declarative agents on Agent Substrate — a Kubernetes-native runtime that delivers fast startup, efficient resource usage, and secure sandboxed execution.", + author: "kagent.dev" +}; + +# Agent Substrate + +Agent Substrate is a Kubernetes-native runtime for running AI agents and other stateful workloads efficiently. Instead of dedicating one pod per agent — which wastes capacity while agents sit idle — Substrate decouples an agent's lifecycle from pod infrastructure. Idle agents are snapshotted to object storage and rehydrated on demand, so a small pool of pre-warmed workers can host far more agents than there are pods. + +kagent can run a declarative agent directly on Agent Substrate by selecting it as the [`AgentHarness`](/docs/kagent/concepts/agent-harness) runtime. When `runtime` is set to `substrate`, kagent generates a per-harness `ActorTemplate` and creates an `Actor` from it, referencing a `WorkerPool` for capacity. + +## Why Agent Substrate + +- **Fast startup** — Agents cold-start by restoring a compressed snapshot rather than booting a fresh pod, so they resume in a fraction of the time. +- **Efficient resource usage** — A pool of pre-warmed workers multiplexes many actors across far fewer pods, persisting idle actors to object storage instead of holding a pod each. +- **Secure execution** — Each workload runs inside a gVisor sandbox, isolating untrusted agent code from the host and from other actors. +- **Declarative management** — WorkerPools and ActorTemplates are Kubernetes CRDs, so the runtime is configured and versioned with the same GitOps workflow as the rest of your platform. + +## Core concepts + +| Term | Definition | +| --- | --- | +| **Actor** | An individual agent instance with isolated state, managed by Substrate. | +| **WorkerPool** | A CRD declaring the pool of pre-warmed gVisor worker pods that host actors. | +| **ActorTemplate** | A CRD defining an actor's configuration and lifecycle behavior. kagent generates one per `AgentHarness`. | +| **Snapshot** | A compressed (Zstd) checkpoint of actor state in object storage that enables suspension and fast restoration. | +| **Session** | The execution context that tracks an actor's activity and checkpoints. | + +## How it works + +When an agent is invoked, Substrate restores its actor onto an available worker from the WorkerPool — rehydrating from a snapshot if the actor was idle. The agent runs inside a gVisor sandbox for the duration of the session. When the actor goes idle, its state is checkpointed back to object storage and the worker is freed to host another actor. This snapshot-and-restore cycle is what lets a single worker pool serve many more agents than a pod-per-agent model. + +## Architecture + +Agent Substrate is composed of a control plane, a data plane, and snapshot storage: + +**Control plane** + +- `ateapi` — gRPC API and workflow engine, backed by Redis. +- `atecontroller` — the Kubernetes reconciler for `WorkerPool` and `ActorTemplate` resources. + +**Data plane** + +- `atenet` — an L7 proxy and DNS routing layer that directs traffic to actors. +- `atelet` — a DaemonSet that manages snapshot uploads and downloads on each node. +- `ateom` — the worker-pod supervisor that communicates with the gVisor runtime. + +**Storage** + +- Zstd-compressed checkpoint snapshots stored in object storage (GCS or S3). + +## Using Agent Substrate with an AgentHarness + +Set the harness runtime to `substrate` and provide the substrate configuration. The key fields are: + +- `workerPoolRef` — references an existing WorkerPool in the harness namespace. When unset, the controller uses its configured default WorkerPool. +- `snapshotsConfig` — configures where actor memory snapshots are stored. Defaults to `gs://ate-snapshots//` when unset. +- `workloadImage` — overrides the default NemoClaw/OpenClaw sandbox image used in the generated ActorTemplate. +- `gatewayTokenSecretRef` — references a Secret (with a `token` key) holding the OpenClaw gateway Bearer token. Prefer this over an inline `gatewayToken` for production secrets. + +See the [API reference](/docs/kagent/resources/api-ref) for the full `AgentHarnessSubstrateSpec` schema. + +## Learn more + +For a deeper dive into the runtime internals, see the [Agent Substrate documentation](https://learn.agentsubstrate.dev/). diff --git a/src/app/docs/kagent/concepts/page.mdx b/src/app/docs/kagent/concepts/page.mdx index 70c7ed1c..341a0749 100644 --- a/src/app/docs/kagent/concepts/page.mdx +++ b/src/app/docs/kagent/concepts/page.mdx @@ -25,6 +25,7 @@ import QuickLink from '@/components/quick-link'; + diff --git a/src/app/globals.css b/src/app/globals.css index 236f0418..e4d15dd8 100644 --- a/src/app/globals.css +++ b/src/app/globals.css @@ -407,6 +407,7 @@ .rd-float-b { right: 8%; bottom: -22px; } .rd-float-b2 { left: 8%; bottom: -22px; } .rd-float-t { right: -24px; top: 50%; } +.rd-float-l2 { left: -24px; bottom: 12%; } /* ---- Logo strip ---- */ .rd-logo-strip { @@ -953,7 +954,7 @@ @media (max-width: 980px) { .rd-value-grid, .rd-uc-grid, .rd-comm-grid, .rd-ed-grid, .rd-std-grid { grid-template-columns: 1fr; } .rd-how-grid { grid-template-columns: 1fr; } - .rd-float-l, .rd-float-r, .rd-float-b2, .rd-float-t { display: none; } + .rd-float-l, .rd-float-r, .rd-float-b2, .rd-float-t, .rd-float-l2 { display: none; } .rd-qs-bar { flex-wrap: wrap; height: auto; padding: 10px 16px; gap: 8px; } .rd-qs-tabs { flex-wrap: wrap; } .rd-qs-body code { font-size: 12.5px; } diff --git a/src/app/page.tsx b/src/app/page.tsx index 4b800ebe..66289ba6 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -352,6 +352,16 @@ export default function RedesignPage() {
LangGraph · CrewAI · Google ADK
+ +
+
+ +
+
+
Agent Substrate
+
Fast startup · Secure · Efficient
+
+
@@ -372,6 +382,7 @@ export default function RedesignPage() { ['eye', 'Observable by default', 'OpenTelemetry traces, Prometheus metrics, structured logs. See every prompt, every tool call, every token.'], ['shield', 'Zero-trust ready', 'Run on top of Istio or Ambient Mesh. mTLS, fine-grained RBAC, and policy-driven egress for agent traffic.'], ['shield', 'NVIDIA NemoClaw', 'Built-in security and privacy guardrails via NVIDIA NemoClaw. Run Nemotron locally or route to cloud models — with policy enforcement on every call.'], + ['bolt', 'Agent Substrate', 'Run declarative agents on Agent Substrate for fast startup, efficient resource usage, and secure sandboxed execution — a Kubernetes-native runtime for agents at scale.'], ['book', 'Standards-based', 'Native MCP, A2A, OpenTelemetry, and Kubernetes APIs. No proprietary glue, no rewrite tax later.'], ].map(([icon, title, body], i) => (
@@ -393,6 +404,7 @@ export default function RedesignPage() { {[ ['Agent lifecycle via CRDs', 'Define, version, and roll out agents with kubectl and GitOps — the same workflow as every other workload.'], ['Multi-runtime support', 'Go and Python ADK runtimes. Pick the language that fits, or mix both in the same cluster.'], + ['Agent Substrate runtime', 'Run agents on the substrate runtime — a WorkerPool + Actor model that delivers fast cold starts, low resource overhead, and secure isolation per agent.'], ['BYO frameworks', 'LangGraph, CrewAI, Google ADK, or your own — bring any agent framework and kagent orchestrates it.'], ['Long-term memory', 'Persistent vector-backed memory across sessions. Agents remember context, not just the last prompt.'], ['Human-in-the-loop', 'Tool approval gates, agent-initiated questions, and cascading HITL — humans stay in control.'], @@ -634,7 +646,7 @@ export default function RedesignPage() {
-
2,500+
+
3,000+
GITHUB STARS

Open source

Apache 2.0. Public roadmap, public RFCs, public weekly community calls.

diff --git a/src/config/navigation.json b/src/config/navigation.json index e2a0fd09..179059b6 100644 --- a/src/config/navigation.json +++ b/src/config/navigation.json @@ -94,6 +94,11 @@ "href": "/docs/kagent/concepts/agent-harness", "description": "Understand AgentHarness resources, OpenShell-backed execution environments, and backend-specific channel configuration." }, + { + "title": "Agent Substrate", + "href": "/docs/kagent/concepts/agent-substrate", + "description": "Run declarative agents on Agent Substrate — a Kubernetes-native runtime that delivers fast startup, efficient resource usage, and secure sandboxed execution." + }, { "title": "Agent Memory", "href": "/docs/kagent/concepts/agent-memory", From c7f207345c1ed840771f61e10f03309798389224 Mon Sep 17 00:00:00 2001 From: Sebastian Maniak Date: Thu, 11 Jun 2026 13:23:54 -0400 Subject: [PATCH 2/2] Document declarative agent and AgentHarness paths on Agent Substrate MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Address peterj review: clarify the two ways kagent runs workloads on Substrate — declarative agents (SandboxAgent CRD) and AgentHarness — and rename the usage section accordingly. Signed-off-by: Sebastian Maniak Co-Authored-By: Claude Opus 4.8 (1M context) --- .../docs/kagent/concepts/agent-substrate/page.mdx | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/app/docs/kagent/concepts/agent-substrate/page.mdx b/src/app/docs/kagent/concepts/agent-substrate/page.mdx index 3f99aaf9..03f82832 100644 --- a/src/app/docs/kagent/concepts/agent-substrate/page.mdx +++ b/src/app/docs/kagent/concepts/agent-substrate/page.mdx @@ -14,7 +14,10 @@ export const metadata = { Agent Substrate is a Kubernetes-native runtime for running AI agents and other stateful workloads efficiently. Instead of dedicating one pod per agent — which wastes capacity while agents sit idle — Substrate decouples an agent's lifecycle from pod infrastructure. Idle agents are snapshotted to object storage and rehydrated on demand, so a small pool of pre-warmed workers can host far more agents than there are pods. -kagent can run a declarative agent directly on Agent Substrate by selecting it as the [`AgentHarness`](/docs/kagent/concepts/agent-harness) runtime. When `runtime` is set to `substrate`, kagent generates a per-harness `ActorTemplate` and creates an `Actor` from it, referencing a `WorkerPool` for capacity. +kagent can run workloads on Agent Substrate in two ways: + +- **Declarative agents** — A declarative `Agent` describes its model, instructions, and tools (see [Agents](/docs/kagent/concepts/agents)). Its sandboxed variant, the [`SandboxAgent`](/docs/kagent/resources/api-ref) CRD, lets you run a (Go) declarative agent on Agent Substrate. +- **AgentHarness** — The [`AgentHarness`](/docs/kagent/concepts/agent-harness) CRD provisions a long-running execution environment. Select Agent Substrate as its runtime by setting `runtime` to `substrate`; kagent then generates a per-harness `ActorTemplate` and creates an `Actor` from it, referencing a `WorkerPool` for capacity. ## Why Agent Substrate @@ -56,7 +59,13 @@ Agent Substrate is composed of a control plane, a data plane, and snapshot stora - Zstd-compressed checkpoint snapshots stored in object storage (GCS or S3). -## Using Agent Substrate with an AgentHarness +## Using Agent Substrate with AgentHarness and Declarative agents + +### Declarative agents + +Run a (Go) declarative agent on Agent Substrate by creating a `SandboxAgent` resource. It carries the same spec as a regular `Agent`, but the kagent controller runs it as a sandboxed workload on the runtime instead of a plain Deployment. + +### AgentHarness Set the harness runtime to `substrate` and provide the substrate configuration. The key fields are: