计算机使用

借助“计算机使用”工具,您可以构建浏览器、移动设备和桌面设备控制代理,让其与用户交互并自动执行任务。借助屏幕截图,该模型可以“看到”电脑屏幕,并通过生成特定的界面操作(例如鼠标点击和键盘输入)来“行动”。与函数调用类似,您需要实现客户端执行环境,以接收和执行“计算机使用”操作。

Gemini 3.5 Flash 是推荐的 Computer Use 模型,并引入了多项新功能:

  • 支持多种环境:为浏览器、移动设备和桌面设备环境构建代理。
  • 通过 intent 简化的操作:操作包含 intent 字段,用于说明模型在每个步骤背后的推理过程。
  • 可配置的安全政策:通过内置的政策类别和替换项来微调安全行为
  • 提示注入检测:选择启用屏幕截图扫描,以检测隐藏的对抗性指令。

借助“电脑使用”功能,您可以构建能够执行以下操作的智能体:

  • 自动执行网站上重复的数据输入或表单填写操作。
  • 自动测试 Web 应用和用户流程
  • 在各种网站上进行研究(例如,从电子商务网站收集产品信息、价格和评价,以便做出购买决策)

下面是一个简短的示例,展示了如何在浏览器环境中初始化客户端并向启用了 computer_use 工具的模型发送提示:

Python

from google import genai

client = genai.Client()

interaction = client.interactions.create(
    model="gemini-3.6-flash",
    input="Search for 'Gemini API' on Google.",
    tools=[{"type": "computer_use", "environment": "browser"}]
)

print(interaction)

JavaScript

import { GoogleGenAI } from '@google/genai';

const ai = new GoogleGenAI();

const interaction = await ai.interactions.create({
  model: 'gemini-3.6-flash',
  input: "Search for 'Gemini API' on Google.",
  tools: [{ type: "computer_use", environment: "browser" }]
});

console.log(interaction);


“计算机使用”功能的运作方式

如需使用 Computer Use 模型构建代理,您需要在应用与 API 之间设置一个连续循环。以下是您的代码在每个步骤中的作用:

  1. 向模型发送请求
    • 您的应用会发送一个 API 请求,其中包含“电脑使用”工具、您的配置设置(例如目标环境)、用户的提示以及当前屏幕的屏幕截图。
  2. 接收模型响应
    • 模型会分析屏幕和提示,返回包含建议的 function_call(表示界面操作,例如点击、滚动或按键)的回答。
    • 对于 Gemini 3.5 Flash,响应还包含推理 intent,用于说明模型选择该操作的原因。
    • 响应还可能包含来自内部安全系统的 safety_decision,该系统会将操作归类为常规/允许、require_confirmation(需要用户批准)或已屏蔽。
  3. 执行收到的操作
    • 如果允许执行该操作(或用户确认允许),您的客户端代码会解析 function_call,缩放归一化坐标以匹配您的视口,并使用自动化工具(例如 Playwright)在目标环境中执行该操作。如果操作被阻止,客户端应停止执行或处理中断。
  4. 捕获新环境状态
    • 操作执行完毕后,应用会捕获新的屏幕截图,并通过 function_result 将其发送回模型,以请求执行下一步操作。

然后,此过程会从第 2 步开始重复,不断向模型征求下一个操作,直到任务完成或终止。

“计算机使用”概览

如何实现“计算机使用”

在使用“电脑使用情况”工具进行构建之前,您需要设置以下内容:

  • 安全执行环境:在沙盒虚拟机或容器中运行代理,以将其与主机系统隔离开来,并限制其潜在影响。参考实现包含一个可直接使用的基于 Docker 的沙盒,您可以从这里开始。
  • 客户端操作处理程序:实现客户端逻辑,以执行坐标、输入文本和拍摄屏幕截图。

以下示例使用 Web 浏览器作为执行环境,并使用 Playwright 作为客户端处理程序。

0. 设置 Playwright

首先,安装所需的软件包: