Substrate 智能体底座
一句话简介
基于 Go 的智能体基础设施框架,提供代理构建、工具集成与运行时管理能力,帮助开发者快速搭建可扩展的 AI 代理系统。
标签
适用应用场景
- 构建可扩展的 AI 代理系统
- 集成外部工具与服务的代理运行时管理
- 开发多智能体协作平台
- 快速搭建自动化任务处理代理
README 中文摘要
项目概述
Agent Substrate 是一个面向大规模智能体部署的高密度运行时环境。其控制平面负责智能体沙箱的全生命周期管理,可在亚秒级完成挂起与恢复操作,并支持在同一基础设施上对大量智能体进行多路复用。系统兼容多种沙箱技术,包括 microVM 与 gVisor,为不同沙箱类型提供一致的生命周期操作。
核心设计思想是将大量「Actor」(智能体类应用)映射到少量已就绪的「Worker」之上,利用这类应用大多数时间处于空闲状态的特性实现高密度多路复用。系统提供 Actor 生命周期管理(创建/销毁、挂起/恢复)、实时调度以及入站流量路由能力。
Agent Substrate 定位为低侵入性系统,不绑定特定框架。其底层依赖 Kubernetes 进行基础设施供给与 Worker 生命周期管理,复用 Pod 与 Pod 自动伸缩等原生能力,同时叠加面向智能体的调度与控制逻辑以降低延迟。
核心能力演示
官方演示展示了在 8 个物理 Pod 上多路复用约 250 个有状态 Actor 的效果,主要亮点包括:
- 即时迁移:将 Actor 高速挂起并在任意可用 Worker 上恢复,激活耗时低于一秒。
- 状态持久化:通过全状态快照保存易失性内存与文件系统状态,跨休眠周期完整保留。
- 集群多路复用:在共享物理 Pod 上「轮转」大量有状态 Actor,实现 30 倍以上的过订阅。
框架兼容与生态
系统在内核层通过 gVisor 管理标准 OCI 容器,因此可托管任意技术栈构建的智能体:
- 支持 Agent Development Kit(ADK)的 Actor 身份与持久化工作内存。
- 适合长生命周期、有状态的 LangChain 智能体及沙箱化工具调用。
- 为 Claude Code、CodeX 等编码环境提供高密度有状态运行时。
- 可将 MCP 服务器部署为 Substrate Actor,为任意大模型提供持久化工具。
生态方面,Agent Executor 是一个分布式智能体运行时,演示了如何在 Agent Substrate 之上构建安全、可超大规模扩展的智能体框架。
状态与兼容性
项目目前处于早期开发阶段,尚不具备生产就绪条件,API 可能发生重大变更,不保证向后兼容性。当前目标支持 Kubernetes 最新稳定版以及上一个次要版本。
本地快速部署
前置依赖:Go、kubectl、docker。
# 创建本地 kind 集群与镜像仓库
hack/create-kind-cluster.sh
# 部署核心组件、valkey、rustfs
hack/install-ate-kind.sh --deploy-ate-system
# 部署示例 Actor
hack/install-ate-kind.sh --deploy-demo-counter
go install ./cmd/kubectl-ate
# 创建命名空间与 Actor 实例
kubectl ate create atespace demo
kubectl ate create actor my-counter-1 -a demo --template=ate-demo-counter/counter
# 端口转发网络路由
kubectl port-forward -n ate-system svc/atenet-router 8000:80
随后在另一终端通过自定义 Host 头访问:
curl -X POST -H "Host: my-counter-1.demo.actors.resources.substrate.ate.dev" -i http://localhost:8000/
GKE 上的快速部署
复制环境模板后按需修改,启用应用默认凭据,再依次执行资源准备与组件部署:
cp hack/ate-dev-env.sh.example .ate-dev-env.sh
source .ate-dev-env.sh
gcloud auth application-default login --project=${PROJECT_ID}
# 一键引导 GKE、Redis、GCS、IAM 等资源
go run ./tools/setup-gcp bootstrap
# 部署 Agent Substrate 系统
./hack/install-ate.sh --deploy-ate-system
# 部署示例应用
./hack/install-ate.sh --deploy-demo-counter
通过 go run ./tools/setup-gcp --help 与 ./hack/install-ate.sh --help 可查看更细粒度的创建与清理选项,例如单独重建 ate-apiserver 或一键删除全部资源。销毁本地 kind 集群可执行 ./hack/delete-kind-cluster.sh;销毁 GCP 资源可执行 ./hack/teardown.sh --all。
示例应用
- Counter Demo:有状态 Go HTTP 服务器,演示挂起/恢复后的状态保留以及动态 CRD 路由。
- Sandbox Demo:基于 Alpine Linux 的安全沙箱,支持任意 Shell 执行并跨会话保留文件系统状态。
- Claude Code Multiplex:在有限的 Worker 池上多路复用多个 Claude Code 实例。
- Multi-Template:两个不同二进制的
ActorTemplate共享一个WorkerPool,跨三个命名空间运行。 - Request Parking:当池过载时,路由器暂存入站请求直至有 Worker 释放,而非直接返回 503。
- Autoscaled WorkerPool:基于 Prometheus 适配器提供的指标,由 HPA 按已分配 Actor 数伸缩
WorkerPool。
命令与组件
cmd/ateapi:控制平面 API 服务,暴露管理 Actor 与 Worker 生命周期的 gRPC 接口。cmd/atelet:节点级 DaemonSet,监管物理 Worker Pod、协调快照与状态迁移。cmd/atecontroller:Kubernetes 控制器,调谐WorkerPool与ActorTemplate自定义资源。cmd/atenet:组合式网络控制器,提供 DNS、Envoy 路由与代理 Sidecar。cmd/ateom-gvisor:运行于沙箱 Worker Pod 内部,调用runsc的 checkpoint/restore 命令。cmd/ateom-microvm:ateom-gvisor的 microVM 对应版本,基于 cloud-hypervisor 运行 Actor。cmd/podcertcontroller:用于签发 Pod 证书的「垫片」,未来将与上游 Kubernetes 合并。cmd/kubectl-ate:管理 Agent Substrate 资源的 CLI 工具。cmd/benchmarking:基准测试用合成负载(如按需消耗内存、磁盘与 fd 的glutton)。tools/setup-gcp:用于创建 GKE、GCS、IAM 等 GCP 基础设施。demos/:示例应用集合。
文档索引
官方提供架构说明、API 配置参考、CLI 文档、术语表、可观测性指南、认证配置、请求暂存机制、威胁模型、路线图以及基于 Locust 的基准测试框架等文档,可在 docs/ 与 benchmarking/ 目录下查阅。
摘要更新于 2026-08-21 00:31:48
· 原文 13050 字符
· md5 7c861050412c…