将Pod作为worker而非智能体:在Kubernetes上重新思考AI智能体的部署单元

Pod仍然是AI智能体优秀的执行环境,但不再适合作为部署、身份标识或生命周期的单元;应当引入Agent Substrate等上层控制平面,将Pod视为执行worker,由上层管理智能体(Actor)的生命周期与身份,以解决隔离、身份、资源效率等问题。

现状:每个智能体作为独立Pod的问题

最初,kagent等项目将每个智能体作为一级Kubernetes工作负载,配备独立的Pod、Service和ServiceAccount,以利用Kubernetes的隔离、安全、可观测性和调度能力。

直接方法提供的优势
  • 进程与容器隔离
  • ServiceAccount身份
  • 网络与准入策略
  • 按智能体归属的日志/指标/追踪
  • 原生调度与资源管理
kagent初始采用此模式,后通过Kubernetes Agent Sandbox项目增强隔离。
暴露的问题
  • 隔离不足
  • 身份标识混乱
  • 策略执行困难
  • 多租户归属模糊
  • → 平台级问题

随着智能体数量增长,出现熟悉的问题:隔离、身份标识、访问与网络策略执行、单智能体可观测性、多租户所有权归属——这些是智能体平台层面的问题,而非纯Kubernetes问题。

智能体与微服务的本质差异

属性微服务智能体
运行模式持续可用,长时间运行仅在有任务时唤醒,运行几秒至几分钟,然后空闲
资源消耗需专有Pod长期驻留为每个潜在智能体保留专用Pod浪费严重
行为特性无子任务生成可产生子智能体并行执行、代表用户操作、无限期等待人工批准
Pod是为微服务设计的抽象,无法高效处理智能体短时突发、带子任务和暂停恢复的工作负载。
“Pod是优秀的执行环境,但并不一定是处理这种短时突发工作负载的正确生命周期抽象。”
—— Lin Sun,kagent项目作者

方案:Agent Substrate——Pod作为Worker

在Kubernetes之上引入智能体控制平面,将Pod降级为执行worker,而智能体(Actor)作为逻辑单元由上层管理生命周期与放置。

核心抽象对比
WorkerPool ≈ NodePool,Workers ≈ Nodes,ActorTemplate ≈ Pod的声明式规范
Kubernetes只管理WorkerPools和ActorTemplates,Workers和Actors存在于Agent Substrate的CLI/API中。

每个Worker映射到一个Pod,Actor在有工作到来时调度到Worker上,可被挂起、恢复或移除。固定池内长期运行的Pod能支撑远超自身数量的逻辑智能体,显著提升调度效率。

“Agent Sandbox提供隔离执行环境,Agent Substrate管理逻辑智能体如何被放置到Worker中并支持迁移。”
—— Google,Agent Sandbox与Agent Substrate公告

影响与展望

当Actor可在任意Worker上运行,其身份标识应属于ActorTemplate、命名空间、租户和版本,而非Pod或Service。访问控制、网络策略与运行时权限需在模板级别表达,并支持按Actor覆盖。

需重新设计的能力
归属权、配额与计费跟踪更困难;可观测性必须跟随逻辑智能体,将日志、追踪与审计记录与Actor调度位置关联。
执行不再与Pod一一对应,运维模式需相应调整。
“这并没有否定Kubernetes在规模化微服务与推理工作负载方面的行业地位。需要讨论的是一个更细分的问题:Pod是否还应该继续作为AI智能体的部署、身份识别与生命周期单元。”
—— Lin Sun,kagent项目作者
综合公开信息整理