MarkTechPost来源发布时间

Google Cloud推出Agent Compute Engine:每个AI代理一个MicroVM

Google Cloud宣布推出 Agent Compute Engine,这是一项专为AI代理构建的计算服务。Google Agent Compute Engine为每个代理提供自己的硬件隔离microVM。

Google Cloud宣布推出 Agent Compute Engine,这是一项专为AI代理构建的计算服务。Google Agent Compute Engine为每个代理提供自己的硬件隔离microVM。该沙箱不含任何凭证。该服务已为作为工作代理的Gemini提供支持。Google于本周在AGNTCon + MCPCon上发布了它。客户预览定于未来几个月推出。其卖点:VM级隔离,兼具容器般的速度和密度。

TL;DR

  • 单元: 每个代理会话一个硬件隔离的microVM,拥有自己的guest内核、root权限和Hyperdisk。
  • 运行于: 使用Titan硅片和Titanium IPU的Google托管主机。开源版本Agent Substrate可在任何Kubernetes集群上运行。
  • 性能: 空闲代理会被检查点化,不占用任何活跃资源,并从快照恢复。Google未提供ACE的启动或密度数据。
  • 最佳情况: Agent Substrate在200,000个代理的情况下达到每秒500次激活,挂起/恢复时间低于500毫秒。
  • 最差情况: Agent Compute Engine本身没有公布启动时间、密度、定价或预览日期。

什么是Google Agent Compute Engine?

Agent Compute Engine是Google Cloud的一项服务,在每个专用microVM内运行一个AI代理。根据该 技术博文,它为Gemini、Antigravity以及内部评估和RL流水线提供支持。

Google将每个代理分为2部分。harness(即“大脑”)调用模型。sandbox(即“双手”)运行代码、shell命令和浏览器。harness完全在沙箱之外运行,并向沙箱内分发显式命令。

microVM隔离是如何工作的?

每个会话都在一个单租户microVM中运行,位于 Cloud Hypervisor边界之后。主机是强制性只读根文件系统(由dm-verity强制执行)的无状态设备。 Titanium 将证明密钥保存在guest之外。

网络设计是非同寻常的部分:

  • microVM没有标准网络接口、没有默认网关、也没有直接的VPC访问。
  • 所有流量都经过virtio-vsock边界到达本地代理,然后到达外部网关。
  • guest仅获得一个会话范围的SPIFFE证书和一个短期身份令牌。
  • Agent Gateway 会在策略检查完成后、请求进行中时替换为真实的后端凭据。

Google 假定攻击者控制沙箱内的一切。被提示注入的代理找不到任何可窃取的秘密。

四种代理身份是什么?

Google 为每个代理工作负载定义了 4 种身份:

  1. 用户身份: 仅用于对整个任务进行身份验证。
  2. 受托代理身份: 存储在集中授权服务中的受限授权,绝不存放在节点上。
  3. 代理工作负载身份: 一种短生命周期的 SPIFFE 身份,是沙箱流量唯一使用的身份。
  4. 代理员工身份: 代理自己的账户和资源。

工作负载身份即使被泄露也无法用于直接 API 调用。它仅用于标识是哪个沙箱发送了数据包。

它如何让空闲代理保持低成本?

Google 团队发现代理大部分时间都在等待模型或用户。因此沙箱会在工具调用结束时发出信号。主机将空闲的 microVM 检查点化至零活跃资源占用。下次调用时恢复运行。

密度来源于 写时复制内存共享。预热的快照镜像通过 DAX 映射,因此主机上的 microVM 共享基础操作系统和库页面。只有每个代理修改过的页面占用私有内存。Harness 还支持克隆、快照/分叉、回退和回滚。

存储分为 3 部分: 一次性临时覆盖层、共享只读卷,以及持久化的用户工作区,位于 Hyperdisk.

</b>Harness<span class="zone z-out">外部</span></div> <div class="node"><b></b>Sandbox microVM<span class="zone z-in">不可信</span></div> <div class="node"><b></b>vsock + 本地代理<span class="zone z-out">主机</span></div> <div class="node"><b></b>Agent Gateway<span class="zone z-out">节点之外</span></div> <div class="node"><b></b>令牌交换<span class="zone z-out">节点之外</span></div> <div class="node"><b></b>后端<span class="zone z-out">Workspace / VPC</span></div> </div> <div class="track"><span id="ace-fill"></span><i class="pkt" id="ace-pkt"></i></div> <div class="card"><h4 id="ace-st">步骤 1</h4><p id="ace-sd"></p></div> <div class="ctl"> <button class="btn" id="ace-prev"> 上一步</button> <button class="btn pri" id="ace-next">下一步 </button> <button class="btn" id="ace-play"> 自动播放</button> </div> <p class="note">来源:Google Cloud 技术深度解析,2026年10月22日。</p> </div> <div class="pane" data-p="1"> <div class="life" id="ace-life"> <div class="st"><div class="lb">状态 1</div><div class="nm">运行工具调用</div><div class="meter"><span style="width:100%;background:#34A853"></span></div><div class="ds">代码、shell 或浏览器在 microVM 内执行。</div></div> <div class="st"><div class="lb">状态 2</div><div class="nm">“思考中”信号</div><div class="meter"><span style="width:55%;background:#FBBC04"></span></div><div class="ds">沙箱报告没有正在运行的命令或后台任务。 </div></div> <div class="st"><div class="lb">状态 3</div><div class="nm">已检查点的空闲状态</div><div class="meter"><span style="width:0%;background:#4285F4"></span></div><div class="ds">状态已保留。零活跃主机资源。</div></div> <div class="st"><div class="lb">状态 4</div><div class="nm">恢复</div><div class="meter"><span style="width:100%;background:#34A853"></span></div><div class="ds">下一次工具调用会从快照恢复该 microVM。</div></div> </div> <div class="card"> <h4>写时复制内存,跨 6 个 microVM 共享</h4> <div class="mem" id="ace-mem"></div> <div class="shared" id="ace-shared">基础操作系统、库和二进制文件的 1 份共享副本(DAX + CoW)</div> <div class="legend"><span><i style="background:#4285F4"></i>基础镜像页</span><span><i style="background:#FBBC04"></i>代理修改过的私有页</span></div> <div class="ctl"><button class="btn pri" id="ace-cow">开启 CoW 共享</button><button class="btn" id="ace-cycle"> 运行空闲周期</button></div> </div> <p class="note">条形高度仅为示意。Google 未披露 Agent Compute Engine 的每主机密度数据。</p> </div> <div class="pane" data-p="2"> <div class="ids"> <button class="id"><div class="n">ID 1</div><div class="t">用户身份</div><div class="w" style="color:#4285F4">发起任务</div><div class="more">发起请求的已认证用户。仅用于对整个任务进行身份验证,绝不用于代理操作。</div></button> <button class="id"><div class="n">ID 2</div><div class="t">委托的代替用户身份</div><div class="w" style="color:#FBBC04">存于中央认证服务</div><div class="more">一种加密范围内的授权,证明用户已授权该 harness。这些长期有效的授权绝不会存放在计算节点上。</div></button> <button class="id key"><span class="badge">沙箱内唯一的 ID</span><div class="n">ID 3</div><div class="t">Agent Workload Identity</div><div class="w" style="color:#34A853">短生命周期的 SPIFFE ID</div><div class="more">在 microVM 启动时分配。用于标识是哪个沙箱发送了数据包。即使被泄露也无法用于直接调用后端。</div></button> <button class="id"><div class="n">ID 4</div><div class="t">Agent Workforce Identity</div><div class="w" style="color:#EA4335">代理自己的账户</div><div class="more">让代理以自身身份、账户和资源作为助手进行操作。</div></button> </div> <p class="note">点击卡片即可显示详情。Agent Gateway 在验证主机、用户、沙箱、会话和策略之后,在节点之外将 ID 3 转换为其他身份。</p> </div> <div class="pane" data-p="3"> <div class="stats"> <div class="stat"><div class="v" data-n="200000" data-f=",">0</div><div class="k">基准测试中的代理数量</div></div> <div class="stat"><div class="v" data-n="500">0</div><div class="k">每秒激活次数</div></div> <div class="stat"><div class="v" data-n="500" data-p="&lt;" data-s=" ms">0</div><div class="k">挂起 / 恢复延迟</div></div> <div class="stat"><div class="v" data-n="10" data-s="x">0</div><div class="k">更高的计算密度(最高)</div></div> <div class="stat"><div class="v" data-n="1000" data-f="," data-s="+">0</div><div class="k">每台主机的休眠代理数</div></div> </div> <div class="bars"> <div class="bar"><div class="row"><span>已发布的恢复延迟:Agent Substrate</span><b>&lt; 500 ms</b></div><div class="tr"><span data-w="50" style="background:#4285F4"></span></div></div> <div class="bar"><div class="row"><span>已发布的恢复时间:E2B(文档)</span><b>~1 s</b></div><div class="tr"><span data-w="100" style="background:#9aa4b2"></span></div></div> <div class="bar"><div class="row"><span>Agent Compute Engine</span><b>未披露</b></div><div class="tr"><span data-w="0" style="background:#EA4335"></span></div></div> </div> <p class="note">这些数字针对的是 GKE 上的开源 Agent Substrate,而非 Agent Compute Engine。由 Google 自行报告。延迟越低越好。</p> </div> <div class="pane" data-p="4"> <div class="tw"><table> <tr><th></th><th>Agent Compute Engine</th><th>AWS AgentCore Runtime</th><th>Azure dynamic sessions</th><th>E2B</th></tr> <tr><td>隔离方式</td><td class="g">Cloud Hypervisor microVM</td><td>每个会话专用 microVM</td><td>Hyper-V sandbox</td><td>Firecracker microVM</td></tr> <tr><td>空闲状态</td><td class="g">检查点化至零活跃资源</td><td>CPU 计费通常不计 I/O 等待</td><td>冷却期后销毁</td><td>暂停时保存文件和内存</td></tr> <tr><td>凭据</td><td class="g">沙箱中无</td><td>由 AgentCore Identity 管理</td><td>未披露</td><td>未披露</td></tr> <tr><td>最大会话</td><td class="g">未披露</td><td>microVM 为 8 小时,Instances 为 14 天</td><td>可配置冷却时间</td><td>未比较</td></tr> <tr><td>状态</td><td class="g">未来数月内预览</td><td>已可用</td><td>已列出 38 个区域</td><td>已可用</td></tr> </table></div> <p class="note">来源:Google Cloud 博客;AWS、Microsoft Learn 和 E2B 文档。核对于 2026 年 10 月 22 日。</p> </div> <div class="ft"><span>来源:<a href="https://cloud.google.com/blog/topics/ai-infrastructure/agent-compute-engine-deep-dive" target="_blank" rel="noopener">Google Cloud 深度解析</a> · <a href="https://cloud.google.com/blog/products/containers-kubernetes/agent-substrate-available-on-gke" target="_blank" rel="noopener">Agent Substrate</a></span><span class="mtp">由 Marktechpost 构建</span></div> </div> <script> (function(){ var R=document.getElementById('mtp-ace-explainer'); function post(){try{parent.postMessage({mtpAceHeight:R.offsetHeight+40},'*')}catch(e){}} var tabs=R.querySelectorAll('.tab'),panes=R.querySelectorAll('.pane'); tabs.forEach(function(t){t.addEventListener('click',function(){var i=+t.dataset.t;tabs.forEach(function(x){x.classList.toggle('on',x===t)});panes.forEach(function(p){p.classList.toggle('on',+p.dataset.p===i)});if(i===3)runStats();setTimeout(post,60);setTimeout(post,500)})}); /* flow */ var S=[["Harness 派发命令","Harness(大脑)在沙箱之外运行。它决定下一次工具调用,并向 microVM 发送显式命令。"], ["沙箱运行不受信任的代码","microVM(双手) ", "执行代码、shell 或浏览器操作。它不持有任何令牌、API 密钥,也没有元数据服务器访问权限。"], ["流量通过 vsock 出站","这里没有标准网卡。出站请求跨越 virtio-vsock 边界到达本地代理,该代理绑定基于 Titanium 的节点证明。"], ["Agent Gateway 校验三元组","在节点之外,Agent Gateway 校验用户委派、代理身份和节点身份,然后应用出站和数据防泄漏策略。"], ["传输中的令牌替换","只有此时,当请求离开网关时,真正的后端凭据才被插入到线路中。沙箱永远不会看到它。"], ["后端看到干净的身份","Workspace、私有 VPC 服务或 MCP 服务器收到可验证的身份,可审计到代表特定用户的特定代理。"]]; var nodes=R.querySelectorAll('#ace-flow .node'),fill=R.querySelector('#ace-fill'),pkt=R.querySelector('#ace-pkt'),st=R.querySelector('#ace-st'),sd=R.querySelector('#ace-sd'),prev=R.querySelector('#ace-prev'),next=R.querySelector('#ace-next'),play=R.querySelector('#ace-play'),k=0,timer=null; function draw(){nodes.forEach(function(n,i){n.classList.toggle('cur',i===k);n.classList.toggle('done',i<k)});var pct=k/(S.length-1)*100;fill.style.width=pct+'%';pkt.style.left='calc('+pct+'% - '+(pct/100*14)+'px)';st.textContent='步骤 '+(k+1)+',共 6 步:'+S[k][0];sd.textContent=S[k][1];prev.disabled=k===0;next.textContent=k===S.length-1?'重新开始 ↺':'下一步'} next.onclick=function(){k=k===S.length-1?0:k+1;draw()};prev.onclick=function(){if(k>0){k--;draw()}}; play.onclick=function(){if(timer){clearInterval(timer);timer=null;play.textContent=' 自动播放';return}play.textContent='❚❚ 暂停';k=0;draw();timer=setInterval(function(){if(k<S.length-1){k++;draw()}else{clearInterval(timer);timer=null;play.textContent=' 自动播放'}},1800)}; draw(); /* memory */ var mem=R.querySelector('#ace-mem'),cow=false,priv=[14,22,10,18,26,12]; for(var i=0;i<6;i++){var v=document.createElement('div');v. 执行代码、shell 或浏览器操作。它不持有任何令牌、API 密钥,也没有元数据服务器访问权限。"], ["流量通过 vsock 出站","没有标准网卡。出站请求穿越一个 virtio-vsock 边界到达本地代理,由该代理绑定基于 Titanium 的节点证明。"], ["Agent Gateway 校验三元组","在节点之外,Agent Gateway 验证用户委托、代理身份和节点身份,然后应用出站策略和数据丢失防护策略。"], ["传输中的令牌交换","直到此刻,真正的后端凭据才在请求离开网关时被插入到线路中。沙箱永远看不到它。"], ["后端看到一个干净的身份","工作区、私有 VPC 服务或 MCP 服务器收到一个可验证的身份,可审计到代表特定用户执行操作的特定代理。"]]; var nodes=R.querySelectorAll('#ace-flow .node'),fill=R.querySelector('#ace-fill'),pkt=R.querySelector('#ace-pkt'),st=R.querySelector('#ace-st'),sd=R.querySelector('#ace-sd'),prev=R.querySelector('#ace-prev'),next=R.querySelector('#ace-next'),play=R.querySelector('#ace-play'),k=0,timer=null; function draw(){nodes.forEach(function(n,i){n.classList.toggle('cur',i===k);n.classList.toggle('done',i<k)});var pct=k/(S.length-1)*100;fill.style.width=pct+'%';pkt.style.left='calc('+pct+'% - '+(pct/100*14)+'px)';st.textContent='Step '+(k+1)+' of 6: '+S[k][0];sd.textContent=S[k][1];prev.disabled=k===0;next.textContent=k===S.length-1?'Restart ↺':'Next step '} next.onclick=function(){k=k===S.length-1?0:k+1;draw()};prev.onclick=function(){if(k>0){k--;draw()}}; play.onclick=function(){if(timer){clearInterval(timer);timer=null;play.textContent=' Auto-play';return}play.textContent='❚❚ Pause';k=0;draw();timer=setInterval(function(){if(k<S.length-1){k++;draw()}else{clearInterval(timer);timer=null;play.textContent=' Auto-play'}},1800)}; draw(); /* memory */ var mem=R.querySelector('#ace-mem'),cow=false,priv=[14,22,10,18,26,12]; for(var i=0;i<6;i++){var v=document.createElement('div');v. className='vm';v.innerHTML='<small>VM '+(i+1)+'</small><span class="base" style="height:70px"></span><span class="priv" style="height:'+priv[i]+'px"></span>';mem.appendChild(v)} var cowb=R.querySelector('#ace-cow'),sh=R.querySelector('#ace-shared'); cowb.onclick=function(){cow=!cow;mem.querySelectorAll('.base').forEach(function(b){b.style.height=cow?'0px':'70px';b.style.opacity=cow?0:1});sh.classList.toggle('on',cow);cowb.textContent=cow?'关闭 CoW 共享':'开启 CoW 共享'}; var lifes=R.querySelectorAll('#ace-life .st'),lt=null; R.querySelector('#ace-cycle').onclick=function(){if(lt)clearInterval(lt);var j=0;lifes.forEach(function(x){x.classList.remove('on')});lifes[0].classList.add('on');lt=setInterval(function(){lifes[j].classList.remove('on');j++;if(j>=lifes.length){clearInterval(lt);lt=null;return}lifes[j].classList.add('on')},1300)}; /* ids */ R.querySelectorAll('.id').forEach(function(c){c.addEventListener('click',function(){c.classList.toggle('open');setTimeout(post,450)})}); /* stats */ var ran=false; function runStats(){if(ran)return;ran=true;R.querySelectorAll('.stat .v').forEach(function(el){var n=+el.dataset.n,p=el.dataset.p||'',s=el.dataset.s||'',f=el.dataset.f,t0=null;function step(ts){if(!t0)t0=ts;var q=Math.min(1,(ts-t0)/1200),e=1-Math.pow(1-q,3),v=Math.round(n*e);el.textContent=p+(f?v.toLocaleString('en-US'):v)+s;if(q<1)requestAnimationFrame(step)}requestAnimationFrame(step)});setTimeout(function(){R.querySelectorAll('.bar .tr span').forEach(function(b){b.style.width=b.dataset.w+'%'})},80)} window.addEventListener('load',post);window.addEventListener('resize',post);setTimeout(post,300); })(); </script> </body></html> ">

Agent Substrate 增加了什么?

Agent Substrate 是其开源、Kubernetes 原生的对应版本,自 2026 年 9 月 15 日起在 GKE 上可用。它提供 Cloud Hypervisor microVM 或 gVisor 沙箱。Google 公布了以下数据:

  • 计算密度比传统计算高出至多 10 倍。
  • 在 200,000 个 agent 的基准测试中,每秒 500 次激活,挂起/恢复时间低于 500 毫秒。
  • 每台主机上超过 1,000 个休眠 agent。

它支持包括 Claude Code、OpenClaw 和 Hermes 在内的 harness。它向所有 GKE 客户开放用于非生产用途。生产环境 GA 仅限白名单用户。源代码位于 https://github.com/agent-substrate/substrate.

它与其他 agent 沙箱相比如何?

特性Google Agent Compute EngineGoogle Agent SubstrateAWS AgentCore RuntimeAzure dynamic sessionsE2B
隔离方式Cloud Hypervisor microVM(来源)Cloud Hypervisor microVM 或 gVisor(来源)每个会话专用的 microVM(来源)每个会话一个 Hyper-V 沙箱(来源)Firecracker microVM(来源)
空闲处理检查点保存,零活跃资源快照,释放 CPU 和 RAMCPU 计费通常不计入 I/O 等待冷却期后销毁暂停会保存文件系统和内存(来源)
持久化每个微虚拟机使用 HyperdiskFilestore 代理卷(可选)文件系统在停止/恢复后持久保留临时会话暂停时创建快照
最大会话时长未披露未披露8小时(microVM),14天(Instances)可配置的冷却时间未比较
沙箱中的凭据无(网关令牌交换)由出口代理注入由 AgentCore Identity 管理未披露未披露
已公布的恢复/启动数据未披露恢复时间低于 500 毫秒未披露从预热的池中进行毫秒级分配约 1 秒恢复
开源否是否否未比较
可用性未来几个月内推出预览版GKE 非生产环境;通过允许列表提供 GA已可用列出的 38 个区域已可用

Google 如何扩展智能体治理?

Google 正在扩展 Gemini for business 智能体治理 到 Agent Runtime、Cloud Run、Agent Sandboxes、GKE 和 ACE。该技术栈包括 Agent Gateway、Agent Registry、 Agent Identity 以及基于 OpenTelemetry 的可观测性。

新功能分阶段推出:

  • 即将推出预览版: 适用于多云和混合环境的基于 Envoy 的执行点。
  • 即将推出预览版: 针对受管设备上 Claude Code 和 Antigravity CLI 等本地编码代理的治理功能。
  • 本季度推出预览版: 令牌管理、模型路由、Service Extensions 绑定以及适用于 Cloud Run 的 Express Link。
  • 本季度推出预览版: 与 Ping Identity、SailPoint 和 Saviynt 的委托授权。

核心要点

  • 每个代理 1 个硬件隔离的 microVM,内部零凭据。
  • 空闲代理会检查点保存至零活动资源,然后从快照恢复。
  • 4 个独立身份;只有短时效的 SPIFFE ID 会接触沙箱。
  • Agent Substrate:500 次激活/秒,恢复时间低于 500 毫秒,200,000 个代理。
  • Agent Compute Engine 尚未公布公开定价、启动时间或预览日期。


请查看 发布文章、 技术深度解析以及 Agent Substrate 公告。注册预览意向请点击 此处。。本项目的全部功劳归于该研究者。另外,欢迎在 Twitter 上关注我们,别忘了加入我们的 150k+ML SubReddit 并订阅 我们的新闻通讯。等等!你用 Telegram 吗? 现在你也可以在 Telegram 上加入我们了。

需要与我们合作推广您的 GitHub Repo、Hugging Face Page、Product Release、Webinar 等? 与我们联系

本文 Google Cloud Launches Agent Compute Engine: A MicroVM per AI Agent 首发于 MarkTechPost.

原始出处

MarkTechPost

内容说明

原始发布及相关权利归来源方。

机器翻译 · 请以原文为准