Computer Use 论文深度解读:AI Agent 操控操作系统的多模态突破
Computer Use 论文深度解读:AI Agent 操控操作系统的多模态突破
Computer Use: Anthropic's Breakthrough in Native GUI Control for AI Agents
论文:Anthropic,2024
本文记录我的论文学习过程与核心理解
一、论文基础介绍
基本信息
| 项目 | 信息 |
|---|---|
| 论文 | Computer Use: A Benchmark for Evaluating LLMs on Operating System Tasks |
| 原文链接 | https://www.anthropic.com/research/computer-use |
| 作者 | Anthropic(内部研究团队) |
| 时间 | 2024(Preview Release,10月发布) |
| 核心贡献 | ① Native GUI Control(原生图形界面控制)② screenshot 多模态观察 ③ Orchestrator + Multi-Agent 架构 |
| 引用 | 200+(Semantic Scholar) |
| 开源 | 部分开源,Claude Code 内置支持 |
论文背景与动机
在前七篇论文中,我们依次解决了:
- CoT:推理能力
- ReAct:推理+行动协同
- Toolformer:自主工具使用
- AgentVerse:多 Agent 协作
- MetaGPT:结构化 SOP 协作
- Voyager:终身学习能力
- MemGPT:层级记忆管理
但有一个根本限制始终存在:
之前所有的 Agent 操作都发生在"文本/代码层面"——调用 API、操作游戏内函数、通过别人描述来理解屏幕内容。它们无法像人一样直接"看见"并操作真实的操作系统界面。
Computer Use 要解决的核心问题是:
如何让 Agent 像人类一样,用视觉感知真实操作系统,通过鼠标和键盘操作真实 GUI?
二、核心问题
传统 Agent 的操作困境
| 方法 | 问题 |
|---|---|
| API 调用 | 需要应用程序提供 API,现实软件大多没有 |
| 文本描述屏幕 | 不准确、不完整、延迟高 |
| 键盘自动化脚本 | 硬编码、无法应对界面变化 |
| 纯视觉模型 | 能"看见"但无法"操作" |
核心洞察
之前的 Agent 是"盲人"——需要别人告诉它屏幕上有什么。
Computer Use 让 Agent 第一次"睁开眼",直接看见屏幕,像人一样操作 GUI。
三、核心思想:Native GUI Control
1. 什么是 Native GUI Control
Native GUI Control(原生图形界面控制)= Agent 直接操作系统图形界面,而不是通过 API 或第三方描述。
传统 Agent 操作方式:
用户描述 → "当前在Chrome浏览器,页面显示携程首页,搜索框在左上角"
↑
别人告诉它屏幕上有什么
Computer Use 操作方式:
Screenshot → Agent直接看到屏幕截图
↑
自己直接看到屏幕上有什么2. 与 Toolformer 的本质区别
| Toolformer | Computer Use | |
|---|---|---|
| 操作对象 | API 接口 | 真实操作系统 GUI |
| 知识存储 | 自监督学习内化到模型 | 模型内部(无需外部技能库) |
| 执行方式 | 调用预定义函数 | 模拟人类鼠标/键盘操作 |
| 观察方式 | API 返回文本/结构化数据 | screenshot(视觉像素) |
四、Action Space 详解
完整的操作空间
Computer Use 的 Action Space 包含三类操作:
【Mouse Actions(鼠标操作)】
- mouse_move(x, y) # 移动鼠标到屏幕坐标(x, y)
- left_click() # 左键单击
- right_click() # 右键单击
- double_click() # 双击
- scroll(direction) # 滚动(up / down)
【Keyboard Actions(键盘操作)】
- type(text) # 输入文本
- press(key) # 按快捷键(如 Ctrl+C, Alt+Tab)
【Observation Actions(观察操作)】
- screenshot() # 截取当前屏幕,返回像素数据screenshot 的双重身份
screenshot() 是最独特的设计——它既是 Action 也是 Observation:
| 视角 | 身份 | 说明 |
|---|---|---|
| 作为 function call | Action | LLM 决定"我要看看现在屏幕什么样" |
| 返回的像素数据 | Observation | 模型实际接收到的视觉输入 |
为什么这不是"模仿人类截图片刻的动作"?
因为 screenshot() 的本质是多模态观察通道:
- 人类用眼睛看见屏幕
- Agent 用 screenshot() 获取像素 → LLM "看见" 屏幕
类比:
人类操作电脑:
输入(感知)→ 眼睛看见屏幕画面
输出(执行)→ 手指操作鼠标/键盘
Computer Use:
输入(观察)→ screenshot() 返回的屏幕像素
输出(执行)→ mouse_move / type 等函数调用完整的 Agent 输入
Computer Use 的输入不只是像素,而是结构化信息:
{
"screenshot": [屏幕像素数组], # 主要视觉输入
"cursor_position": (x, y), # 当前鼠标位置
"focused_element": "search_input", # 当前焦点元素
"keyboard_visible": true, # 键盘是否可见
"screen_size": (1920, 1080) # 屏幕尺寸
}为什么必须加文本信息? 如果只有像素,LLM 无法知道:
- 当前鼠标悬停在哪个元素上
- 哪个输入框有焦点
- 某个按钮是否可点击
五、Orchestrator + Multi-Agent 架构
为什么需要 Orchestrator
面对"帮我订一张下周三去北京的机票"这样的复杂任务:
订机票涉及多个应用协作:
├── 浏览器 → 打开携程/飞猪,搜索航班
├── 日历 → 检查下周三是否空闲
├── 邮件 → 接收行程确认
└── 支付 → 完成付款为什么不能只用一个 Agent?
| 方案 | 问题 |
|---|---|
| 单 Agent 做所有事 | 上下文爆炸、技能不专业 |
| 并行多 Agent 无协调 | 任务时序混乱、结果无法整合 |
| Orchestrator + 分工 | ✅ 专业分工 + 全局协调 |
架构图
┌─────────────────────────────────────────────────────┐
│ Orchestrator(总指挥) │
│ • 接收高层任务:"帮我订一张下周三去北京的机票" │
│ • 分解子任务,分配给专门的 Agent │
│ • 监督执行,失败时重试或调整策略 │
│ • 最终目标达成 → 返回结果 / 无法完成 → 放弃+解释 │
└─────────────────────────────────────────────────────┘
↓ 分配 ↓ 分配 ↓ 分配
┌──────────┐ ┌──────────┐ ┌──────────┐
│ Browser │ │ Calendar │ │ Email │
│ Agent │ │ Agent │ │ Agent │
└──────────┘ └──────────┘ └──────────┘
↓ ↓ ↓
Chrome浏览器 日历应用 邮件客户端Orchestrator 的核心职责
- 任务分解 — 把高层目标拆成子任务
- 分配执行 — 找到最合适的 Agent 执行
- 结果整合 — 汇总各 Agent 输出,形成最终结果
- 失败恢复 — 检测失败,重试或切换策略
六、与前文的递进关系
AI Agent 能力演进
文本推理 (CoT)
↓
推理+行动 (ReAct)
↓
自学工具 (Toolformer) ← 内化工具到模型
↓
多Agent协作 (AgentVerse/MetaGPT) ← 协作编排
↓
终身学习 (Voyager) ← 外部技能库
↓
层级记忆 (MemGPT) ← 记忆管理
↓
多模态GUI控制 (Computer Use) ← 视觉感知+物理操作关键跨越
| 维度 | 之前的状态 | Computer Use 的突破 |
|---|---|---|
| 观察方式 | 文本描述 | screenshot 像素 |
| 操作方式 | API 调用 | 模拟鼠标/键盘 |
| 感知能力 | 别人告诉它有什么 | 自己看见屏幕 |
| 操作系统 | 游戏/受限环境 | 真实桌面 OS |
七、知识要点
知识要点 1:Action Space 的独特性
问题: Computer Use 的 action space 和 Toolformer/Voyager 本质区别是什么?
掌握要点:
- Toolformer/Voyager 操作的是API 接口(结构化、可预测)
- Computer Use 操作的是真实 GUI(像素级、需视觉反馈)
- screenshot 是观察通道,不是"模仿截图片刻的动作"
- screenshot() 作为 function call 是 Action,返回的像素是 Observation
知识要点 2:Orchestrator 的必要性
问题: 为什么不只用一个 Agent 做所有事?
掌握要点:
- 复杂任务需要专业分工(Browser Agent 专攻 Chrome,Calendar Agent 专攻日历)
- 并行效率——多个 Agent 同时工作
- 上下文隔离——单 Agent 负担过重会降级
- 结果校验——多 Agent 交叉验证降低错误率
- Orchestrator 本质是任务分解 + 结果整合的总协调层
知识要点 3:多模态 Agent 的真正含义
问题: Computer Use 和之前的"多模态"模型有什么不同?
掌握要点:
- 之前的"多模态":同时处理图片+文字,但只是理解图像
- Computer Use 的多模态:用视觉来感知和操作真实世界
- 人类的眼睛 → screenshot() 的像素输入
- 人类的手指 → mouse/keyboard API 的操作输出
八、优秀实践生态
官方实现
| 项目 | 来自 | 特点 |
|---|---|---|
| Claude Computer Use | Anthropic | 官方 API,支持 macOS/Windows/Linux |
| Claude Code | Anthropic | CLI 工具,内置 computer-use 能力 |
开源实现
| 项目 | GitHub | 特点 |
|---|---|---|
| Open Interpreter | @KillianLucas/openinterpreter | 开源 AI 编程助手,支持 OS 级操作 |
| UFO | @Microsoft/UFO | Windows 专用 Agent,控制 Windows GUI |
| OS-World | @OpenGVLab/OSWorld | 首个开源 GUI Agent benchmark |
| AppAgent | @not-che15/AppAgent | 移动端 App 控制 Agent |
技术层级
像素级控制层(底层)
├── pyautogui / pywinauto(直接控制鼠标/键盘)
├── Playwright / Selenium(浏览器控制)
└── 操作系统 Accessibility API(无障碍接口)
Agent 控制层(应用层)
├── Anthropic Claude(商业 API)
├── Open Interpreter(开源)
└── 自研框架典型实际应用场景
场景一:自动化测试执行
场景描述: AI Agent 自动操作被测系统,执行端到端测试用例
具体应用:
- 自动打开被测 App,执行一系列操作(登录 → 浏览 → 下单 → 支付)
- 自动验证界面元素是否符合预期
- 自动录制操作过程,生成测试报告
代表产品:
- Test.ai(GUI 自动测试工具)
- AppAgent(移动端 App 自动化测试)
价值: 替代手工点击,测试效率提升 3-5 倍
场景二:桌面助手(Personal Desktop Assistant)
场景描述: AI Agent 像真人一样操作电脑,帮我完成日常任务
具体应用:
- "帮我订一张下周去北京的机票"
- "把上周的会议纪要整理成 Word 文档"
- "帮我填一下 HR 系统里的请假申请"
代表产品:
- Claude Code(Anthropic 官方 CLI 工具)
- Open Interpreter(开源桌面助手)
价值: 从"人操作电脑"变成"人指挥电脑",节省大量重复性操作时间
场景三:浏览器自动化(Browser Automation)
场景描述: Agent 自动操作浏览器,完成复杂 Web 任务
具体应用:
- 自动抓取网页数据(比爬虫更智能,能处理动态加载)
- 自动填写表单、自动点击翻页
- 自动完成网页端到端业务流程
代表产品:
- Operator(OpenAI)
- Browser-use(开源项目)
价值: 取代大量基于浏览器的 RPA 场景
九、总结
| 维度 | Computer Use |
|---|---|
| 论文质量 | ⭐⭐⭐⭐⭐ |
| 创新程度 | screenshot + Orchestrator 架构 |
| 实战价值 | 高(开启 AI Agent 操控真实 OS 的时代) |
| 启发意义 | Agent 第一次能"看见"并操作真实桌面 |
一句话总结: Computer Use 让 Agent 第一次拥有视觉感知通道,通过 screenshot + mouse/keyboard 模拟人类操作真实操作系统,是多模态 Agent 的里程碑突破。
相关论文:
- CoT 推理:《CoT 论文精读》
- ReAct 循环:《ReAct 论文精读》
- Toolformer:《Toolformer 论文精读》
- AgentVerse:《AgentVerse 论文精读》
- MetaGPT:《MetaGPT 论文精读》
- Voyager:《Voyager 论文精读》
- MemGPT:《MemGPT 论文精读》
- Agentic RAG:《Agentic RAG 论文精读》
- Self-Discovering:《Self-Discovering 论文精读》
如果你也在学习 AI Agent,欢迎交流讨论,我的 blog:https://sunrong.site