CNCF Agent Substrate项目解决什么问题
来源:17golang原创
时间:2026-11-15 13:18:09 184浏览 收藏
如果每个 AI Agent 都长期占着一个 Kubernetes Pod,真正忙着思考和调用工具的时间可能只占生命周期的一小段,剩下的 CPU、内存和沙箱容量却一直被占用。CNCF Agent Substrate 解决的正是这类“有状态 Agent 很多、单个 Agent 大部分时间空闲、又不能牺牲隔离”的运行问题。
官方地址:https://github.com/agent-substrate/substrate/
- 它不是 Agent 编排框架,而是运行 Agent 的高密度、有状态执行运行时。
- Actor 保存逻辑身份和状态,WorkerPool 提供可复用的预热执行容量,两者不再一对一绑定。
- 空闲 Actor 可以快照、挂起并释放 Worker;下一次请求到来时,再恢复到可用 Worker 的沙箱里。
Agent Substrate把哪几个对象拆开了
普通部署习惯把“一个 Agent 实例”和“一个 Pod”视为同一个对象。这样做简单,却把身份、文件状态、内存状态和物理计算容量捆在了一起。Agent Substrate 引入的核心变化,是把逻辑 Actor 与物理 Worker 分离:Actor 代表一个有状态的 Agent 实例,Worker 是池中的实际执行位置。
| 对象 | 解决的问题 | 不应误解成 |
|---|---|---|
| Actor | 保存一个 Agent 实例的身份、状态和生命周期 | 固定绑定的 Pod |
| ActorTemplate | 描述镜像、配置和启动环境,形成可复用的初始快照 | 普通 Deployment |
| WorkerPool | 维护一组预热的物理执行容量 | Actor 的注册表 |
| 控制面与路由 | 判断 Actor 是否运行、分配 Worker、转发请求 | 模型推理服务本身 |

用概念化配置表示,大致是下面这种分工。它用于理解资源边界,不是完整可直接部署的清单:
# ActorTemplate 描述如何创建一个有状态 Agent actorTemplate: image: example/agent:stable # 镜像和运行环境由模板统一定义 state: snapshotable # 状态要能被快照并在后续恢复 # WorkerPool 只负责准备可复用的物理执行容量 workerPool: replicas: 8 # 预热 Worker 数量,不等于 Actor 数量 sandbox: gVisor # 选择隔离边界,实际值依部署环境而定
它怎样减少空闲 Agent 的资源占用
请求到达时,路由先查 Actor 的状态。如果 Actor 已经在某个 Worker 上运行,请求直接进入对应沙箱;如果 Actor 处于挂起状态,控制面会选择可用 Worker,由节点级组件恢复最近一次快照,再把请求转发过去。执行结束或空闲超时后,Actor 的内存与文件状态被保存,Worker 回到池中服务其他 Actor。
这里最有价值的不是“把 Pod 启动得更快”这么简单,而是允许很多逻辑 Actor 轮换使用少量预热 Worker。Actor 的身份可以保持不变,承载它的 Worker 却可以改变。对于编码 Agent、工具调用 Agent、需要保留会话文件的自动化任务,这个边界比单纯扩容 Deployment 更贴合实际。

它和普通Pod、Agent Sandbox有什么区别
普通 Kubernetes Pod 仍然是基础设施层的好选择:它负责网络、存储、调度和 Worker Pod 的生命周期。Agent Substrate 并没有替代 Kubernetes,而是在其上面增加一个更适合 Agent 的控制面,把高频变化的 Actor 状态从 Pod 编排中抽出来。
Agent Sandbox 更关注“一个 Agent 如何被安全隔离、怎样管理身份和存储”;Agent Substrate 还要回答“成千上万个大部分时间空闲的 Agent 怎样以较高密度运行”。两者不是简单的谁替代谁:前者偏安全的沙箱资源模型,后者偏 Actor、快照、Worker 复用和运行时密度。CNCF 在 2026 年 11 月的公告把 Agent Substrate 作为 Sandbox 项目介绍,也说明它处在云原生 Agent 基础设施的生态建设阶段,而不是已经替所有工作负载给出统一答案。
采用前先看这份边界清单
- 适合:Agent 数量多、请求呈突发形态、单个实例需要保留文件或内存状态、并且能接受挂起与恢复语义的场景。
- 先评估:快照存储的可靠性、恢复时延、Worker 的内存容量、网络与凭据隔离,以及 Actor 跨 Worker 后日志和追踪如何关联。
- 不要直接套用:持续占满 CPU 的无状态服务、强依赖本地临时设备的任务,或尚未定义状态一致性和租户边界的实验项目。
我的判断是:Agent Substrate 解决的是“Agent 规模上来后,Pod 不再是合适的身份与生命周期单位”这一层问题。它不能替你选择模型、设计工具权限,也不会自动消除沙箱配置和状态恢复的风险。若业务首先卡在单个 Agent 的安全策略,应先把隔离和审计做扎实;若卡在大量空闲 Agent 的资源密度,再评估 Actor 与 Worker 解耦带来的收益。
常见问题
Agent Substrate是不是一个Agent开发框架
不是。它更接近 Agent 的执行运行时和基础设施层,负责状态、路由、Worker 分配与沙箱;上层仍可使用不同的 Agent harness 或框架。
Actor挂起后会丢失会话文件吗
设计目标是不丢失可纳入快照的状态,恢复时把最近快照放回沙箱。生产使用仍要明确哪些外部数据必须放入持久化存储,不能把快照当成所有数据的备份。
它能保证所有Agent都安全运行吗
不能。沙箱提供隔离基础,但镜像、网络出口、凭据、租户授权和审计策略仍需要平台团队配置并持续检查。
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
251 收藏
-
327 收藏
-
479 收藏
-
266 收藏
-
469 收藏
-
323 收藏
-
157 收藏
-
275 收藏
-
446 收藏
-
科技周边 · 业界新闻 | 16小时前 | 云原生 · kubernetes · 网络安全 · tls Kubernetes Gateway API SNI BackendTLSPolicy SubjectAltNames233 收藏
-
201 收藏
-
184 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 485次学习