正在刊行长文 · Essay
2026-06-16所有内容
随机比特 · Random Bits

桌面Agent不缺脑子,缺的是个敢让它碰的笼子

2026-06-16AI Engineering / Systemsrbits.uk
桌面Agent不缺脑子,缺的是个敢让它碰的笼子

桌面Agent不缺脑子,缺的是个敢让它碰的笼子

去年一个开发者让 Claude Code 清理 Git 历史,它顺手删了整个仓库。不是提示词有问题——是它敲命令的机器和开发机是同一台。

过去半年能看懂屏幕、点击按钮的模型一只手数不过来。但多数人跑完 demo 就退了——光标自己闪起来,你不知道下一秒是 ls 还是 rm

瓶颈不是"Agent 能干什么",是"你让它在哪儿干"。

CUA(18,000 Star,MIT 协议)把这个做成了基础设施。

不只沙箱,是一套四件套

组件 解决什么 接入
cua-sandbox 执行环境隔离 pip install cua
cua-driver 后台操控真桌面 MCP → Claude Code
cua-bench 评测 + 轨迹回放 cb run
Lume macOS VM lume run macos-sequoia:latest

核心是 sandbox,Python 3.11+ 装一个包:

from cua import Sandbox, Image

async with Sandbox.ephemeral(Image.linux()) as sb:
    result = await sb.shell.run("echo hello")
    screenshot = await sb.screenshot()
    await sb.mouse.click(100, 200)
    await sb.keyboard.type("Hello from Cua!")

ephemeral 是灵魂——用完即弃,Agent 删什么都没事,下次启动干净如初。底层用 QEMU、容器还是云端,对你透明。

cua-driver 走反向:必须让 Agent 操作真桌面(填表单、跑企业微信),跑在后台不抢焦点。接入 Claude Code:

claude mcp add --transport stdio cua-driver -- cua-driver mcp

01-cua-architecture

什么时候必须上沙箱

最关键的是第三种——可复现调试。Agent 出错了"改提示词再跑"不叫工程化。有轨迹回放才叫。

02-sandbox-decision

这条路刚起步

CUA 把隔离从"自己搭 QEMU"变成 pip install cua,像 Docker 把 cgroups 打包成 docker run。工具链和云端还没彻底解决,但不影响结论:

做桌面 Agent,第一步不是调模型 API。是 pip install cua,让它在删了什么都无所谓的沙箱里跑。

你在真桌面上跑过 Agent 吗?

随机比特公众号二维码
公众号 · 随机比特
从 AI 工具热闹里拆工程真相

写边界、控制面、上下文、成本与安全。