云端沙箱

你的代码在哪里运行。每一个 TaskGoblin 任务都在一个隔离且持久的云端沙箱中执行——绝不在笔记本电脑上——你的凭据被注入在智能体外围,而不是交给它。

TaskGoblin 是一个云端智能体,这意味着最重要的那个问题——我的代码在哪里运行?——只有一个答案:在一个隔离的云端沙箱里,绝不在任何人的笔记本电脑上。本页解释这个沙箱是什么、为什么它是隔离的,以及随着团队成长它如何保持隔离。

沙箱是什么

沙箱是云端的一个隔离容器,里面有一份你的代码仓库检出。当你交出一个任务时,智能体在那个容器内部运行——它在那里读取和编辑文件、执行命令、检查仓库,无法访问你的机器,也不依赖你的机器处于开机状态。

因为沙箱位于云端,工作天然就是异步的:你分配一个任务然后离开,无论你是否在看,智能体都会继续工作。

隔离:每个组织一道边界

每个组织的工作都在自己的沙箱中运行。这道边界是 TaskGoblin 数据隔离的核心——一个组织永远无法读取或写入另一个组织的代码、仓库或运行历史。智能体只能看到你明确连接的工作区、仓库和项目;断开某个连接,它就立刻失去访问权限。

持久化:它记住的是环境,而不只是任务

沙箱是持久的,并在同一会话线程的多条消息之间复用。针对同一个问题的后续追问会落到一个已经克隆好仓库、并保留着上一次运行状态的环境里——因此智能体能快速接续,而不是每次都从一个空盒子开始。这正是让一个任务的迭代感觉连贯而非重复的原因。(关于这种连贯性如何在多次运行之间承载决策,请参阅智能体是如何工作的中关于会话线程与交接记忆的部分。)

密钥留在智能体之外

智能体永远看不到你的凭据。沙箱内的 git 访问权限在运行时按组织配发——一个 GitLab OAuth 令牌,或一个新签发的 GitHub 安装令牌——并被注入到智能体外围的环境中,而不是作为可读内容交给它。智能体可以使用它克隆和推送所需的访问权限,而你的密钥从不会进入它的对话记录或上下文。

这是一条刻意划下的边界,而不是副产品:凭据对沙箱中的 git 工具可用,但它从不属于智能体读取或推理的材料。

自定义沙箱

在团队套餐中,你可以带上自定义沙箱——一个预装了你的项目构建和测试所需工具链、系统软件包与服务的容器镜像。当智能体的工作不只依赖一份裸检出(需要特定运行时、一个数据库、私有构建工具)时,自定义沙箱意味着任务一开始环境就已就绪,智能体的改动也能在贴近真实的环境中得到验证。

自托管沙箱

有合规或数据驻留要求的团队可以在自己的基础设施上运行沙箱。控制平面依然负责调度和驱动工作,但检出并执行你代码的那个容器位于你自己的环境内——因此源码、构建产物和运行状态从不离开你所控制的边界。当"在云上"必须意味着你的云时,就该选这个选项。

接下来去哪里

  • 智能体是如何工作的 —— 从触发到合并请求的完整流程、会话线程与交接记忆。
  • 将任务分配给智能体 —— 启动一次运行的每一种方式,以及并行工作如何做到一个任务一个沙箱。
  • Loops —— 按节奏使用同一套沙箱模型的周期性运行。