Computer-Using Agent
Computer-Using Agent(CUA) 是 OpenAI 用于“计算机使用”的模型能力,支撑 Operator 和 Responses API(响应 API)中的 Computer use 工具。它不是普通文本工具调用,而是让模型根据屏幕状态生成鼠标、键盘等操作,再由开发者在受控环境里执行这些动作。
CUA 的意义在于连接那些没有稳定 API 的软件界面:浏览器后台、地图网站、企业遗留系统、后台管理页面等。对 AI Agent(智能体)来说,这是一种更接近人类 UI 的 Agent-Computer Interface(智能体计算机接口),也带来更高的误操作风险。
工作方式
flowchart LR
U[用户目标] --> R[Responses API]
R --> CUA[Computer-Using Agent]
CUA --> A[鼠标 / 键盘动作]
A --> E[浏览器或桌面环境]
E --> O[截图 / 状态反馈]
O --> R
开发者需要提供显示尺寸、环境类型等上下文,并负责把模型输出的动作映射到真实执行环境。换句话说,CUA 只生成“想做什么操作”;是否执行、怎样隔离、何时要求确认,仍然属于 Harness Engineering(驾驭工程)和 Agent Guardrails(Agent 护栏)的责任。
能力边界
OpenAI 发布文将 Computer use 定位为 research preview,并给出一个关键事实:CUA 在 OSWorld 这类完整计算机使用任务上的成功率仍远低于人类水平。它更适合浏览器内、步骤可观察、失败可回滚、有人工监督或沙箱隔离的工作流,不适合无人监督地操作高风险本地系统。
适合场景:
- Web 应用 QA:按自然语言任务执行页面操作,检查关键流程
- 数据录入:在没有 API 的后台系统中填写表单
- 遗留系统自动化:替代一部分传统 RPA 脚本难覆盖的界面流程
- Web research:访问需要交互的网页,提取外部 API 拿不到的信息
高风险边界:
- 涉及资金、隐私、生产数据或不可逆修改的操作应要求人工确认
- 非浏览器本地操作更容易发生误点、误删或环境差异问题
- prompt injection 可以通过网页内容影响模型判断,需要输入与动作护栏
与传统工具调用的区别
| 维度 | 函数工具调用 | Computer use |
|---|---|---|
| 接口 | 结构化 API/schema | 屏幕、鼠标、键盘 |
| 可验证性 | 参数和返回值可校验 | 需要截图、状态检查和外部断言 |
| 稳定性 | 依赖 API 契约 | 依赖 UI 布局和视觉状态 |
| 风险控制 | 权限、参数校验、业务规则 | 沙箱、人工确认、动作前检查、回滚策略 |
因此,Computer use 是能力更通用但控制难度更高的工具层。生产系统应优先使用稳定 API;只有目标系统没有 API、API 信息不足,或界面交互本身就是任务对象时,再让 Agent 操作 UI。
相关概念
- Responses API(响应 API) — Computer use 工具所在的 API 层
- Agent-Computer Interface(智能体计算机接口) — CUA 面向视觉 UI 的接口设计问题
- Agent Sandbox(Agent 沙箱) — 执行 Computer use 动作时的隔离环境
- Agent Guardrails(Agent 护栏) — 限制高风险动作和 prompt injection 风险
- Harness Engineering(驾驭工程) — 负责动作执行、确认、trace 和验证的系统层