Google 近期发布了由 Google DeepMind 开发的新型基于智能体 (agent-based) 的 Web 浏览器,它由 Gemini 2.5 Pro 驱动。该模型基于 Gemini API 构建,能够“看到”并像人类一样与 Web 和应用界面进行交互:点击、输入和滚动。这款新型的 AI Web 自动化模型弥合了理解和行动之间的鸿沟。
我们将探索 Gemini Computer Use 的关键特性、功能及其如何集成到你的智能体 AI 工作流 (agentic AI workflows) 中。
什么是 Gemini 2.5 Computer Use?
Gemini 2.5 Computer Use 是一款可以使用自然语言控制浏览器的 AI 助手。你只需描述一个目标,它就会执行完成该目标所需的步骤。它基于 Gemini API 中的新 computer_use 工具构建,通过分析网页或应用的截图,然后生成诸如 “click”(点击)、“type”(输入)或 “scroll”(滚动)等操作。像 Playwright 这样的客户端会执行这些操作,并返回下一个屏幕状态,直到任务完成。
该模型会解释按钮、文本字段和其他界面元素,以决定如何行动。作为 Gemini 2.5 Pro 的一部分,它继承了强大的视觉推理能力,使其能够以最少的人工输入完成复杂的屏幕任务。目前,它专注于浏览器环境,不控制浏览器之外的桌面应用。
关键功能
-
自动化数据录入和表单填写: 该智能体能够找到字段、输入文本并在适当的情况下提交表单。 -
进行 Web 应用和用户流程测试: 通过点击页面、触发事件并确保元素准确显示来进行测试。 -
跨多个网站进行研究: 例如,它可以跨多个电商页面收集有关产品、定价或评论的信息,并总结结果。
如何访问 Gemini 2.5 Computer Use?
Gemini 2.5 Computer Use 的实验性功能现已公开,供任何开发者试用。开发者只需通过 AI Studio 或 Vertex AI 注册 Gemini API,然后请求访问 computer-use 模型。Google 提供了文档、可运行的代码示例和参考实现供你尝试。例如,Gemini API 文档提供了一个四步智能体循环的示例,其中包含使用 Google Cloud GenAI SDK 和 Playwright 的 Python 示例。
你需要设置一个浏览器自动化环境,例如 Playwright,并遵循以下步骤:
-
通过 AI Studio 或 Vertex AI 注册 Gemini API。 -
请求访问 computer-use 模型。 -
查阅 Google 的文档、可运行的代码示例和参考实现。
例如,Google 使用 GenAI SDK 和 Playwright 提供了四步 Python 智能体循环示例,用于自动化浏览器。
设置环境
以下是你的代码设置的一般示例:
初始配置和 Gemini Client
# Load environment variables
from dotenv import load_dotenv
load_dotenv()
# Initialize Gemini API client
from google import genai
client = genai.Client()
# Set screen dimensions (recommended by Google)
SCREEN_WIDTH = 1440
SCREEN_HEIGHT = 900
我们首先加载 API 凭证的环境变量,并初始化 Gemini Client。定义了 Google 推荐的屏幕尺寸,后续用于将标准化坐标转换为 UI 操作所需的实际像素值。
使用 Playwright 进行浏览器自动化
接下来,代码设置 Playwright 进行浏览器自动化:
from playwright.sync_api import sync_playwright
playwright = sync_playwright().start()
browser = playwright.chromium.launch(
headless=False,
args=[
'--disable-blink-features=AutomationControlled',
'--disable-dev-shm-usage',
'--no-sandbox',
]
)
context = browser.new_context(
viewport={"width": SCREEN_WIDTH, "height": SCREEN_HEIGHT},
user_agent='Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 Chrome/131.0.0.0 Safari/537.36',
)
page = context.new_page()
这里我们启动一个 Chromium 浏览器,使用反检测标志来防止网页识别自动化。然后定义一个真实的视口 (viewport) 和 用户代理 (user-agent) 以模拟普通用户,并创建一个新页面来导航和自动化交互。
定义任务和模型配置
浏览器设置好后,会向模型提供用户的目标和初始截图:
from google.genai.types import Content, Part
USER_PROMPT = "Go to BBC News and find today's top technology headlines"
initial_screenshot = page.screenshot(type="png")
contents = [
Content(role="user", parts=[
Part(text=USER_PROMPT),
Part.from_bytes(data=initial_screenshot, mime_type='image/png')
])
]
USER_PROMPT 定义了智能体将执行的自然语言任务。它捕获了浏览器页面的初始状态截图,该截图将与提示一起发送给模型。它们被封装在 Content 对象中,随后也将传递给 Gemini 模型。
最后,智能体循环运行,将状态发送给模型并执行模型返回的操作:
computer_use 工具提示模型创建函数调用 (function calls),这些调用随后在浏览器环境中执行。thinking_config 包含中间的推理步骤,为用户提供透明度,这可能有助于后续的调试或理解智能体的决策过程。
from google.genai.types import types
config = types.GenerateContentConfig(
tools=[types.Tool(
computer_use=types.ComputerUse(
environment=types.Environment.ENVIRONMENT_BROWSER
)
)],
thinking_config=types.ThinkingConfig(include_thoughts=True),
)
运作方式
Gemini 2.5 Computer Use 作为一个闭环智能体 (closed-loop agent) 运行。你给它一个目标和一个截图,它预测下一个行动,通过客户端执行该行动,然后审查更新后的屏幕以决定下一步做什么。这个反馈循环让 Gemini 能够像人类导航浏览器一样观察、推理和行动。整个过程由 Gemini API 中的 computer_use 工具驱动。
核心反馈循环
智能体在一个连续的周期中运行,直到任务完成:
-
输入目标和截图: 模型接收用户的指令(例如,“查找热门科技头条”)和浏览器当前状态的截图。 -
生成行动: 模型使用 computer_use工具建议一个或多个对应于 UI 操作的函数调用。 -
执行行动: 客户端程序在浏览器中执行这些函数调用。 -
捕获反馈: 捕获新的截图和 URL,并发送回给模型。
模型在每次迭代中看到了什么?
在每次迭代中,模型都会收到三个关键信息:
-
用户请求: 自然语言目标或指令(例如:“查找热门新闻头条”) -
当前截图: 你的浏览器或应用窗口及其当前状态的图像 -
行动历史: 迄今为止采取的近期行动记录(用于上下文)
模型分析截图和用户目标,然后生成一个或多个函数调用——每个调用代表一个 UI 操作。例如:
{"name": "click_at", "args": {"x": 400, "y": 600}}
这将指示智能体点击这些坐标。
在浏览器中执行行动
客户端程序(使用 Playwright 的鼠标和键盘 API)在浏览器中执行这些操作。以下是函数调用如何执行的示例:
def execute_function_calls(candidate, page, screen_width, screen_height):
for part in candidate.content.parts:
if part.function_call:
fname = part.function_call.name
args = part.function_call.args
if fname == "click_at":
actual_x = int(args["x"] / 1000 * screen_width)
actual_y = int(args["y"] / 1000 * screen_height)
page.mouse.click(actual_x, actual_y)
elif fname == "type_text_at":
actual_x = int(args["x"] / 1000 * screen_width)
actual_y = int(args["y"] / 1000 * screen_height)
page.mouse.click(actual_x, actual_y)
page.keyboard.type(args["text"])
# ...other supported actions...
该函数解析模型返回的 FunctionCall 条目,并在浏览器中执行每个操作。它根据屏幕尺寸将标准化坐标 (0–1000) 转换为实际的像素值。
捕获反馈以进行下一周期
执行操作后,系统捕获新状态并将其发送回模型:
def get_function_responses(page, results):
screenshot_bytes = page.screenshot(type="png")
current_url = page.url
function_responses = []
for name, result, extra_fields in results:
response_data = {"url": current_url}
response_data.update(result)
response_data.update(extra_fields)
function_responses.append(
types.FunctionResponse(
name=name,
response=response_data,
parts=[types.FunctionResponsePart(
inline_data=types.FunctionResponseBlob(
mime_type="image/png",
data=screenshot_bytes
)
)]
)
)
return function_responses
浏览器的新状态被封装在 FunctionResponse 对象中,模型使用这些对象来推理下一步要做什么。循环持续进行,直到模型不再返回任何函数调用或直到任务完成。
智能体循环步骤
加载 computer_use 工具后,典型的智能体循环遵循以下步骤:
-
向模型发送请求: 在 API 调用中包含用户的目标和当前浏览器状态的截图。 -
接收模型响应: 模型返回一个包含文本和/或一个或多个 FunctionCall条目的响应。 -
执行行动: 客户端代码解析每个函数调用并在浏览器中执行该操作。 -
捕获并发送反馈: 执行后,客户端拍摄新的截图并记录当前 URL。它将这些封装在 FunctionResponse中,并作为下一个用户消息发送回模型。这告诉模型其行动的结果,以便它可以规划下一步。
这个过程在循环中自动运行。当模型停止生成新的函数调用时,它表明任务已完成。此时,它会返回任何最终的文本输出,例如它所完成任务的摘要。在大多数情况下,智能体将经历多个周期,然后完成目标或达到设定的轮次限制。
支持的行动
Gemini 的 Computer Use 工具内置了数十种 UI 行动。基本集包括 Web 应用中典型的操作,包括:
-
open_web_browser: 在智能体循环开始前初始化浏览器(通常由客户端处理)。 -
click_at: 点击页面上特定的 (x, y) 坐标。 -
type_text_at: 在一个点点击并输入给定的字符串,可选择按 Enter 键。 -
Maps: 在浏览器中打开一个新 URL。 -
go_back / go_forward: 在浏览器历史中向前或向后移动。 -
hover_at: 将鼠标移动到特定点以触发悬停效果。 -
scroll_document / scroll_at: 滚动整个页面或特定部分。 -
key_combination: 模拟按下键盘快捷键。 -
wait_5_seconds: 暂停执行,用于等待动画或页面加载。 -
drag_and_drop: 点击并将一个元素拖动到页面上的另一个位置。
Google 的文档提到,示例实现包括三个最常见的操作:open_web_browser、click_at和 type_text_at。你可以通过添加所需的任何其他操作或排除与你的工作流无关的操作来扩展此功能。
支持的完整行动列表可在 Gemini API 文档中查阅:
https://ai.google.dev/gemini-api/docs/computer-use?hl=zh-cn
https://analyticsvepl-my.sharepoint.com/personal/vipin_vashist_analyticsvidhya_com/_layouts/15/onedrive.aspx?id=%2Fpersonal%2Fvipin%5Fvashist%5Fanalyticsvidhya%5Fcom%2FDocuments%2Fagent%2Epy&parent=%2Fpersonal%2Fvipin%5Fvashist%5Fanalyticsvidhya%5Fcom%2FDocuments&ga=1
性能和基准测试
Gemini 2.5 Computer Use 在 UI 控制任务中表现强劲。在 Google 的测试中,它实现了超过 70% 的准确率,延迟约为 225 毫秒,在浏览网站和完成应用工作流等 Web 和移动基准测试中优于其他模型。
在实践中,该智能体可以可靠地处理填写表单和检索数据等任务。独立基准测试将其评为用于简单浏览器自动化的最准确和最快的公共 AI 模型。其强大的性能得益于 Gemini 2.5 Pro 的视觉推理和优化的 API 管道。由于它仍处于预览阶段,你应该监控其行动,偶尔可能会发生错误。
总结
Gemini 2.5 Computer Use 是 AI 支持的自动化领域的一个重要发展,它允许智能体有效且高效地与真实界面进行交互。有了它,开发者可以以极高的准确性和速度自动化网页浏览、数据录入或数据提取等任务。
在其公开可用的状态下,它为开发者提供了一种安全地试验 Gemini 2.5 Computer Use 功能、并将其应用于自身工作流的方式。总的来说,它代表了一个灵活的框架,通过它可以为各种用途和领域构建下一代智能助手或强大的自动化工作流。

