Codex 已经能操作 Windows,谁敢把「确认」按钮交给它?
面试日记 第 32 天
预约列表里突然多了两条完全相同的记录。
刚才页面一直转圈,我以为第一次没点上,又补点了一次。结果两个请求都成功了。面试官指着那两条预约:“它点过一次,你怎么不让它点第二次?”
这是我带去面试的浏览器自动操作 Demo。我原本演示得挺顺:模型能看懂页面,找到日期和户型,再把信息填进预约表单。流程跑通后,我顺口说了一句:“Computer Use 会截图、会点击,接上就能上线。”
她让我回放执行记录。第一次点击其实已经被服务端接收,只是页面回显慢了几秒。我的流程把“没及时看到成功”当成“操作失败”,于是直接重试,等页面恢复时,两次预约结果一起出现了。
她拿这个任务追问并不突兀。今天 Gemini Spark 已集成 Chrome 的 auto browse,在用户许可下可以直接处理浏览器里的网页任务,公开演示就包括预约看房和自动填写航班信息。

“现在你还觉得会点就能上线吗?”她问。
“不够。”我把手从鼠标上拿开,“它还得知道点之前页面是什么状态,点之后有没有成功,失败能不能重试,涉及提交时要不要停下来让人确认。”
她把题目写到纸上:
Computer Use是什么?说说它的原理
我先从最小闭环回答:模型读取当前屏幕或页面状态,判断下一步动作;外部执行环境把动作变成鼠标点击、键盘输入等真实操作;执行后再把新的状态交回模型。它不是生成一串动作就结束,而是在“观察、决策、执行、再观察”的循环里,直到任务完成、失败退出,或者遇到必须交给人的节点。
“OCR 呢?”
“是定位方式之一。”我说,“它可以识别截图里的文字,也可以结合视觉特征、元素位置,或者浏览器提供的结构化页面信息。关键不是认出一个按钮,而是把用户意图、页面上下文和操作结果对上。”
“一定要多 Agent 吗?”
“不一定。规划、执行和验证可以拆给多个代理,也可以由同一个模型在循环里完成。多 Agent 是一种工程组织方式,不是 Computer Use 的定义。”
她指了指那条已经成功的预约。
“那你这个 Demo 还差什么?”
“差验证和幂等。”我说,“提交前生成任务标识,提交后检查成功状态和结果记录;超时不能直接重放,先确认上一次到底有没有完成。遇到预约、下单、发邮件这类有外部后果的动作,还要设置人工确认和停止条件。”
这次她松开了我的手腕。我也把“能完成一次”从上线清单里划掉,换成了“重复执行也不会制造第二个结果”。
回答重点
Computer Use 是 Anthropic 在 Claude 3.5 Sonnet 中推出的一项能力,让 AI 能够直接操作计算机,通过模拟鼠标点击、键盘输入等方式与操作系统和软件交互,实现从“文字对话”到“实际操作”的跨越。
核心原理可以沿着三个层面理解:
1)执行层把模型输出的动作转化为计算机可执行操作。用户说“打开 Chrome 搜索面试鸭”后,模型会根据当前环境给出启动浏览器、点击、输入等动作,再由外部执行环境调用相应的浏览器能力或系统接口完成操作。操作系统级 API 是一种实现手段,但不是所有 Computer Use 都必须采用的唯一方式。
2)规划与验证层负责拆解任务、选择动作并检查结果。它可以由任务规划代理、工具调用代理和验证代理协作,也可以由同一个模型在循环中依次完成。比如“生成报告”可以被拆成数据获取、图表绘制、格式校验等子任务,每一步执行后都要把结果送回下一轮判断。
3)感知层读取屏幕截图或结构化页面状态,利用 OCR、视觉理解和语义匹配定位目标。比如“点击页面右上角的‘登录’按钮”,模型需要结合文字、位置和页面上下文判断目标,再输出点击动作。

下面这张图展示了一次完整操作过程:左侧是 AI 的思考和指令,中间是浏览器搜索操作,右侧是把获取到的信息填入表单。

扩展知识
以“分析特斯拉股价趋势”为例,Computer Use 的执行逻辑可以这样拆:
1)用户输入指令后,模型先解析需求,把大任务拆成“获取历史股价数据”“生成相关性图表”等子任务。
2)执行环境根据可用工具完成具体操作,比如通过浏览器获取数据,或调用 Python 环境,用 Pandas 处理数据、用 Matplotlib 绘图。
3)执行完成后检查数据完整性和图表可读性。如果结果不合格,再决定重试、换一种操作,或者转到人工干预节点。
简单来说,Computer Use 利用 AI 理解用户意图,结合屏幕或页面状态定位目标,输出鼠标、键盘等动作,再由外部环境执行并回传新状态。
它可以用于一些跨软件流程:
- 财务报告生成:打开 Excel 处理财报数据,调用 Python 分析趋势,生成 PPT;发送邮件前应保留人工确认。
- 招聘流程优化:解压简历文件,逐页提取候选人信息,生成排名表并同步至招聘系统。
- 旅行规划:整合机票、酒店数据,生成包含行程、预算和安全提示的 PDF 手册;涉及下单和支付时单独设置确认节点。
它和传统 RPA 的常见差别,可以这样看:
| 维度 | Computer Use | 传统 RPA |
|---|---|---|
| 流程定义 | 可以用自然语言描述目标,由模型动态规划动作 | 通常预先录制或编排固定流程 |
| 界面适应性 | 结合 OCR、视觉和语义,在一定范围内适应界面变化 | 常依赖坐标或控件 ID,界面变化后可能需要维护 |
| 任务复杂度 | 能处理包含理解和推理判断的任务 | 更擅长结构化、重复性任务 |
| 部署与维护 | 需要模型、执行环境、权限和验证闭环 | 需要开发、维护脚本与流程编排 |
这道题真正容易漏掉的,是“看得懂、点得到”和“能稳定上线”之间还有一层工程闭环。
以今天的重复预约为例,自动化至少要保留四个状态:准备执行、已经发出、已经确认、结果未知。页面超时只代表“结果未知”,不能直接退回“准备执行”。否则每一次网络抖动,都可能把重试变成重复提交。
项目里可以这样防:
- 操作前记录任务 ID、目标对象和当前页面状态。
- 操作后同时检查页面成功提示、目标记录是否出现,以及关键字段是否一致。
- 重试前先查询上一次结果,能复用结果就不再次点击。
- 对预约、购买、删除、发送等有外部后果的动作设置人工确认、最大步数和随时停止入口。
反常识的地方在这里:Computer Use 越会自己操作,系统越不能只记录“它点了什么”。真正决定它能不能上线的,是每次操作之后,系统有没有能力证明“事情已经完成,而且只完成了一次”。
面试官追问
追问:Computer Use 跟传统的 RPA 有什么区别?
回答:最大的区别在于灵活性。传统 RPA 需要预先录制固定流程,界面稍微变一下就容易出错。Computer Use 靠 AI 理解语义和识别屏幕内容,不需要提前定义每一步操作,能自适应界面变化。另外 RPA 通常只能处理结构化的、重复性的任务,Computer Use 能处理更复杂的、需要推理判断的任务。
追问:安全性方面有什么考虑?让 AI 操作电脑不怕出问题吗?
回答:确实有风险,所以一般会有几层防护。首先是权限隔离,Computer Use 只能访问特定的应用和资源,不会拿到系统管理员权限。其次是操作审计,所有操作都会被记录,方便事后追溯。还有就是验证代理会在关键节点校验结果,发现异常可以暂停并请求人工干预。Anthropic 官方也建议在沙箱环境中使用,避免直接在生产系统上跑。
追问:如果屏幕上有多个相似的按钮,AI 怎么确定点哪个?
回答:主要靠上下文语义和位置关系。AI 会分析用户指令中的描述,比如“右上角的”“绿色的”“带购物车图标的”,然后结合 OCR 识别出的文字、元素位置、视觉特征进行匹配。如果还是分不清,可能会请求用户进一步澄清,或者按照默认优先级处理,比如优先选择可见区域内的第一个匹配项。
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐


所有评论(0)