Agent Platform 沙盒环境中的 Managed Agents API

Agent Platform 上的托管式智能体 API 采用标准、隔离的 Linux 沙盒运行。在这个安全的全代管式式执行容器中,自定义智能体可以开箱即用地进行推理、规划工作流、执行 Bash 命令以及读取或写入文件。

每个沙盒环境都提供以下核心系统和控制功能:

  • 持久性文件系统:在多轮互动中安全地持久保存文件、智能体逻辑和执行状态。

  • Bash 终端:提供安全的环境,用于执行终端命令、运行自定义脚本和处理本地文件。

  • 网络隔离:默认处于停用状态。您可以明确声明网络 allowlist,以允许代理访问公共互联网资源或下载外部库。

  • 可扩展的集成:支持动态导入自定义功能,包括标准 Web API、Model Context Protocol (MCP) 服务器或技能注册表中的技能。

沙盒权限和安全性

为了保持标准的企业安全边界,远程沙盒在以下权限模型下运行:

  • 网络隔离:默认情况下,沙盒在没有外部网络访问权限的情况下运行。通过在环境配置中设置网域许可名单来明确启用连接。如需查看许可名单示例,请参阅配置网络访问权限

  • 最小权限执行:启用网络访问权限后,容器缺少特权管理凭据或权限。默认情况下,它只能查询可公开访问的互联网位置。

  • Cloud Storage 和技能注册表的装载数据范围:当您附加来自 Google Cloud Storage技能注册表的外部数据源时,系统会为环境提供范围缩减的授权令牌,这些令牌旨在仅访问代理配置中指定的特定目录或技能。沙盒不包含任何环境凭据,也无法访问项目中的其他代码库或文件。

  • MCP 凭据范围:包含后端身份验证令牌的模型上下文协议 (MCP) 服务器的标头配置仅在访问配置中定义的特定 MCP 端点时才会传输。

执行和生命周期管理

以下标准参数用于控制沙盒执行和生命周期:

  • 沙盒环境:代理在全代管式沙盒环境中运行,并使用 Antigravity harness 进行编排。

  • 沙盒存留时间 (TTL):沙盒环境的标准存留时间 (TTL) 为 7 天。每次新的互动都会自动重置此计时器,以确保活跃的智能体保持可用状态。

  • 智能体配置持久性:后端会持久存储智能体配置,这些配置会一直保留,直到您向 Agents API 发送明确的 DELETE 请求。

  • 智能体协作:当您在互动期间提供相同的 env_id 时,多个智能体共享同一环境。

预装软件

沙盒包含一组标准的 Linux 实用程序:

类别 软件包/工具
UNIX 工具
  • bc
  • curl
  • fd-find
  • gawk
  • gcloud CLI
  • git
  • htop
  • iproute2
  • jq
  • lsof
  • procps
  • ripgrep
  • rsync
  • tree
  • unzip
  • wget
  • which
Python 3.11 软件包
  • ast-grep-cli
  • beautifulsoup4
  • google-genai
  • numpy
  • pandas
  • pyyaml
  • requests
Node.js 20 全局软件包
  • create-next-app
  • create-vite
  • typescript

如果已启用网络访问权限,代理可以在运行时使用 pip installnpm install 安装其他软件包。这些软件包会保留在环境快照中,并且在重复使用同一 env_id 的互动中保持可用。

技能装载架构

当您在代理的 base_environment.sources 中配置来自技能注册表等来源的外部技能时,这些资源会直接附加到沙盒文件系统中。系统会将每个技能放置在指定的目标目录中,同时保留原始技能软件包目录结构。这种组织方式有助于确保代理能够继续发现各个技能文件。

来源配置示例

以下示例附加了技能注册表中的三项技能:

"sources": [
  {
    "type": "skill_registry",
    "source": "projects/{projectID}/locations/{location}/skills/pdf-skill",
    "target": "/.agent/skills/"
  },
  {
    "type": "skill_registry",
    "source": "projects/{projectID}/locations/{location}/skills/finance-skill",
    "target": "/.agent/skills/"
  },
  {
    "type": "skill_registry",
    "source": "projects/{projectID}/locations/{location}/skills/git-skill",
    "target": "/.agent/other-skills/"
  }
]

装载后的沙盒文件系统结构

在沙盒环境完成配置后,文件将装载到容器中并按以下结构进行整理:

/ (root)
└── .agent/
    ├── skills/                    <-- Mount Target for pdf-skill & finance-skill
    │   ├── pdf-skill/             <-- Preserved skill directory
    │   │   ├── SKILL.md
    │   │   └── scripts/
    │   └── finance-skill/         <-- Preserved skill directory
    │       ├── SKILL.md
    │       └── scripts/
    └── other-skills/              <-- Mount Target for git-skill
        └── git-skill/             <-- Preserved skill directory
            ├── SKILL.md
            └── scripts/

沙盒内置工具

在受管理的运行环境中,智能体可以访问多种默认工具:

工具名称 说明
bash 在沙盒终端中执行 shell 命令并返回输出。
file_system 读取、写入和删除文件内容,以及列出目录内容。

后续步骤

概览

了解 Agent Platform 上的托管式智能体 API,这是一个配置驱动的 REST 优先环境,用于构建自主智能体。

指南

了解如何使用 REST API 创建、更新、列出、获取和删除代理。

指南

了解如何在运行时与代理互动、管理会话状态以及动态替换配置。