多智能体运行时基础层

让并行编码智能体突破规模上限。

一个沙箱,多个隔离的智能体会话,共享同一个层栈(LayerStack)。

在同一个沙箱内并发运行多个编码智能体。每个智能体都获得独立的写时复制(COW)工作区会话,以及基于共享层栈、由持有者独占的命名空间;随后通过乐观并发控制(OCC)闸门完成发布:所有已解决路径要么一起提交,要么全部不提交。

  • 一个沙箱 · 多个会话
  • COW + 命名空间隔离
  • OCC + 可审计性
Ephemeral Sandbox mascot — a Siamese kitten peeking out of its wooden sandbox
多个智能体 · 一个沙箱隔离的工作区会话 · 并发执行
横向并行

在一个沙箱内并行运行智能体

相互独立的工作区会话可以防止智能体任务轨迹彼此覆盖。

共享基础

一个层栈,各自拥有私有 COW 增量

会话共享不可变的底层路径,同时分别拥有自己的可写上层。

结果可追溯

通过 OCC 合并,并标注输出归属

针对最新头部重新检查,原子发布,并将结果行映射回其所有者。

多智能体运行时闭环

一个沙箱,多个隔离会话,一条 OCC 发布路径。

智能体共享沙箱守护进程和层栈底层路径,但每个智能体都在由持有者独占的命名空间内执行,并拥有自己的可写 OverlayFS。协调发生在发布阶段。

3 个智能体 · 1 个沙箱正在并发运行
Aagent-a
Bagent-b
Cagent-c
一个沙箱 · 一个层栈
会话 A
$ cargo fix
运行中...
可写上层 ΔA · ns-A
会话 B
$ cargo test
运行中...
可写上层 ΔB · ns-B
会话 C
$ pnpm lint
运行中...
可写上层 ΔC · ns-C
共享 LAYERSTACK 租约 · HEAD L000023
可观测性通道
OCC 发布门基础层 · 当前头部 · 会话增量
L000024 · 所有者映射新的不可变层
智能体共享沙箱与层栈,但不共享可写状态。每个会话都通过 OCC 发布。
从同一事实开始

租用共享层栈的最新 head

每个工作区会话固定同一段不可变底层历史,无需复制完整工作区。

独立执行

为每个智能体提供隔离会话

每个持有者独占其命名空间边界、upperdir、workdir、租约和私有 COW 增量。

受控发布

通过 OCC 完成协调

根据当前头部重新检查路径,合并符合条件的文本,并发布全部已解决路径;否则一个也不发布。

从设计上保证可审计

检查运行过程,追溯结果归属。

可观测性是运行时基础层的一部分,而不是事后补充。智能体工作时可以查询实时状态,发布后还能将输出关联到产生它的会话或操作。

结构化运行证据

包括快照、跨度瀑布图、领域事件、资源序列和层栈状态。

已发布代码行的来源

将所有权解析到工作区会话、操作、原始基础层或未知来源。

不受压缩影响的持久记录

即使不可变的层栈历史经过压缩,所有权元数据仍可查询。

审计轨迹 · eos-abc

# inspect the latest execution trace

$ sandbox-observability-cli trace --sandbox-id eos-abc --trace-id last

trace 8bd1 · exec_command · 1.84s

├─ workspace admission 18ms

├─ namespace launch 41ms

└─ command runtime 1.78s

# read newest-first domain events

$ sandbox-observability-cli events --sandbox-id eos-abc --last-n 3

agent-a command.started trace=8bd1

agent-b command.yielded awaiting stdin

agent-c layer.published L000024

# attribute published lines

$ sandbox-runtime-cli --sandbox-id eos-abc file_blame --path src/auth.ts

1–8    original

9       workspace_session:ws-17

10–12  original

13–14  operation:req-91

乐观并发控制

重新检查头部,解决路径冲突,原子发布。

会话完成时,其结果不会直接覆盖共享层栈。发布过程会比较租用的基础层、当前 head 与捕获的增量,然后提交一个不可变层;否则不提交任何内容。

查看接口
会话 A · ΔAvalidate(session)
会话 B · ΔBauth_test()
会话 C · ΔClog(session.id)
OCC 发布门 · 原子操作重新检查头部 · 解决冲突 · 提交 · 标注归属
无冲突合并 → 新的不可变层
发生冲突 → 不进行部分发布

明确分离的控制接口

管理、运行时与可观测性统一通过一个认证网关。

根据所需权限选择对应接口。CLI、MCP 和 Web 控制台共享相同的操作语义,但不会把不同权限伪装成一个混合命令。

管理

创建和管理沙箱

发现镜像与工作区、创建运行时、检查生命周期状态,以及执行压缩、导出和销毁。

sandbox-manager-cli list_sandboxes
运行时

执行命令并操作文件

运行命令、传输标准输入与输出记录,并读取、写入、编辑或追溯已发布文件。

sandbox-runtime-cli --sandbox-id ID exec_command pwd
可观测性

检查每个活动运行时

查询快照、追踪、事件、cgroup 资源序列和实时层栈状态。

sandbox-observability-cli snapshot --sandbox-id ID