登录
推荐 文章 Go 技术 课程 下载 专题 AI
首页 >  科技周边 >  业界新闻

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、转发请求模型推理服务本身
CNCF Agent Substrate 中 Actor、WorkerPool 与沙箱的职责关系说明图
图1:结构说明图,展示 Actor 与 WorkerPool 解耦后的职责边界;这不是截图或运行证据。

用概念化配置表示,大致是下面这种分工。它用于理解资源边界,不是完整可直接部署的清单:

# 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 更贴合实际。

Agent Substrate 通过快照挂起恢复 Agent Actor 的生命周期关系说明图
图2:生命周期说明图,展示 Actor 在 Worker 之间挂起与恢复的资源复用关系;这不是截图或运行证据。

它和普通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都安全运行吗

不能。沙箱提供隔离基础,但镜像、网络出口、凭据、租户授权和审计策略仍需要平台团队配置并持续检查。

声明:本文转载于:17golang原创 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>