Tutorial de Gemini Computer Use: controlar un navegador con Gemini 3.5 Flash

Guía práctica de Gemini API Computer Use: cómo activar computer_use con Interactions API, por qué sigues necesitando Playwright u otra capa de ejecución y qué límites de seguridad conviene definir.

Computer Use permite que Gemini no solo responda, sino que vea capturas de pantalla, decida dónde hacer clic o qué escribir y entregue esas acciones a tu cliente para ejecutarlas.

Sirve para agentes de automatización del navegador: pruebas de flujos web, formularios repetitivos, recopilación de información o investigación sencilla entre sitios. El modelo planifica; tu código ejecuta, devuelve capturas y controla cuándo detenerse.

Documentación oficial:

1
https://ai.google.dev/gemini-api/docs/computer-use?hl=zh-cn

Cómo Funciona

  1. Envías a Gemini la tarea, configuración de herramientas y estado de pantalla.
  2. Gemini devuelve una acción: clic, escritura, scroll o abrir página.
  3. Tu programa ejecuta la acción con Playwright u otra automatización.
  4. Capturas la nueva pantalla y la devuelves.
  5. Repites hasta terminar o activar una regla de seguridad.

Gemini API no hace clic por ti. Devuelve operaciones sugeridas; la ejecución está en tu cliente.

Modelo e Interfaz

Modelo recomendado:

1
gemini-3.5-flash

Configuración:

1
2
3
4
{
  "type": "computer_use",
  "environment": "browser"
}

El navegador es el punto de partida más cómodo porque Playwright ya maneja clics, escritura, capturas y viewport.

Ejemplo en Python

1
2
pip install google-genai playwright
playwright install chromium
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
from google import genai

client = genai.Client()

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

print(interaction)

Activa enable_prompt_injection_detection cuando puedas. Las páginas pueden contener instrucciones maliciosas dirigidas al agente.

Ejecutar con Playwright

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
from playwright.sync_api import sync_playwright

SCREEN_WIDTH = 1440
SCREEN_HEIGHT = 900

playwright = sync_playwright().start()
browser = playwright.chromium.launch(headless=False)

context = browser.new_context(
    viewport={"width": SCREEN_WIDTH, "height": SCREEN_HEIGHT}
)
page = context.new_page()
page.goto("https://www.google.com")

Convierte coordenadas normalizadas:

1
2
3
4
5
6
def denormalize_x(x: int, screen_width: int) -> int:
    return int(x / 1000 * screen_width)


def denormalize_y(y: int, screen_height: int) -> int:
    return int(y / 1000 * screen_height)

Después de ejecutar cada function_call, captura pantalla y devuelve el resultado. Lo difícil es estabilizar el bucle: respuesta del modelo, ejecución, captura y nueva petición.

Empieza Pequeño

Usa tareas de bajo riesgo, como buscar en Google o probar una página local. Evita cuentas reales, pagos y paneles de producción al principio. Revisa si cada intent del modelo tiene sentido.

Seguridad

  • Usa navegador aislado, contenedor o VM.
  • Bloquea historial, autocompletado y contraseñas guardadas.
  • Pide confirmación para login, pagos, envíos, publicaciones y aceptación de acuerdos.
  • No permitas resolver CAPTCHAs ni evadir verificaciones humanas.
  • Usa listas permitidas o bloqueadas.
  • Registra prompts, capturas, acciones, decisiones de seguridad y acciones ejecutadas.

Diferencia con Function Calling

Function Calling elige una API y rellena parámetros. Computer Use opera una interfaz real. Si existe una API estable, úsala primero; reserva Computer Use para flujos que deban pasar por UI o pruebas end-to-end.

Errores Comunes

  • Pensar que el modelo controla el navegador solo.
  • No convertir coordenadas.
  • Empezar desde páginas con pop-ups o banners.
  • No limitar pasos, tiempo o acciones riesgosas.
  • Usarlo para decisiones financieras, médicas, de cuenta o irreversibles.

Estructura Práctica

1
2
3
4
5
6
7
agent/
  client.py
  browser.py
  actions.py
  safety.py
  recorder.py
  prompts.py

Separa llamadas API, ejecución de UI y reglas de seguridad.

Resumen

Gemini Computer Use lleva la automatización del navegador desde scripts fijos hacia decisiones basadas en el estado de la pantalla. Para usarlo bien, fija el entorno, construye un bucle estable y pon la seguridad delante.

记录并分享
Creado con Hugo
Tema Stack diseñado por Jimmy