内容提要
文章介绍如何用 kagent 与 Agent Substrate 为 AI 代理实现安全沙箱。普通容器隔离不足,需软硬件级隔离:gVisor 提供软件隔离,microVM 提供硬件隔离。kagent 作为运行时,Substrate 作为底层平台,代理以 Actor 形式运行于 Worker Pod 中,仅在会话活跃时启动,以节省资源。文中还演示了通过 YAML 或 UI 声明式创建代理模板与 Harness,并强调隔离、安全与治理是企业落地代理的关键。
延伸解读
普通容器隔离为何不够
文章指出,用 Docker 等容器运行工作负载虽算“沙箱”,但隔离是“扁平”的:进出流量默认开放,工作负载可向任意目标发包,且没有策略执行。即便用网络策略、分段、路由规则收紧,也改变不了这一本质。对代理而言,风险在于持有模型输出、可能的凭证和工具调用的代码一旦越界,就可能影响宿主机或底层基础设施。因此需要软硬件级隔离与 AI 网关策略执行。
gVisor 与 microVM 的分工
Agent Substrate 用两种方式实现隔离:gVisor 做软件级隔离,工作负载在用户空间运行,由专用用户态应用内核 Sentry 拦截并处理系统调用;microVM 做硬件级隔离,客户机操作系统/虚拟机借助硬件虚拟化扩展直接运行在物理 CPU 核心上。文章强调,隔离如何实现很关键,因为容器隔离止步于内核,所有东西都在同一内核的用户空间运行,对部分场景够用,但并非同等安全。
Actor 按会话启停的资源逻辑
在 Substrate 中,代理以 Actor 形式运行于 Worker Pod,由控制面 ateapi 管理。文章演示:Substrate 页显示 0/8 Actors 运行,是因为 Actor 仅在会话活跃时启动;发起新会话后变为 0/9,会话结束即关闭;复用已有会话则计数不变。这回应了“每次用代理都新建 Actor、资源开销大”的疑虑——只有新会话才会新建,有助于在多租户环境中控制资源占用。
kagent 补齐声明式入口
文章把 kagent 定位为运行时、Agent Substrate 为底层平台。没有 kagent 时,与 Substrate 交互基本只能靠 curl 之类程序化调用 Actor;kagent 则提供业界熟悉的 UI 和声明式方式。文中用 YAML 创建 Harness 与 AgentTemplate,AgentTemplate 类似可复用的“黄金镜像”,Harness 即 Actor 本身,可对接 Codex、Claude Code 或 langgraph 等自带框架。
Q&A
为什么普通容器隔离不足以安全运行AI代理?
普通容器虽然技术上提供了沙箱,但隔离是“扁平”的:进出流量完全开放,工作负载可以随意发送数据包,且没有策略执行。即使通过网络安全策略、分段、路由规则等收紧,也无法改变其本质上的弱隔离。因此需要软硬件级别的隔离来确保代理代码无法逃逸到主机环境或破坏基础设施。
Agent Substrate 如何实现软件级和硬件级隔离?
Agent Substrate 使用 gVisor 实现软件级隔离:隔离的工作负载在用户空间内运行,由专用的用户空间应用内核 Sentry 拦截和处理系统调用。硬件级隔离则通过 microVM 实现:microVM 客户机操作系统/虚拟机利用硬件虚拟化扩展直接运行在物理 CPU 核心上。
kagent 和 Agent Substrate 在架构中分别扮演什么角色?
kagent 是运行时,Agent Substrate 是底层平台,负责实现和促进沙箱化。没有 kagent 时,与 Agent Substrate 交互的唯一入口是通过 curl 等编程方式调用 Actor。kagent 允许以行业熟悉的方式(UI 和声明式)通过 Substrate 与运行在 Actor 中的代理交互。
如何用 YAML 声明式创建一个代理模板和 Harness?
使用 kagent CRD 通过 kubectl apply 创建。Harness 资源(kind: Harness)定义工作负载镜像、workerPoolRef、snapshotPolicy 和 allowedAgentTemplates 选择器;AgentTemplate 资源(kind: AgentTemplate)定义 modelConfig、description 和 systemPrompt。两者通过标签(如 kagent.dev/harness: kagent)关联。
Agent Substrate 中的 Actor 是何时启动和停止的?
Actor 仅在会话活跃时运行。当开始一个新会话时,会启动一个新的 Actor;会话完成后(即你向代理提问并收到回复的整个过程),Actor 会关闭。如果使用现有会话,Actor 数量不会变化,因为仍是同一个会话。这种设计节省了硬件资源。
企业落地 AI 代理时为什么隔离、安全和治理是关键?
文章强调,没有隔离、安全和治理,代理无法在受控环境中正确实施,缺乏策略执行来确保代理按预期行事,也无法保证代理在需要时可用。对于工程团队和企业,隔离、保护、治理和控制代理的能力是真正理解代理能做什么和不能做什么的关键,这也是当前许多组织在实施代理时的主要障碍。