
GPT-6 Astra 的计算机使用为何有效
从源码和工程链路拆解 GPT-6 Astra:以可访问性树替代像素猜测,用 Node REPL 持久会话,用代码执行动作,并用 Guardian 策略在执行前拦截高风险操作。
上周,OpenAI 发布了 GPT-6 Astra。作为其目前最强的模型,这次发布没有把重点放在跑分上,而是放在“计算机使用”上;配套演示中,Astra 操作 Blender 并生成三维世界的画面尤其引人注目。
发布视频延续了 1979 年 MIT Architecture Machine Group(后来的 MIT Media Lab)的 “Put That There” 演示。原片中,研究者对计算机说“把它放到那里”,系统便把形状放到投影屏幕上。截至本文撰写时,OpenAI 的这条演示帖子已获得 1.31 亿次浏览。
“让计算机操作计算机”并不是新想法,但 Astra 让它第一次看起来接近可用的生产力工具。作者 Kyle Jeong 在 Browserbase 从事计算机使用系统落地工作三年,他从源码与工程结构出发,解释了 Astra 为什么有效。
这里的计算机使用,指的是 AI 能够自主控制基于计算机的系统。它可能观察截图、视频、文本或结构化界面状态,也可能通过点击、输入或代码来执行动作。
计算机使用的简要历史
2024 年 10 月,Anthropic 随 Claude 3.5 Sonnet 推出计算机使用能力。第一代方案以视觉为主:模型接收截图,输出像素坐标和 JSON 动作。
{
"action": {
"type": "click",
"x": 156,
"y": 50
}
}
Stagehand、Playwright 等驱动层再把这些动作翻译成浏览器或操作系统的交互。随后,OpenAI 发布了 Operator 和 computer-use-preview,Google DeepMind 把计算机使用能力加入 Gemini 2.5 Pro。
问题在于,这套像素中心的设计不稳定。模型通常在固定视口上后训练,一旦窗口尺寸改变,就可能漏掉按钮甚至完全失效。许多复杂交互也无法只靠“看图”理解。
纯文本方案和“DOM + 视觉”的混合方案一直在发展。Standard Intelligence 的 FDM-1 是一个有趣的实验方向:它编码视频流,而不是静态截图。
Astra 的不同之处
Astra 属于 OpenAI 5.6 模型家族的新节点,而 Codex/ChatGPT 侧的 harness 同样关键。计算机使用既是模型问题,也是工程问题:模型决定做什么,harness 负责观察计算机并执行动作。
Codex 已经让这类任务的手感明显优于早期计算机使用产品。它可以打开内置浏览器或接管用户浏览器,在后台继续任务,也能编写并执行代码、调用其他工具、生成图表。Astra 在 5.6 的能力上继续做得更快、更便宜,至少在 max thinking 模式下如此。
关键变化是可访问性树。现代操作系统和 Chrome 都会为需要辅助功能的用户生成界面的语义表示。它保留界面元素的角色、名称、状态和关系,同时去掉 CSS 和实现层类名。
对模型来说,这种表示更紧凑、信号更清楚。它通常比截图更省 token,却提供相同甚至更好的上下文。Astra 用它来分发点击、输入、按键等动作。Chrome 会为网站自动生成可访问性树,因此大量 Web 应用天然兼容 Astra。
架构
一旦模型和本地 harness 配合起来,控制循环其实很直接。
会话启动时,Codex 会启动一个 Node REPL 来保存会话状态,并提供浏览器和原生计算机控制两类绑定。模型根据任务选择合适的绑定。
无论面对浏览器还是原生应用,模型都会先读取文本、截图或两者兼有,然后用代码决定并执行下一步。OpenAI 的文档也建议在计算机使用中采用代码执行,而不是让模型直接输出像素动作。
因此,一次调用可能长成 JavaScript 动作,而不是裸坐标:
{
"type": "function_call",
"name": "exec_js",
"call_id": "call_123",
"arguments": "{\"code\":\"await page.getByRole('searchbox').fill('browser automation'); ...\"}"
}
本地服务 CodexComputerUseIPC-5 负责执行。执行包装器会把元素选择解析成原生元素 ID;如果模型选择坐标,则按坐标处理,随后通过原生 pipe transport、JSON-RPC 消息和请求 ID 完成调用。
OpenAI 的示例应用推荐用 Playwright 控制浏览器,用 PyAutoGUI 控制原生桌面。动作发出后,Astra 会再次观察,把实际状态与目标状态对比,再继续循环。由于计算机使用天然有状态,Node REPL 必须在整个任务期间持续存在。
安全审查
在上面的能力对比中,Astra 是唯一被标记为需要自动审查的模型。它的 Guardian 策略会在执行前审查建议的计算机动作。GPT 5.6 Luna 作为后台分类器,评估当前工作流和潜在风险;一旦分类为 high,后续动作会进入 blocking reviewer 做更完整的评估。
{
"risk_level": "high",
"user_authorization": "low",
"outcome": "deny",
"rationale": "..."
}
该策略会收到建议动作和参数、包含用户授权的对话证据、父环境与权限上下文、可用的 REPL 证据和图片,以及审批请求和原因。并不是所有分类都需要完整可访问性树。
常见的 Guardian 拦截包括:
- 权限授予:是否明确授权该权限和接收方。
- 登录与重大账户操作:是否获得用户专门授权。
- 敏感数据提交:是否同时授权了数据和目的地。
- 有后果的点击:界面状态、实际影响、表单或设置是否错误,以及是否符合用户指令。
- 绕过限制:是否授权了替代路径。
- 破坏性操作:是否造成有意义的状态丢失或不可逆损害。
- 范围外私有数据访问:访问是否属于已授权任务。
在对齐基准上,Astra 相比前代有明显提升。
为什么更快
如果 Astra 做的事情与 GPT 5.6 相同,还多了一层审查,速度优势就只能来自更少的轮次。模型更聪明,并在计算机使用环境中接受了大量强化学习,因此完成任务所需的观察-动作循环更少。
据报道,Astra 在 10 万张 GB300 上完成后训练,算力投入很大。但一旦推理速度超过大约 300 tokens/s,进一步提升对整体任务时间影响有限,因为瓶颈会转移到动作执行速度。WebSocket 预热、连接复用、基于 previous_response_id 的增量请求这些 harness 优化,主要缩短工具启动时间,而不是加快单次动作。
当前失败模式
Astra 并不完美。它可能拿到不完整的可访问性状态、细节不足的截图或过期视图;观察与执行之间界面状态也可能漂移。某些应用的可访问性树变化频繁,会让模型原本选中的元素失效。
长时程计算机使用也没有真正解决。压缩机制让 Astra 能在较长时间内保持较高保真度,但连续运行数天甚至数周后的可靠性仍待验证。
前沿
计算机使用正在进入更实用的阶段。从早期在简单任务上频繁失败,到今天可以完成较长工作流,这一路线最大的收益来自从截图走向语义界面状态。
Astra 把这条路线与速度和护栏结合起来,让智能体既能干活,也更难被劫持。每一代模型都离生产级计算机使用更近一点,也让人类能把更多例行数字工作交给系统,把判断留给真正需要人的问题。
资料来源:
原文:How does Astra’s computer use actually work? — Kyle Jeong;X 帖子:@kylejeong/status/2097077446663372966。
原文来源:Kyle Jeong / Xhttps://x.com/kylejeong/status/2097077446663372966