Claude puede interactuar con entornos de computadora a través de la herramienta de uso de computadora, que proporciona capacidades de captura de pantalla y control de ratón/teclado para la interacción autónoma con el escritorio.
El uso de computadora es una función beta que permite a Claude interactuar con entornos de escritorio. Esta herramienta proporciona:
Aunque el uso de computadora puede complementarse con otras herramientas como bash y el editor de texto para flujos de trabajo de automatización más completos, el uso de computadora se refiere específicamente a la capacidad de la herramienta de uso de computadora para ver y controlar entornos de escritorio.
Para conocer los modelos compatibles, consulta la Referencia de herramientas.
El uso de computadora es una función beta con riesgos únicos distintos de las funciones estándar de la API. Estos riesgos aumentan al interactuar con internet.
En algunas circunstancias, Claude seguirá comandos encontrados en el contenido incluso cuando entren en conflicto con tus instrucciones. Por ejemplo, las instrucciones en páginas web o contenidas en imágenes podrían anular tus instrucciones o hacer que Claude cometa errores. Toma precauciones para aislar a Claude de datos y acciones sensibles para evitar riesgos relacionados con la inyección de prompts.
Anthropic ha entrenado al modelo para resistir estas inyecciones de prompts y ha añadido una capa adicional de defensa. Si usas las herramientas de uso de computadora, se ejecutarán automáticamente clasificadores en tus prompts para marcar posibles instancias de inyecciones de prompts. Cuando estos clasificadores identifican posibles inyecciones de prompts en capturas de pantalla, dirigirán automáticamente al modelo para que solicite confirmación del usuario antes de proceder con la siguiente acción. Esta protección adicional no será ideal para todos los casos de uso (por ejemplo, casos de uso sin un humano en el proceso), así que si deseas desactivarla, contacta con soporte.
Estas precauciones siguen siendo importantes incluso con la capa de defensa del clasificador activa.
Informa a los usuarios finales de los riesgos relevantes y obtén su consentimiento antes de habilitar el uso de computadora en tus propios productos.
Comienza con la implementación de referencia de uso de computadora que incluye una interfaz web, un contenedor Docker, implementaciones de herramientas de ejemplo y un bucle de agente.
Así es como puedes comenzar con el uso de computadora:
client = anthropic.Anthropic()
response = client.beta.messages.create(
model="claude-opus-5", # or another compatible model
max_tokens=1024,
tools=[
{
"type": "computer_20251124",
"name": "computer",
"display_width_px": 1024,
"display_height_px": 768,
"display_number": 1,
},
{"type": "text_editor_20250728", "name": "str_replace_based_edit_tool"},
{"type": "bash_20250124", "name": "bash"},
],
messages=[{"role": "user", "content": "Save a picture of a cat to my desktop."}],
betas=["computer-use-2025-11-24"],
)
print(response)Proporciona a Claude la herramienta de uso de computadora y un prompt de usuario
Claude selecciona la herramienta de uso de computadora
stop_reason de tool_use, lo que indica una solicitud de uso de herramientas.Extrae la entrada de la herramienta, evalúa la herramienta en una computadora y devuelve los resultados
user que contenga un bloque de contenido tool_result.Claude continúa llamando a las herramientas de uso de computadora hasta completar la tarea
stop_reason de tool_use y debes volver al paso 3.La repetición de los pasos 3 y 4 sin intervención del usuario se conoce como el "agent loop" (bucle de agente), es decir, Claude responde con una solicitud de uso de herramientas y tu aplicación responde a Claude con los resultados de evaluar esa solicitud.
El uso de computadora requiere un entorno de computación aislado (sandbox) donde Claude pueda interactuar de forma segura con aplicaciones y la web. Este entorno incluye:
Pantalla virtual: Un servidor de pantalla virtual X11 (usando Xvfb) que renderiza la interfaz de escritorio que Claude verá a través de capturas de pantalla y controlará con acciones de ratón/teclado.
Entorno de escritorio: Una interfaz de usuario ligera con gestor de ventanas (Mutter) y panel (Tint2) ejecutándose en Linux, que proporciona una interfaz gráfica consistente para que Claude interactúe con ella.
Aplicaciones: Aplicaciones de Linux preinstaladas como Firefox, LibreOffice, editores de texto y gestores de archivos que Claude puede usar para completar tareas.
Implementaciones de herramientas: Código de integración que traduce las solicitudes abstractas de herramientas de Claude (como "mover ratón" o "tomar captura de pantalla") en operaciones reales en el entorno virtual.
Bucle de agente: Un programa que gestiona la comunicación entre Claude y el entorno, enviando las acciones de Claude al entorno y devolviendo los resultados (capturas de pantalla, salidas de comandos) a Claude.
Cuando usas el uso de computadora, Claude no se conecta directamente a este entorno. En su lugar, tu aplicación:
Por seguridad y aislamiento, la implementación de referencia ejecuta todo esto dentro de un contenedor Docker con los mapeos de puertos apropiados para ver e interactuar con el entorno.
Hay disponible una implementación de referencia que incluye todo lo que necesitas para comenzar con el uso de computadora:
El núcleo del uso de computadora es el "bucle de agente": un ciclo en el que Claude solicita acciones de herramientas, tu aplicación las ejecuta y devuelve los resultados a Claude. El bucle usa el cliente que creaste en el Inicio rápido, una lista de herramientas con la forma del arreglo tools del Inicio rápido, y el auxiliar de procesamiento de llamadas a herramientas definido en Procesa las llamadas a herramientas de Claude. Aquí tienes un ejemplo simplificado:
def sampling_loop(model, messages, max_iterations=10):
"""
Run the computer-use agent loop until Claude stops requesting tools
or the iteration limit is reached.
"""
for _ in range(max_iterations):
response = client.beta.messages.create(
model=model,
max_tokens=4096,
messages=messages,
tools=TOOLS,
betas=["computer-use-2025-11-24"],
)
# Agrega la respuesta de Claude al historial de la conversación
messages.append({"role": "assistant", "content": response.content})
# Ejecuta las herramientas que Claude solicitó y recopila los resultados
tool_results = process_tool_calls(response)
if not tool_results:
return messages # No more tool use; task complete
# Envía los resultados de las herramientas de vuelta a Claude para la siguiente iteración
messages.append({"role": "user", "content": tool_results})
return messagesEl bucle continúa hasta que Claude responde sin solicitar ninguna herramienta (finalización de la tarea) o se alcanza el límite máximo de iteraciones. Esta salvaguarda previene posibles bucles infinitos que podrían resultar en costos inesperados de la API.
Prueba la implementación de referencia antes de leer el resto de esta documentación.
Aquí tienes algunos consejos sobre cómo obtener resultados de la mejor calidad:
After each step, take a screenshot and carefully evaluate if you have achieved the right outcome. Explicitly show your thinking: "I have evaluated step X..." If not correct, try again. Only when you confirm a step was executed correctly should you move on to the next one.<robot_credentials>. Usar el uso de computadora dentro de aplicaciones que requieren inicio de sesión aumenta el riesgo de malos resultados como consecuencia de la inyección de prompts. Revisa Mitigar jailbreaks e inyecciones de prompts antes de proporcionar al modelo credenciales de inicio de sesión.content de un turno de usuario, coloca el texto de instrucción antes de la imagen de captura de pantalla. Proporcionar la descripción del objetivo antes de que se procese la imagen mejora la precisión de los clics.computer_20251124 con enable_zoom: true configurado, Claude hace zoom en una región cuando se le pregunta sobre texto pequeño o elementos específicos de la interfaz de usuario que no son legibles en la resolución predeterminada de la captura de pantalla, como nombres de archivos en una barra lateral, títulos de pestañas, texto de la barra de estado, números de línea o etiquetas de botones. Si Claude no hace zoom cuando lo esperas, pregunta sobre una región o elemento específico en lugar de la pantalla en su conjunto.Cuando se solicita una de las herramientas con esquema de Anthropic a través de la API de Claude, se genera una indicación del sistema específica para el uso de computadora. Es similar a la indicación del sistema de uso de herramientas pero comienza con:
You have access to a set of functions you can use to answer the user's question. This includes access to a sandboxed computing environment. You do NOT currently have the ability to inspect files or interact with external resources, except by invoking the below functions.
Al igual que con el uso de herramientas regular, el parámetro system proporcionado por el usuario sigue siendo respetado y se usa en la construcción de la indicación del sistema combinada.
La herramienta de uso de computadora admite estas acciones:
Acciones básicas (todas las versiones)
[x, y]Acciones mejoradas (computer_20250124 y posteriores)
Disponibles en computer_20250124 y computer_20251124:
Acciones mejoradas (computer_20251124)
Disponibles en Claude Opus 5, Claude Sonnet 5, Claude Opus 4.8, Claude Opus 4.7, Claude Opus 4.6, Claude Sonnet 4.6 y Claude Opus 4.5:
computer_20250124enable_zoom: true en la definición de la herramienta. Toma un parámetro region con coordenadas [x1, y1, x2, y2] que definen las esquinas superior izquierda e inferior derecha del área a inspeccionar.| Parámetro | Obligatorio | Descripción |
|---|---|---|
type | Sí | Versión de la herramienta (computer_20251124 o computer_20250124) |
name | Sí | Debe ser "computer" |
display_width_px | Sí | Ancho de la pantalla en píxeles |
display_height_px | Sí | Alto de la pantalla en píxeles |
display_number | No | Número de pantalla para entornos X11 |
enable_zoom | No | Habilitar la acción de zoom (solo computer_20251124). Establece en true para permitir que Claude haga zoom en regiones específicas de la pantalla. Predeterminado: false |
Para combinar el uso de computadora con el pensamiento, consulta Pensamiento.
Para añadir otras herramientas junto con el uso de computadora, inclúyelas en el mismo arreglo tools. La sección Inicio rápido muestra este patrón con la herramienta bash y la herramienta de editor de texto. Puedes añadir tus propias definiciones de herramientas personalizadas de la misma manera.
La implementación de referencia está pensada para ayudarte a comenzar con el uso de computadora. Incluye todos los componentes necesarios para que Claude use una computadora. Sin embargo, puedes construir tu propio entorno para el uso de computadora según tus necesidades. Necesitarás:
tool_use usando tus implementaciones de herramientasLa herramienta de uso de computadora se implementa como una herramienta sin esquema. Al usar esta herramienta, no necesitas proporcionar un esquema de entrada como con otras herramientas; el esquema está integrado en el modelo de Claude y no se puede modificar.
Configura tu entorno de computación
Crea una pantalla virtual o conéctate a una pantalla existente con la que Claude interactuará. Esto generalmente implica configurar Xvfb (X Virtual Framebuffer) o tecnología similar.
Implementa los manejadores de acciones
Crea funciones para manejar cada tipo de acción que Claude podría solicitar:
def capture_screenshot():
return "<screenshot data>"
def click_at(x, y):
return f"clicked at ({x}, {y})"
def type_text(text):
return f"typed: {text}"
def handle_computer_action(action_type, params):
if action_type == "screenshot":
return capture_screenshot()
elif action_type == "left_click":
x, y = params["coordinate"]
return click_at(x, y)
elif action_type == "type":
return type_text(params["text"])
# Maneja otras acciones según sea necesario
return f"unhandled action: {action_type}"Procesa las llamadas a herramientas de Claude
Extrae y ejecuta las llamadas a herramientas de las respuestas de Claude:
def process_tool_calls(response):
tool_results = []
for block in response.content:
if block.type == "tool_use":
action = block.input["action"]
result = handle_computer_action(action, block.input)
tool_results.append(
{
"type": "tool_result",
"tool_use_id": block.id,
"content": result,
}
)
return tool_resultsImplementa el bucle de agente
Crea un bucle que continúe hasta que Claude complete la tarea:
def sampling_loop(model, messages, max_iterations=10):
"""
Run the computer-use agent loop until Claude stops requesting tools
or the iteration limit is reached.
"""
for _ in range(max_iterations):
response = client.beta.messages.create(
model=model,
max_tokens=4096,
messages=messages,
tools=TOOLS,
betas=["computer-use-2025-11-24"],
)
# Agrega la respuesta de Claude al historial de la conversación
messages.append({"role": "assistant", "content": response.content})
# Ejecuta las herramientas que Claude solicitó y recopila los resultados
tool_results = process_tool_calls(response)
if not tool_results:
return messages # No more tool use; task complete
# Envía los resultados de las herramientas de vuelta a Claude para la siguiente iteración
messages.append({"role": "user", "content": tool_results})
return messagesAl implementar la herramienta de uso de computadora, pueden ocurrir varios errores. Así es como manejarlos:
Las capturas de pantalla enviadas a la herramienta de computadora deben ajustarse a los límites de tamaño de imagen de Claude (consulta límites de tamaño de imagen). La API reduce el tamaño de las imágenes demasiado grandes antes de que Claude las vea, y Claude devuelve coordenadas para la imagen que ve, por lo que depender de la reducción de tamaño del lado del servidor te deja sin el factor de escala que necesitas para mapear esas coordenadas de vuelta a tu pantalla. Solo las imágenes que superan los límites de solicitud separados de la API (por ejemplo, más de 8,000 px en un lado) se rechazan con un error de validación en lugar de reducirse.
Si tu pantalla es más grande que el límite, redimensiona la captura de pantalla antes de enviarla, establece display_width_px/display_height_px a las dimensiones redimensionadas y escala las coordenadas devueltas por Claude de vuelta al espacio de pantalla original:
import math
def get_scale_factor(width, height):
"""Calculate scale factor to meet API constraints."""
long_edge = max(width, height)
total_pixels = width * height
long_edge_scale = 1568 / long_edge
total_pixels_scale = math.sqrt(1_150_000 / total_pixels)
return min(1.0, long_edge_scale, total_pixels_scale)
# Al capturar la captura de pantalla
scale = get_scale_factor(screen_width, screen_height)
scaled_width = int(screen_width * scale)
scaled_height = int(screen_height * scale)
# Redimensiona la imagen a las dimensiones escaladas antes de enviarla a Claude
screenshot = capture_and_resize(scaled_width, scaled_height)
# Al manejar las coordenadas de Claude, vuelve a escalarlas hacia arriba
def execute_click(x, y):
screen_x = x / scale
screen_y = y / scale
perform_click(screen_x, screen_y)Si los clics no aciertan en sus objetivos, la causa suele ser una de las siguientes:
| Síntoma | Causa probable | Prueba |
|---|---|---|
| Los clics están consistentemente desplazados en una dirección | display_width_px/display_height_px no coinciden con las dimensiones de la imagen realmente enviada | Asegúrate de que las dimensiones de la pantalla coincidan exactamente con la captura de pantalla que envías |
| Los clics caen en el área correcta pero no aciertan en el objetivo | El objetivo es muy pequeño, se perdió detalle al reducir una fuente de 4K+, o se distorsionó la relación de aspecto | Establece enable_zoom: true; captura a menor DPI o recorta a la región relevante; preserva la relación de aspecto al redimensionar |
| Claude hace clic en el elemento equivocado por completo | Instrucción ambigua, o elementos visualmente similares cercanos | Usa prompts posicionales ("el botón azul Enviar en la esquina inferior derecha"); divide la interacción en pasos más pequeños |
| La precisión es consistentemente deficiente | Resolución demasiado baja | Prueba 1280x720 como punto de partida |
El uso de computadora está en beta. Ten en cuenta las siguientes limitaciones:
Latencia: La latencia actual del uso de computadora para interacciones humano-IA podría ser demasiado lenta en comparación con las acciones regulares de computadora dirigidas por humanos. Enfócate en casos de uso donde la velocidad no sea crítica (por ejemplo, recopilación de información en segundo plano, pruebas automatizadas de software) en entornos de confianza.
Precisión y fiabilidad de la visión por computadora: Claude podría cometer errores o alucinar al generar coordenadas específicas mientras genera acciones. El pensamiento extendido puede ayudarte a comprender el razonamiento del modelo e identificar posibles problemas.
Precisión y fiabilidad en la selección de herramientas: Claude podría cometer errores o alucinar al seleccionar herramientas mientras genera acciones o tomar acciones inesperadas para resolver problemas. Además, la fiabilidad podría ser menor al interactuar con aplicaciones especializadas o múltiples aplicaciones a la vez. Indica al modelo cuidadosamente al solicitar tareas complejas.
Fiabilidad del desplazamiento: La acción de desplazamiento admite control de dirección (arriba, abajo, izquierda, derecha) y una cantidad especificada. En aplicaciones donde el desplazamiento no surte efecto, las alternativas de teclado como Page Down pueden ayudar.
Interacción con hojas de cálculo: Usa las acciones de control detallado del ratón (left_mouse_down, left_mouse_up) y combinaciones de teclas modificadoras para seleccionar celdas individuales. Las operaciones complejas de hojas de cálculo podrían requerir múltiples intentos.
Creación de cuentas y generación de contenido en plataformas sociales y de comunicación: Aunque Claude visitará sitios web, la capacidad de Claude para crear cuentas o generar y compartir contenido o participar de otro modo en la suplantación de identidad humana en sitios web y plataformas de redes sociales es limitada. Esta capacidad podría actualizarse en el futuro.
Vulnerabilidades: Vulnerabilidades como el jailbreaking o la inyección de prompts podrían persistir en los sistemas de IA de vanguardia, incluida la API beta de uso de computadora. En algunas circunstancias, Claude seguirá comandos encontrados en el contenido, a veces incluso cuando entren en conflicto con tus instrucciones. Por ejemplo, las instrucciones en páginas web o contenidas en imágenes podrían anular tus instrucciones o hacer que Claude cometa errores. Considera lo siguiente:
Acciones inapropiadas o ilegales: Según los Términos de Servicio de Anthropic, no debes emplear el uso de computadora para violar ninguna ley o la Política de Uso Aceptable.
Siempre revisa y verifica cuidadosamente las acciones y registros de uso de computadora de Claude. No uses Claude para tareas que requieran precisión perfecta o información sensible del usuario sin supervisión humana.
El uso de computadora es una herramienta del lado del cliente. Todas las capturas de pantalla, acciones del ratón, entradas de teclado y cualquier archivo involucrado en una sesión se capturan y almacenan en tu entorno, no por Anthropic. Anthropic procesa las imágenes de capturas de pantalla y las solicitudes de acciones en tiempo real como parte de la llamada a la API. La retención de esas solicitudes de API se rige por API y retención de datos.
Dado que tu aplicación controla dónde y cómo se almacenan los datos de uso de computadora, el uso de computadora es elegible para ZDR. Para la elegibilidad de ZDR en todas las funciones, consulta API y retención de datos.
El uso de computadora sigue los precios estándar de uso de herramientas. Al usar la herramienta de uso de computadora:
Sobrecarga de la indicación del sistema: La beta de uso de computadora agrega 466–499 tokens a la indicación del sistema
Uso de tokens de la herramienta de uso de computadora:
| Modelo | Tokens de entrada por definición de herramienta |
|---|---|
| Modelos Claude 4.x | 735 tokens |
Consumo adicional de tokens:
Corrige los errores más comunes de uso de herramientas con tablas de diagnóstico de síntoma a solución.
Comienza con la implementación completa basada en Docker
Conecta Claude a herramientas y APIs externas. Descubre dónde se ejecutan las herramientas, cuándo las llama Claude y qué herramienta se adapta a tu tarea.
Recomendaciones evaluadas comparativamente para resolución, esfuerzo de pensamiento y gestión de contexto
| Supported models |
|
|---|---|
| Supported platforms |
|
Was this page helpful?