ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

6行命令创建你的第一个Actor:Agent Substrate计数器Demo实战

2026/9/18 3:29:32 拓冰建站 浏览量
6行命令创建你的第一个Actor:Agent Substrate计数器Demo实战 6行命令创建你的第一个ActorAgent Substrate计数器Demo实战【免费下载链接】substrateAgent Substrate: the core system项目地址: https://gitcode.com/GitHub_Trending/substrate7/substrateAgent Substrate 是谷歌开源的 Agent 运行时底座专为大规模运行有状态沙箱而生。本文带你用6 行命令跑通它的官方计数器 DemoCounter Demo在本地创建集群、部署一个 Actor、发出一条 HTTP 请求并亲眼看到挂起/恢复后状态依然延续的魔法。为什么是计数器理解这个 Demo 在演示什么这个计数器 counter.go 非常小巧但藏着 Substrate 最核心的能力计数器存放位置验证什么能力内存计数preserved memory count进程内存Full 快照能恢复整块进程内存文件计数preserved file counter持久卷上的文件文件系统状态跨挂起/恢复保留它每收到一次请求两个计数器同时 1 并返回给你。当你把 Actor **挂起suspend再恢复resume**后计数从断点继续——哪怕 Actor 被调度到了另一台 Worker Pod 上。这正是 Substrate 面向 AI Agent 的核心价值Agent 应用大部分时间是空闲的用多路复用把成千上万个 Actor 映射到少数几个 Worker 上实现低成本的超卖调度。 核心概念速查Actor一个可挂起/恢复的应用实例比如你的 Agent 会话AtespaceActor 的命名空间类似 k8s 的 namespace但不属于 k8sWorkerPool预热好的 Worker Pod 池Kubernetes CRDActorTemplateActor 的类定义类似 Pod 模板术语详解见 docs/glossary.md整体架构见 docs/architecture.md。环境准备装好3个工具就能开工开始前确保开发机上已安装并配置好以下三件套其余依赖如kind会由脚本自动管理Go— 构建与安装 CLI 工具kubectl— 与 Kubernetes 集群交互Docker— 本地 kind 集群的容器运行时然后获取项目源码仓库地址见下方 clone 命令git clone https://gitcode.com/GitHub_Trending/substrate7/substrate cd substrate一键搭建6行命令跑通Agent Substrate集群以下 6 条命令按顺序执行即可前两条负责集群后四条负责 Demo。完整脚本见 hack/create-kind-cluster.sh 和 hack/install-ate-kind.sh# 1. 创建 kind 本地集群 本地镜像仓库 ./hack/create-kind-cluster.sh # 2. 安装 Agent Substrate 核心系统 PostgreSQL rustfs ./hack/install-ate-kind.sh --deploy-ate-system # 3. 构建并部署计数器 DemoWorkerPool ActorTemplate ./hack/install-ate-kind.sh --deploy-demo-counter # 4. 安装 kubectl-ate 命令行插件 go install ./cmd/kubectl-ate # 5. 创建你的第一个 Actor kubectl ate create actor my-counter-1 -a ate-demo-counter --template counter # 6. 把网络路由转发到本地 8000 端口 kubectl port-forward -n ate-system svc/atenet-router 8000:80几条命令各做了什么第 2 步部署了控制平面API Server、控制器、节点守护进程 atenet/atelet 等见 manifests/ate-install/ 目录。第 3 步用ko构建计数器镜像应用 counter.yaml.tmpl创建ate-demo-counter命名空间和counterWorkerPool再通过 ate API 创建 counter-template.yaml.tmpl 定义的 ActorTemplate并等待黄金快照就绪。第 5 步中-a指定 Actor 所在的 atespace--template counter指定基于哪个模板创建。kubectl-ate是原生的 kubectl 插件会自动发现 API Server 并建立临时隧道用法详解见 cmd/kubectl-ate/README.md。⚠️ 小贴士Actor、ActorTemplate、Worker都不是Kubernetes CRD它们存在 Substrate 控制平面的 PostgreSQL 里。所以要用kubectl ate get ...查询而不是kubectl get ...。发送第一个请求让计数器动起来在另一个终端中向本地 8000 端口发一条 POST 请求关键是那个路由头ate-target-actorcurl -X POST \ -H ate-target-actor: ate-demo-counter/my-counter-1 \ -i http://localhost:8000/你会看到类似这样的响应hello from: 10.244.0.5 | preserved memory count: 1 | preserved file counter: 1这一刻发生了三件奇妙的事Substrate 路由器识别出请求指向一个尚未运行的 Actor → 自动把它从快照存储中唤醒并调度到某个空闲 Worker Pod 上 → 再把流量代理过去。全程无需你手动启动任何东西。验证 Actor 状态kubectl ate get actor my-counter-1 -a ate-demo-counter此时STATE应为RUNNING并能看到它被分配的 Worker Pod 和 IP。见证魔法挂起再恢复状态不丢这是整个 Demo 的高光时刻。手动挂起 Actor让它回到快照存储kubectl ate suspend actor my-counter-1 -a ate-demo-counter然后再发一次上面的 curl 请求。观察响应中的两个计数preserved memory count没有归零——进程内存被Full级快照完整恢复由模板中的snapshotsConfig配置见 counter-template.yaml.tmplpreserved file counter同样延续——来自持久卷上的文件。如果多建几个 Actor 试试你可能会看到响应里的hello from: IP变了——Actor 被传送到了另一台 Worker但记忆完好无损。这就是官方 Demo 视频展示的Actor 传送能力。玩完清理# 永久删除挂起状态的 Actor kubectl ate delete actor my-counter-1 -a ate-demo-counter # 卸载整个计数器 Demo模板、WorkerPool、Atespace ./hack/install-ate.sh --delete-demo-counter # 删除本地 kind 集群 ./hack/delete-kind-cluster.sh进阶玩法从计数器到真实AgentCounter 只是起点。项目里还有这些官方示例等你折腾完整列表见 README.mdSandbox DemoAlpine 沙箱里执行任意 shell文件系统状态跨会话保留 → demos/sandbox/README.mdClaude Code Multiplex多个编码 Agent 复用到少量 Worker 上体验 30 倍超卖 → demos/claude-code-multiplex/README.mdRequest Parking请求在 Worker 紧张时被停泊等待而不是直接返回 503 → demos/parking/README.mdMicro-VM 变体同一套计数器逻辑跑在 micro-VM 沙箱上 → demos/counter/counter-microvm.yaml.tmpl想深入原理推荐阅读资料路径架构总览控制平面/节点守护/网络栈docs/architecture.mdAPI 配置指南WorkerPool/ActorTemplate/Secretsdocs/api-guide.md术语表Actor/Atespace/Worker 等核心概念docs/glossary.md可观测性日志/指标/分布式追踪docs/observability.md 注意项目目前处于早期开发阶段API 可能随时变动尚不适用于生产环境。总结你刚刚完成了什么用6 行命令你✅ 搭建了本地 Agent Substrate 集群✅ 部署了一个有状态计数器 Actor✅ 通过路由器触发了 Actor 的按需唤醒与路由✅ 验证了挂起/恢复后内存与文件双状态持久化这就是面向 Agent 时代的Agentic Infrastructure——把大量空闲的有状态应用复用到少量物理资源上恢复延迟低于 500 毫秒。现在轮到把你的 Agent 搬上来了。【免费下载链接】substrateAgent Substrate: the core system项目地址: https://gitcode.com/GitHub_Trending/substrate7/substrate创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考