ARTICLE · 1099018
AI编程工具9月更新,都在补同一件事
大家好,我是Stephen。
九月的 AI 编程工具更新密度挺高,但单看每一条都有点无聊:全屏终端界面、语音对话、用量面板,剩下是一长串 bug 修复。都是小改动,没有一个是新模型那种能上头条的东西。
但把这些更新按时间摞在一起,我看到一条挺清楚的线。它们在补的是同一件事。

一、先把九月的事实摆出来
按时间顺序,改动规模比较大的有这么几件:
| 本地沙箱(公开预览) | ||
下面挑三件展开说。
1. Copilot 给本地 Agent 上了沙箱
这是这个月我认为最关键的一条。GitHub 在 Copilot 桌面应用里加了本地沙箱,目前处于公开预览阶段,配置粒度是按项目的。
沙箱管三个面:
文件系统。除了默认范围,你可以额外指定读写目录、额外只读目录,以及拒绝目录列表。这里有个细节值得注意,拒绝优先级更高,父目录在允许列表里也不影响子目录被拒。 网络。出站互联网和本地网络可以分开控制。如果你的 Agent 没有联网需求,两个都可以关掉。 凭据。决定会话里能不能拿到用于 HTTPS git 操作的 Git 凭据,以及 GitHub CLI 的认证凭据。
操作方式有两种。开着会话想临时加上,敲 /sandbox on;想按项目长期生效,到设置里打开 "Sandbox new sessions"。项目设置只管新会话,已经在跑的会话不会自动变。
这里有个设计我觉得做得对。 如果操作系统没法执行你要求的策略,沙箱 shell 会直接报错退出,而不是退化成无沙箱运行。这个叫 fail-closed。一个会静默降级的沙箱,等于没有沙箱。
企业版还能再收紧一层,管理员通过托管设置下发的策略,项目和个人设置都覆盖不了。
2. Codex CLI 把终端做成了项目驾驶舱
9 月 22 日的 0.156.0 是 Codex CLI 几个月来功能密度最高的一次更新。几个我觉得实用的:
/tui全屏终端界面。带转录搜索、鼠标选文、右键复制,另加六套终端主题。以前是"对话框加命令行",现在更像把项目管理搬进了一个窗口语音对话改成默认开启,F8 切换, /voice选设置,内置了 Linux 和 Windows 的音频运行时/usage用量面板。能看账户用量、token 总量,还有插件和 skill 的活动情况。这个对自费用户很有用,总算能看到钱花在哪了worktree 支持默认开启,可以直接在命令中心里建 worktree 会话 /daemon管理本地后台服务,不想用可以--no-daemon绕过
不过这次更新里更值得看的是安全修复那一栏。它关掉了三处沙箱隔离缺口,涉及 Windows 的入站连接、特权的 Linux 和 macOS socket、以及通过只读 macOS 文件句柄的写入。
一边给终端加功能,一边补权限的洞。这两件事同时发生,不是巧合。
3. Claude Code 在修长会话
2.1.281 是个纯修 bug 的版本,但修的位置很能说明问题:
卡在 unexpected tool_use_id重试上的会话,现在能通过转录修复自愈配置成 http 的 MCP 服务器,之前大约五分钟会超时,已修 安全审查拒绝审批之后,auto 模式之前会无限重试同一个动作,已修 模型传过来的参数名略有偏差时,Write 调用会验证失败,已修
Gemini CLI 那边 0.61.0 也是同一路数,强化提示注入防护、加固沙箱隔离,都是防御性的活。
二、为什么这道墙是必需品
要理解这批更新为什么重要,得先想清楚一个事实。Agent 在你自己机器上跑命令时,继承的是你的全部权限。
你的 SSH 私钥、云服务凭据、各个项目里的 .env 文件、你登录过的所有服务,它都能碰到。它还能对外发网络请求。一个不受限制的 shell,理论上可以把你的密钥塞进一条 curl 命令发出去,而你的终端输出刷得太快,你可能根本来不及看清。
这事在过去一年不是假设。Agent 越自主,越依赖它自己判断该敲什么命令,而它的判断依据里有一部分来自它读到的内容,包括来自外部的文本。提示注入这条攻击路径就长在这里。
所以沙箱解决的其实是个能力边界问题。Agent 能做什么,和你允许它做什么,必须是两件事。
GitHub 这次的实现,加上 9 月 22 日的 OpenTelemetry 导出(管理员能看 Agent 每一步调了什么模型、用了什么工具),再加上企业托管权限设置,凑起来就是一套完整的组合:规定能做什么、限制实际执行、看它做了些什么。
不过有个现实问题得说清楚,沙箱默认是关的。
这意味着,在你自己动手打开之前,你机器上的 Copilot Agent 仍然是以你的完整权限在跑的。安全功能做成默认关闭,是产品推广上的常见妥协,但代价是绝大多数用户不会主动去开。所以这条的意义目前更多在于"有了",而不是"用了"。
还有个容易踩的坑。它不覆盖云沙箱会话和远程主机上的会话,而且 Copilot 应用和 Copilot CLI 的沙箱设置是各自独立的。你在应用里配好了,不代表命令行那边也安全了。
三、被忽略的另一半是长会话
我们这个月的注意力都在权限上,但 Claude Code 和 Gemini CLI 修的这些 bug 指向另一个问题。会话跑长了会出问题。
上面那三个修复,你如果只是偶尔问几句代码,可能一次都碰不到。但如果你像我一样一开就是一两个小时、让它连着改十几个文件、中间还挂着几个 MCP 服务器,这些都是会真实撞上的:
MCP 服务器五分钟超时,意味着你正跑到一半的上下文链条断了,得从头再来 auto 模式在安全审查拒绝后无限重试,是那种你去泡杯咖啡回来发现它还卡在原地的场景 unexpected tool_use_id卡死,会把整个会话废掉
这些问题不好写进发布说明,也不好做演示,但对真实工作流的影响远比"加了语音功能"大。工具从演示走向日常,比拼的就是这块。
四、如果你的团队在用 Agent 写代码
不用等厂商把默认值改掉,这几件事现在就能做:
先确认你的版本。Codex CLI 至少 0.156(沙箱缺口是在这个版本关的),Claude Code 至少 2.1.281。 Copilot 应用去把项目沙箱打开。至少给拒绝列表加上 .ssh、.aws、所有.env。花五分钟,挡掉的是最坏的情况。Copilot 应用和 CLI 的沙箱要分别配,别以为配了一个就都覆盖了。 企业用户去看托管设置。管理员下发的策略比项目设置优先级高,这是唯一能保证"所有人生效"的方式。配合 9 月 22 日的 OpenTelemetry 导出,能看清 Agent 到底在干什么。 留意长会话的报错。如果遇到会话莫名卡住,先升级到最新版本,再看是不是 MCP 服务器在超时。
几个需要注意的点
本地沙箱是公开预览,GitHub 明确说了可能变。别把它当成生产环境的唯一防线。 默认关闭这一点短期内大概不会改。厂商要在易用性和安全性之间找平衡,这个平衡点通常会偏向易用。 沙箱不是万能。它限制的是命令能碰到什么,管不了 Agent 生成的代码本身有没有问题。代码该 review 还是要 review。 各家实现不一致。Copilot 应用有本地沙箱,Cloud Sandbox 是另一套(按用量计费,隔离更彻底),远程会话不在覆盖范围内。跨工具、跨平台的防护水平现在差得很远,别假设你换一个工具还有同样的保护。 本文提到的版本号、日期与功能,均以各家官方 changelog 和发布说明为准。我在文末列了来源,细节请以官方原文为准。
写在最后
九月的这批更新,功能上没什么让人兴奋的。但如果你的团队已经在用 Agent 干活,这些改动比任何一个新模型都更值得你花时间。
因为模型能力涨得再快,你要把 shell 权限交给它之前,还是得先能睡得着觉。
记住一句话就行,沙箱有没有用,取决于你打开了没有。
参考来源
GitHub Changelog, Local sandboxing in the GitHub Copilot app(2026-09-23) GitHub Changelog, OpenTelemetry in the GitHub Copilot app(2026-09-22) OpenAI Codex CLI release notes, rust-v0.156.0 / 0.156.1 / 0.157.0 Anthropic Claude Code changelog, v2.1.281(2026-09-23) Gemini CLI v0.61.0 release notes(2026-09-23)