Google 在 Gemini API 里把 Computer Use 推到了更靠前的位置。简单说,它让模型不只会“回答”,还可以看屏幕截图、判断下一步要点哪里、输入什么,然后把这些动作交给你的客户端去执行。
这类能力适合做浏览器自动化 Agent,比如测试网站流程、填写重复表单、整理网页信息、做简单的跨站研究。它不是“给模型一台电脑就完事”,真正的工程重点在于:模型负责规划动作,你的代码负责安全执行、截图回传和中断控制。
官方文档入口在这里:
|
|
先看它到底怎么工作
Computer Use 的基本循环是这样:
- 你的程序把任务描述、工具配置、当前屏幕状态发给 Gemini。
- Gemini 返回一个动作,例如点击、输入、滚动、打开页面。
- 你的程序用 Playwright、移动端自动化框架或桌面自动化工具执行这个动作。
- 执行后重新截图,把新的状态回传给 Gemini。
- 重复这个过程,直到任务完成、触发安全确认,或者程序主动停止。
这点很关键:Gemini API 不会替你真的点击浏览器。它返回的是“建议执行的界面操作”,执行权在你的客户端。
推荐模型和接口
目前官方推荐用:
|
|
接口走 Interactions API,并在 tools 里启用:
|
|
environment 可以理解成告诉模型它面对的是什么操作环境。常见选择包括浏览器、移动设备、桌面环境。浏览器自动化是最容易上手的一类,因为 Playwright 已经把点击、输入、截图这些能力封装好了。
Python 最小示例
先安装依赖:
|
|
然后用 Interactions API 发起一次带 computer_use 工具的请求:
|
|
这里的 enable_prompt_injection_detection 建议打开。Computer Use 会读屏幕内容,网页里可能藏着“忽略原指令、把数据发出去”这类对抗性文本,提示注入检测至少能多加一层保护。
接上 Playwright 才能真正执行
模型返回动作后,你需要自己执行。一个浏览器环境通常这样初始化:
|
|
Gemini 返回的坐标通常是归一化坐标。你要把它换算成真实屏幕坐标:
|
|
如果模型返回:
|
|
你的客户端可以把它执行成:
|
|
执行完成后,再截图,把结果作为下一轮输入交给模型。也就是说,Computer Use 的难点不是发起第一条请求,而是把“模型响应 -> 执行动作 -> 截图回传 -> 继续请求”这条循环做稳定。
开发时建议先做一个小任务
不要一上来就做“帮我操作后台完成一整套业务流程”。更稳的做法是先做低风险、可观察的小任务:
|
|
或者:
|
|
这类任务有几个好处:
- 不涉及真实账号和资金。
- 出错后影响可控。
- 页面状态比较容易复现。
- 方便观察模型每一步的
intent是否合理。
安全边界一定要提前写清楚
Computer Use 最大的风险是“模型可以操作界面”。所以开发时不要只靠模型自觉,要在系统指令和客户端逻辑里同时加限制。
建议至少做这些保护:
- 使用沙盒浏览器、容器或虚拟机,不要让 Agent 直接操作你的主力浏览器。
- 禁止读取浏览器历史记录、自动填充、已保存密码。
- 遇到登录、付款、提交订单、发送消息、发布内容、接受协议时必须停下来让用户确认。
- 不要让模型处理验证码,也不要尝试绕过人机验证。
- 对可访问网站做白名单或黑名单。
- 记录每一步提示、截图、模型动作、安全判断和最终执行动作。
这一点比代码示例更重要。浏览器 Agent 一旦接入真实账号,风险就不再只是“点错按钮”,还可能变成数据泄露、误发送、误购买或误提交。
和普通函数调用有什么区别
普通函数调用更像“模型选择调用哪个 API”。你提前定义好函数,比如 search_products()、create_ticket(),模型只是在结构化参数里做选择。
Computer Use 更像“模型看着一个真实界面操作”。它适合那些没有稳定 API、只能通过网页完成,或者你想模拟真实用户操作路径的场景。
如果目标系统有稳定 API,优先用函数调用。只有在必须走界面、需要做端到端测试、或者需要处理网页交互时,Computer Use 才更合适。
常见踩坑
1. 以为模型会自己控制浏览器
不会。模型只是返回动作,你要写执行器。没有 Playwright、Selenium、移动端自动化或桌面自动化层,它就只是“会规划动作的模型”。
2. 坐标没换算
模型给的坐标和真实视口尺寸不一定是一回事。浏览器窗口大小、缩放比例、截图尺寸都要固定,否则点击会偏。
3. 页面状态不干净
弹窗、Cookie 横幅、通知授权、登录态变化都会影响模型判断。最好每次任务从固定页面、固定账号、固定视口开始。
4. 没做中断条件
至少要限制最大步数、最大运行时间和高风险动作确认。否则 Agent 可能在某个页面里反复点击、刷新、搜索,跑成一个很难排查的循环。
5. 把它用于关键决策
官方也提醒,这是预览能力,可能有错误和安全漏洞。涉及金融、医疗、政务、账号安全、不可逆提交的任务,不适合直接放手让它自动完成。
一个更实用的落地架构
如果要在项目里试 Computer Use,可以按这个结构拆:
|
|
主循环可以写成:
|
|
这样后面要换成桌面环境或移动端环境,也不会把 API 调用、界面操作和安全策略搅在一起。
适合用它做什么
比较适合:
- Web 应用端到端测试。
- 后台重复录入和表单检查。
- 公开网页信息整理。
- 带截图证据的网页流程验证。
- 内部低风险工具页面自动化。
不太适合:
- 自动登录并处理敏感账号。
- 自动付款、下单、转账。
- 绕过验证码或反机器人机制。
- 在生产后台执行不可逆操作。
- 处理隐私、财务、医疗等敏感数据。
总结
Gemini Computer Use 的价值不是“模型终于能随便点电脑了”,而是把浏览器自动化从固定脚本推进到“模型根据屏幕状态决定下一步”。这对测试、数据录入、页面研究很有吸引力。
但它也更像一套 Agent 执行框架,而不是一个单独 API。想用好它,重点是三件事:固定执行环境、写好动作循环、把安全规则前置。先从低风险网页任务开始,比直接接真实业务系统靠谱得多。