Claude Code vs Codex:Computer Use 实现原理深度拆解

一、核心概念澄清

在深入技术细节之前,首先厘清两个容易混淆的事实:

产品 底层模型 Computer Use 集成方式
Claude Code Claude Sonnet 3.5/3.7、Claude 4 Opus/Sonnet、Claude 4.6、Opus 4.7 直接通过 Anthropic API 的 computer_use 工具集实现
OpenAI Codex GPT-5-Codex、GPT-5.4 GPT-5.4 是 OpenAI 第一个原生支持 computer use 的通用模型;早期 CUA(Computer-Using Agent)是 GPT-4o vision + RL 训练的专用浏览器 agent,已演化为通用能力

简单说:Claude 的所有视觉模型都内置了 computer use 能力;而 OpenAI 经历了从「专用 CUA 模型」到「GPT-5.4 通用模型原生支持」的演进。


二、架构全景对比

2.1 整体架构图

bash 复制代码
┌─────────────────────────────────────────────────────────────────────────┐
│                    Claude Code 架构                                      │
│                                                                         │
│  ┌──────────────┐   tool_use 请求   ┌─────────────┐  截图/动作执行       │
│  │  Claude API   │ ───────────────▶ │  Agent Loop  │ ──────┐            │
│  │  (Messages   │ ◀─────────────── │  (用户端)    │ ◀─────┤            │
│  │   API + Beta) │   tool_result    └─────────────┘       │            │
│  └──────────────┘                                ┌────────┴──────┐      │
│  tools: [computer_20251124, bash, text_editor]   │ Sandbox 环境   │      │
│  Beta Header: "computer-use-2025-01-24"          │ Xvfb + Mutter  │      │
│                                                  │ + Firefox/...  │      │
│  能力来源:模型基础视觉理解 + 工具调用对齐          └────────────────┘      │
└─────────────────────────────────────────────────────────────────────────┘

┌─────────────────────────────────────────────────────────────────────────┐
│                    OpenAI Codex / GPT-5.4 架构                           │
│                                                                         │
│  ┌──────────────┐  computer_call 请求 ┌─────────────┐  截图/动作执行     │
│  │  Responses   │ ─────────────────▶ │  Agent Loop  │ ──────┐           │
│  │  API         │ ◀───────────────── │  (用户端)    │ ◀─────┤           │
│  │              │ computer_call_output└─────────────┘       │           │
│  └──────────────┘                                ┌────────┴──────┐       │
│  tools: [computer_use_preview]                   │ Sandbox 环境   │       │
│  参数: display_width, display_height, environment│ 默认禁网络     │       │
│                                                  │                │       │
│  能力来源:GPT-5.4 原生视觉+推理+RL 训练           └────────────────┘       │
└─────────────────────────────────────────────────────────────────────────┘

2.2 Agent Loop 对比

两者都采用 模型请求动作 → 用户执行 → 返回结果 → 循环 的架构,但 API 协议不同。

Claude(Messages API):

python 复制代码
# 用户代码控制完整循环
while True:
    response = client.beta.messages.create(
        model="claude-opus-4-6",
        tools=[...],           # 工具定义在每次请求中
        messages=messages,     # 显式传递完整消息历史
        betas=["computer-use-2025-01-24"],
        thinking={"type": "enabled", "budget_tokens": 2000}
    )
    # 检查 stop_reason == "tool_use"
    # 执行工具 → 构造 tool_result → 追加到 messages

OpenAI(Responses API):

python 复制代码
# 可用 previous_response_id 自动链接上下文
response = client.responses.create(
    model="gpt-5.4",
    previous_response_id=prev_id,  # 自动管理 history
    tools=[{...}],
    input=[...current step...]     # 只传本轮输入
)
# 检查 output 中的 computer_call
# 执行动作 → 构造 computer_call_output → 下轮请求

关键差异:

  • Claude 显式传递 完整 messages 数组
  • OpenAI 支持 previous_response_id 自动链接上下文,更省 token
  • Claude 用 tool_result 类型返回结果;OpenAI 用 computer_call_output 类型

三、Computer Tool 能力对比

3.1 动作集对比

动作类型 Claude (computer_20251124) OpenAI Computer 接口
截图 screenshot screenshot()
左键点击 left_click (x, y) click(x, y, button=left)
右键点击 right_click (x, y) --- ❌
中键点击 middle_click (x, y) --- ❌
双击 double_click (x, y) double_click(x, y)
三击 triple_click (x, y) --- ❌
鼠标移动 mouse_move (x, y) move(x, y)
拖拽 left_click_drag (path) drag(path)
滚轮 scroll (direction, amount) scroll(x, y, scroll_x, scroll_y)
输入文本 type (text) type(text)
按键 key (key_name) keypress(keys)
按住按键 hold_key (key) + 其他动作 --- ❌
精确控制 left_mouse_down / left_mouse_up --- ❌
等待 wait wait()
自定义环境 display_number (X11) environment (browser/mac/windows/ubuntu)
局部放大 enable_zoom ✅ --- ❌

Claude 优势 :动作集更丰富(约 17 种 vs 9 种核心),支持 hold_key(如 Ctrl+点击)、triple_click、鼠标按键精确控制(按下/释放)等细粒度操作。

OpenAI 优势 :environment 参数显式告知模型当前环境类型,有助于模型选择正确的 GUI 交互策略。

3.2 工具声明方式

python 复制代码
# Claude --- tools 数组声明
tools = [{
    "type": "computer_20251124",       # 版本化工具类型
    "name": "computer",
    "display_width_px": 1280,          # 坐标空间声明
    "display_height_px": 720,
    "display_number": 1,
    "enable_zoom": True                # 可选功能开关
}]

# OpenAI --- tools 数组声明(Responses API)
tools = [{
    "type": "computer_use_preview",
    "display_width": 1024,             # 坐标空间
    "display_height": 768,
    "environment": "browser"           # 环境类型提示
}]

四、底层模型能力对比

4.1 模型演进路线

时间 Anthropic OpenAI
2024-10 Claude Sonnet 3.5(新版)首发 computer_use ---
2025-01 --- 发布 CUA(GPT-4o + RL 训练),用于 Operator
2025-04 Claude Opus 4 / Sonnet 4 发布,computer_20250124 ---
2025-09 --- Codex 升级 GPT-5-Codex,CUA 能力下放
2026-03 --- GPT-5.4 发布,第一个原生支持 computer use 的通用模型
2026-05 Claude Sonnet 4.6 / Opus 4.6 发布 ---
2026-07 Claude Opus 4.7 发布,更高分辨率支持 ---

4.2 视觉输入能力

维度 Claude 4.6 Family Claude Opus 4.7 GPT-5.4
Max 长边 1568 px 2576 px 6000 px (original)
Max 总像素 1.15 MP 3.75 MP 10.24 MP (original)
推荐分辨率 1280×720 1920×1080 ---
图片 detail API 内部自动缩放 API 内部自动缩放 low/high/original 可选
坐标空间匹配 需要显式声明 display_width_px/height_px 同左 display_width/height

关键洞察:两边模型内部都会对超分辨率图片进行下采样,但处理方式不同:

  • Claude 是隐式处理:API 内部自动缩放后返回对应坐标
  • GPT-5.4 引入显式 detail level 选择,给开发者更多控制

Claude 官方特别强调:必须在发送前手动将截图缩放到 API 限制内,否则 API 会静默下采样导致「模型看到的图片」和「它返回的坐标空间」不匹配------这是 click 不准的第一大原因。

4.3 基准测试成绩

Benchmark Claude 4.6 Claude Opus 4.7 GPT-5.4 Human
OSWorld-Verified ~48% 72.7% 75.0% 72.4%
WebArena-Verified --- --- 67.3% ---

⚠️ 注意:这些数字来自不同时间点的官方发布,具体测试设置(最大步数、分辨率)可能有差异,不完全可比。


五、安全机制对比

5.1 Prompt Injection 防护

方面 Claude OpenAI
检测层 模型内置抵抗 + 额外分类器检测截图中的恶意指令 API 层三类安全检查
触发方式 自动运行分类器 → 引导模型请求用户确认 返回 pending_safety_checks → 应用层决定是否确认
检查类型 统一的 prompt injection 分类器 malicious_instructions(恶意指令)
irrelevant_domain(不相关域名)
sensitive_domain(敏感域名)
用户确认 如果检测到,模型会主动请求用户确认下一步 pending_safety_checks 必须通过 acknowledged_safety_checks 回传才能继续
可关闭 可联系 Anthropic 关闭额外保护 ---

5.2 沙箱隔离

方面 Claude Code Codex
默认隔离 参考实现提供 Docker 容器 默认沙箱,网络访问禁用
网络策略 建议域名白名单 默认禁网,可按需开启
权限控制 建议最小权限 VM/容器 工作区文件系统限制

六、技术实现细节

6.1 坐标缩放的关键陷阱

两边都需要开发者处理的问题:

bash 复制代码
截图原始分辨率 (screen_w × screen_h)
        ↓ 下采样
模型看到的图片 (display_w × display_h)
        ↓ 返回坐标
模型输出点击坐标 (click_x, click_y) ------ 注意这是 display 坐标系!
        ↓ 缩放回去
实际执行位置 (click_x * screen_w/display_w, click_y * screen_h/display_h)

Claude 官方给出的代码模式:

python 复制代码
# 模型返回 display 坐标系的坐标,需要缩放回实际屏幕
scale_x = screen_w / display_w  # display_w 是传给 API 的值
scale_y = screen_h / display_h
actual_x = int(click_x * scale_x)
actual_y = int(click_y * scale_y)

6.2 Claude 的 enable_zoom 机制

Claude 4.6+ 新增 enable_zoom: True 功能:

  • 模型可以自主决定「放大」某个屏幕区域
  • 针对密集 UI 中的小目标(checkbox、系统托盘图标等)特别有效
  • 放大逻辑在模型内部完成,开发者无需额外处理

6.3 OpenAI Responses API 的 previous_response_id

GPT-5.4 引入的对话上下文管理机制:

python 复制代码
# 无需手动拼接消息历史
response1 = client.responses.create(model="gpt-5.4", ...)
response2 = client.responses.create(
    model="gpt-5.4",
    previous_response_id=response1.id,  # 自动链接
    input=[...]  # 只传本轮
)

这比 Claude 每次显式传递完整 messages 数组更高效,节省 token。

6.4 Codex 的组合能力

Codex(GPT-5.4)可以同时使用多种工具:

  • bash --- 执行 shell 命令
  • computer --- 视觉+鼠标键盘
  • file_search --- 文件搜索
  • web_search --- 网页搜索
  • 自定义 MCP 工具

Claude Code 类似,可以组合 computer + bash + text_editor 三个 beta 工具。


七、开发体验对比

维度 Claude OpenAI
API 类型 Messages API (beta) Responses API
上下文管理 手动传递 messages previous_response_id 自动链接
工具声明 tools 数组 + beta header tools 数组
Beta 状态 需要 beta header 标记 computer-use-preview 模型专用
参考实现 Docker + Python,GitHub 开源 Azure OpenAI 提供 Playwright 示例
SDK 支持 Python/SDK + CLI Python OpenAI Agents SDK + JS Agents SDK
可组合性 computer + bash + text_editor computer + Playwright + 任意工具

八、总结:谁更好?

8.1 技术特性对比矩阵

维度 Claude (4.6/4.7) GPT-5.4 胜出
动作丰富度 ⭐⭐⭐⭐⭐ (17种) ⭐⭐⭐⭐ (9种) Claude
OSWorld 成功率 72.7% (Opus 4.7) 75.0% GPT-5.4
图片分辨率上限 3.75 MP 10.24 MP GPT-5.4
enable_zoom 局部放大 ✅ ❌ Claude
hold_key 等复合操作 ✅ ❌ Claude
安全检查细化 统一分类器 三类检查 OpenAI
上下文管理效率 手动 history previous_response_id OpenAI
通用模型原生支持 是(但通过 beta 工具) 是(原生能力) 持平
训练基础 基础视觉模型 + 工具调用对齐 RL 训练 CUA + 通用视觉 风格不同

8.2 选择建议

选 Claude 如果:

  • 需要丰富的鼠标/键盘细粒度控制(hold_key、triple_click 等)
  • 目标 UI 密集、小目标多(enable_zoom 能显著提升)
  • 需要开源参考实现快速上手

选 GPT-5.4 如果:

  • 追求最高 OSWorld 等 benchmark 成绩
  • 需要处理高分辨率原始截图(10.24MP)
  • 希望 API 更标准、上下文管理更高效
  • 已经在使用 Codex 或 OpenAI Agents SDK

两者共同的工程挑战:

  1. 坐标缩放 ------ 模型坐标系 vs 实际屏幕坐标系的对齐是 click 准确率的基础
  2. 图片下采样 ------ 必须在发送前手动控制,不能依赖 API 自动处理
  3. Agent Loop 终止条件 ------ 需要设置最大迭代次数防止无限循环
  4. Prompt injection 防护 ------ 两边都有机制,但开发者仍需做好隔离

九、核心结论

两者底层都是「视觉模型理解截图 → 输出鼠标/键盘坐标 → 用户端执行 → 返回新截图」的 Agent Loop 范式,但设计哲学不同:

  • Claude:给模型更多动作选项,让它用丰富词汇表达意图(17 种动作 + enable_zoom)
  • OpenAI:用更好的训练和更高的分辨率让模型看清楚(RL 训练 + 10.24MP 输入)

选择哪一个更多取决于你的具体场景和已有的技术栈。


Sources

  1. Anthropic Computer Use API Docs --- docs.anthropic.com/en/docs/age...
  2. Anthropic Best Practices for Computer and Browser Use --- claude.com/blog/best-p...
  3. OpenAI Computer-Using Agent 发布 --- openai.com/index/compu...
  4. OpenAI Introducing GPT-5.4 --- openai.com/index/intro...
  5. OpenAI Agents SDK Computer 接口 --- openai.github.io/openai-agen...
  6. Azure OpenAI Computer Use --- learn.microsoft.com/en-us/azure...
  7. OpenAI Introducing Upgrades to Codex --- openai.com/index/intro...
  8. OSWorld 2.0 Benchmark --- arxiv.org/abs/2606.29...
相关推荐
wflynn2 小时前
GitHub 今日推荐|gpu-unlock-ada:Ada 显卡张量算力翻倍解锁
开源·github·c
罗西的思考3 小时前
AI 时代的 “房谋杜断”:如何培养能力、品味与判断力
人工智能·算法·机器学习
淡海水3 小时前
07-02-源码-.NET Core GC分配路径
算法·unity·c#·.netcore·gc·1024程序员节
下一站春风里5 小时前
位运算完整学习笔记:按位与(&)+ 异或(^)
开发语言·c++·算法
DRobot5 小时前
【机械制图与CAD实战(二十五)】螺纹的表示方法
算法·机械制图
考研保研资料分享5 小时前
无论文竞赛保研中科院植物所:三场考核、科研追问与准备复盘
面试
用户老李5 小时前
卡尔曼滤波自学教程 10:无迹卡尔曼滤波(UKF)
算法
救救孩子把5 小时前
AI面试八股文-23_23-Agent可观测性与生产监控面试题
人工智能·面试·职场和发展·agent·langsmith·langfuase
徐小夕6 小时前
doc2docx方案,开源!
前端·vue.js·github