Agent 跑长任务最大的瓶颈不是模型能力,是它每越界一步都要你按一次确认,而你不可能一直在线。Guardian 子代理就是来解决这件事的:它跑在只读沙箱里,输出 0 到 100 的风险分,低于 80 就自动放行。这篇文章拆它的判定维度、源码里的真实常数、v0.160.0 补的上下文,以及启用之前你必须想清楚的三个问题。
Codex 找了个模型替你按「允许」:Guardian 审批子代理能做到什么,做不到什么


Agent 跑长任务最大的瓶颈不是模型能力,是它每越界一步都要你按一次确认,而你不可能一直在线。Guardian 子代理就是来解决这件事的:它跑在只读沙箱里,输出 0 到 100 的风险分,低于 80 就自动放行。这篇文章拆它的判定维度、源码里的真实常数、v0.160.0 补的上下文,以及启用之前你必须想清楚的三个问题。

hooks 是 fail-open 的设计,所以它坏掉的时候不会喊。仓库级配置在交互式会话里不生效、插件多带一个 manifest 全员静默死掉、Windows 上 exit 2 被改写成 1、失败信号压根不存在。这些 issue 的共同点是没有一行报错。

Codex CLI 0.162.0 补掉两个 Linux 沙箱的洞:一份 ripgrep 配置能让 deny 黑名单失效,一个可写的 bwrap 能被当成沙箱启动器。同期的 0.161.0 还换掉了默认模型、把 Daybreak 改成必须显式打开,而这三个新键在官方配置文档里都查不到。

Windows 上没有 Seatbelt,也没有 seccomp。Codex 团队只能自己造沙箱:先用合成 SID 加写受限令牌把文件写入管住,再为了让防火墙只作用在这一棵沙箱进程树上而接受管理员提权。本文拆解两次重做的取舍,并补上两件真实发生的事,沙箱 ACL 铺到整个用户目录引发的隐私争议,以及一条信任 Everyone 的命名管道如何让共享机器上的凭据被拿走。

Archestra 团队用一个 Slack 螃蟹表情触发编码 agent,自动拉起环境、排查 bug、自审代码、录演示视频,一路修到 PR 提审。但真正棘手的是:当 agent 同时拥有内部数据读取、网络访问和公开仓库推送权限,数据会流向哪里?他们用 OpenAPPA 本地策略引擎给数据打上「内部」标记,在工具调用前拦下越界操作。