Substrate 智能体底座
一句话简介
基于 Go 的智能体基础设施框架,提供代理构建、工具集成与运行时管理能力,帮助开发者快速搭建可扩展的 AI 代理系统。
标签
适用应用场景
- 构建可扩展的 AI 代理系统
- 集成外部工具与服务的代理运行时管理
- 开发多智能体协作平台
- 快速搭建自动化任务处理代理
README 中文摘要
项目概述
Agent Substrate 是面向自主智能体的 Kubernetes 零信任运行时,目标是在安全隔离数百万智能体及其工具的同时,将资源密度提升至普通容器的 10 倍。它支持 gVisor 与 Cloud Hypervisor microVM,为每个执行体提供独立的计算、网络、存储和加密身份。智能体恢复时间低于 400 毫秒,每秒可执行超过 1500 次激活。
该项目不是智能体 SDK,而是一个低约束运行时。运行对象可以是任意有状态工作负载,但主要面向自主、不可信且大部分时间处于等待状态的智能体。它复用 Kubernetes 的 Pod、自动扩缩容与 NetworkPolicy,并增加智能体调度、快照恢复、身份和网络管控能力,使推理、训练和强化学习负载能够共享同一基础设施平面。
核心机制
Substrate 将大量有状态“执行体”映射到少量就绪工作节点。由于智能体通常长期等待模型、工具或人工输入,系统会将其内存状态快照并移出内存;请求到达时,再把执行体恢复到任意可用工作节点。
完整快照同时保存内存和文件系统,因此休眠、迁移和再次唤醒后,会话及工具状态仍然连续。工作节点支持 10 至 30 倍资源超售,仅在执行体实际推理或运行工具时消耗计算资源。
安全与网络架构
- 虚拟机级隔离:每个执行体必须运行在独立的 gVisor 或 microVM 沙箱中,不支持普通 Linux 容器。
- 短期加密身份:默认签发带执行体和 atespace 身份的 SPIFFE X.509 证书,并可按需生成 JWT,便于与外部身份系统联合。
- 零凭据暴露:API 密钥、云令牌和身份凭据不会进入沙箱;出口网关仅向获批请求在沙箱外注入凭据。
- 默认拒绝网络:执行体不能主动入站、横向访问其他执行体或控制平面,所有出站流量均受网关控制。
- 边缘可插拔策略:出口网关充当外部策略执行点,可替换为自定义授权、DLP、提示注入扫描或云 IAM 引擎。
该运行时可承载 ADK、LangChain、Claude Code、Codex、Model Context Protocol 等框架或工具,无需修改其 SDK;MCP 服务也可作为独立执行体部署。
本地快速开始
需要安装 Go、kubectl 和 Docker;其他依赖由 Go 管理。
# 创建 kind 集群和本地镜像仓库
hack/create-kind-cluster.sh
# 安装核心系统、PostgreSQL、rustfs 及计数示例
hack/install-ate-kind.sh deploy ate-system \
--credential-provider='{"name":"k8s.io"}'
hack/install-ate-kind.sh deploy demo-counter
# 安装管理插件并创建有状态执行体
go install ./cmd/kubectl-ate
kubectl ate create actor my-counter-1 \
-a ate-demo-counter --template counter
# 转发路由服务
kubectl port-forward -n ate-system svc/atenet-router 8000:80
随后可在另一终端发送请求:
curl -X POST \
-H "ate-target-actor: ate-demo-counter/my-counter-1" \
-i http://localhost:8000/
内置凭据提供器采用默认拒绝策略。必须向目标 atespace 授权可读取的命名空间,执行体才能获得注入凭据。
GKE 部署与配置
复制并加载开发环境配置,然后登录 gcloud、初始化 GCP 资源并部署系统:
cp hack/ate-dev-env.sh.example .ate-dev-env.sh
source .ate-dev-env.sh
gcloud auth application-default login --project=${PROJECT_ID}
go run ./tools/setup-gcp bootstrap
go run ./cmd/ate-setup deploy ate-system \
--credential-provider='{"name":"k8s.io"}'
go run ./cmd/ate-setup deploy demo demo-counter
{"name":"k8s.io"} 会部署 Kubernetes Secrets 提供器及仅允许出口网关访问的 NetworkPolicy;{"enabled":false} 可关闭出口凭据注入。也可在 .ate-dev-env.sh 中通过 ATE_CREDENTIAL_PROVIDER 设置同一选项。
资源可分步创建:
go run ./tools/setup-gcp create cluster
go run ./tools/setup-gcp create bucket
删除 GCP 或本地环境:
./hack/teardown.sh --all
./hack/delete-kind-cluster.sh
核心组件与示例
核心服务包括提供 gRPC 控制接口的 ateapi、管理节点工作负载和快照的 atelet、协调 WorkerPool 的 atecontroller,以及提供 OIDC/JWT 发现与验证能力的 ate-idp-server。网络层 atenet 负责路由和代理;ateworker-gvisor 与 ateworker-microvm 分别执行 gVisor 和 microVM 工作负载。kubectl-ate 用于管理执行体、模板、工作池及相关资源。
示例涵盖状态保存与按需恢复、隔离 Shell 环境、多智能体复用、跨 atespace 共享工作池,以及工作池繁忙时的请求等待。项目目前处于 1.0 之前,API 与行为仍可能发生不兼容变更。
摘要更新于 2026-10-21 00:37:28
· 原文 18458 字符
· md5 bb36deaadc38…