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 interacción autónoma de escritorio.
El uso de computadora está actualmente en beta y requiere un encabezado beta:
"computer-use-2025-11-24" (Claude Opus 4.5)"computer-use-2025-01-24" (modelos Claude 4 y Claude Sonnet 3.7 (obsoleto))El uso de computadora es una característica beta que permite a Claude interactuar con entornos de escritorio. Esta herramienta proporciona:
Aunque el uso de computadora puede aumentarse con otras herramientas como bash y 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.
El uso de computadora está disponible para los siguientes modelos de Claude:
| Modelo | Versión de herramienta | Bandera Beta |
|---|---|---|
| Claude Opus 4.5 | computer_20251124 | computer-use-2025-11-24 |
| Modelos Claude 4 | computer_20250124 | computer-use-2025-01-24 |
| Claude Sonnet 3.7 (obsoleto) | computer_20250124 | computer-use-2025-01-24 |
Claude Opus 4.5 introduce la versión de herramienta computer_20251124 con nuevas capacidades incluyendo la acción de zoom para inspección detallada de regiones de pantalla. Los modelos Claude 4 utilizan versiones de herramienta actualizadas optimizadas para la nueva arquitectura. Claude Sonnet 3.7 (obsoleto) introduce capacidades adicionales incluyendo la característica de pensamiento para mayor perspectiva en el proceso de razonamiento del modelo.
Las versiones de herramienta más antiguas no se garantiza que sean compatibles hacia atrás con modelos más nuevos. Siempre use la versión de herramienta que corresponda a su versión de modelo.
El uso de computadora es una característica beta con riesgos únicos distintos de las características estándar de API. Estos riesgos se intensifican cuando se interactúa con internet. Para minimizar riesgos, considere tomar precauciones tales como:
En algunas circunstancias, Claude seguirá comandos encontrados en contenido incluso si entra en conflicto con las instrucciones del usuario. Por ejemplo, las instrucciones de Claude en páginas web o contenidas en imágenes pueden anular instrucciones o causar que Claude cometa errores. Sugerimos tomar precauciones para aislar a Claude de datos sensibles y acciones para evitar riesgos relacionados con inyección de indicaciones.
Hemos entrenado el modelo para resistir estas inyecciones de indicaciones y hemos añadido una capa adicional de defensa. Si utiliza nuestras herramientas de uso de computadora, ejecutaremos automáticamente clasificadores en sus indicaciones para marcar posibles instancias de inyecciones de indicaciones. Cuando estos clasificadores identifiquen posibles inyecciones de indicaciones en capturas de pantalla, automáticamente dirigirán el modelo a pedir confirmación del usuario antes de proceder con la siguiente acción. Reconocemos que esta protección adicional no será ideal para todos los casos de uso (por ejemplo, casos de uso sin un humano en el bucle), así que si desea optar por no participar y desactivarlo, por favor contáctenos.
Comience rápidamente con nuestra implementación de referencia de uso de computadora que incluye una interfaz web, contenedor Docker, implementaciones de herramientas de ejemplo y un bucle de agente.
Nota: La implementación ha sido actualizada para incluir nuevas herramientas tanto para modelos Claude 4 como para Claude Sonnet 3.7. Asegúrese de extraer la última versión del repositorio para acceder a estas nuevas características.
Por favor use este formulario para proporcionar comentarios sobre la calidad de las respuestas del modelo, la API en sí, o la calidad de la documentación - ¡no podemos esperar a escuchar de usted!
Así es cómo comenzar con el uso de computadora:
Un encabezado beta solo es requerido para la herramienta de uso de computadora.
El ejemplo anterior muestra las tres herramientas siendo utilizadas juntas, lo que requiere el encabezado beta porque incluye la herramienta de uso de computadora.
Nos referimos a la repetición de los pasos 3 y 4 sin entrada del usuario como el "bucle de agente" - es decir, Claude respondiendo con una solicitud de uso de herramienta y su aplicación respondiendo a Claude con los resultados de evaluar esa solicitud.
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 del escritorio.
El uso de computadora está actualmente en beta y requiere un encabezado beta:
"computer-use-2025-11-24" (Claude Opus 4.5)"computer-use-2025-01-24" (Modelos Claude 4 y Claude Sonnet 3.7 (obsoleto))El uso de computadora es una característica beta que permite a Claude interactuar con entornos de escritorio. Esta herramienta proporciona:
Aunque el uso de computadora puede ser aumentado con otras herramientas como bash y 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.
El uso de computadora está disponible para los siguientes modelos de Claude:
| Modelo | Versión de herramienta | Bandera Beta |
|---|---|---|
| Claude Opus 4.5 | computer_20251124 | computer-use-2025-11-24 |
| Modelos Claude 4 | computer_20250124 | computer-use-2025-01-24 |
| Claude Sonnet 3.7 (obsoleto) | computer_20250124 | computer-use-2025-01-24 |
Claude Opus 4.5 introduce la versión de herramienta computer_20251124 con nuevas capacidades incluyendo la acción de zoom para inspección detallada de regiones de pantalla. Los modelos Claude 4 utilizan versiones de herramienta actualizadas optimizadas para la nueva arquitectura. Claude Sonnet 3.7 (obsoleto) introduce capacidades adicionales incluyendo la característica de pensamiento para mayor comprensión del proceso de razonamiento del modelo.
Las versiones de herramienta más antiguas no están garantizadas que sean compatibles hacia atrás con modelos más nuevos. Siempre use la versión de herramienta que corresponda a su versión de modelo.
El uso de computadora es una característica beta con riesgos únicos distintos de las características estándar de API. Estos riesgos se intensifican cuando se interactúa con internet. Para minimizar riesgos, considere tomar precauciones tales como:
En algunas circunstancias, Claude seguirá comandos encontrados en contenido incluso si entra en conflicto con las instrucciones del usuario. Por ejemplo, las instrucciones de Claude en páginas web o contenidas en imágenes pueden anular instrucciones o causar que Claude cometa errores. Sugerimos tomar precauciones para aislar a Claude de datos sensibles y acciones para evitar riesgos relacionados con inyección de indicaciones.
Hemos entrenado el modelo para resistir estas inyecciones de indicaciones y hemos añadido una capa adicional de defensa. Si usa nuestras herramientas de uso de computadora, ejecutaremos automáticamente clasificadores en sus indicaciones para marcar posibles instancias de inyecciones de indicaciones. Cuando estos clasificadores identifiquen posibles inyecciones de indicaciones en capturas de pantalla, automáticamente dirigirán el modelo a pedir confirmación del usuario antes de proceder con la siguiente acción. Reconocemos que esta protección adicional no será ideal para todos los casos de uso (por ejemplo, casos de uso sin un humano en el bucle), así que si desea optar por no participar y desactivarla, por favor contáctenos.
Comience rápidamente con nuestra implementación de referencia de uso de computadora que incluye una interfaz web, contenedor Docker, implementaciones de herramientas de ejemplo y un bucle de agente.
Nota: La implementación ha sido actualizada para incluir nuevas herramientas tanto para modelos Claude 4 como para Claude Sonnet 3.7. Asegúrese de extraer la última versión del repositorio para acceder a estas nuevas características.
Por favor use este formulario para proporcionar retroalimentación sobre la calidad de las respuestas del modelo, la API en sí, o la calidad de la documentación - ¡no podemos esperar para escuchar de usted!
Aquí se explica cómo comenzar con el uso de computadora:
Un encabezado beta solo es requerido para la herramienta de uso de computadora.
El ejemplo anterior muestra las tres herramientas siendo usadas juntas, lo que requiere el encabezado beta porque incluye la herramienta de uso de computadora.
Nos referimos a la repetición de los pasos 3 y 4 sin entrada del usuario como el "bucle de agente" - es decir, Claude respondiendo con una solicitud de uso de herramienta y su aplicación respondiendo a Claude con los resultados de evaluar esa solicitud.
El uso de computadora requiere un entorno informático aislado donde Claude pueda interactuar de forma segura con aplicaciones e internet. 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.
Aplicaciones: Aplicaciones 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 solicitudes de herramientas abstractas de Claude (como "mover ratón" o "tomar captura de pantalla") en operaciones reales en el entorno virtual.
Bucle de agente: Un programa que maneja 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 usa el uso de computadora, Claude no se conecta directamente a este entorno. En su lugar, su aplicación:
Por seguridad y aislamiento, la implementación de referencia ejecuta todo esto dentro de un contenedor Docker con asignaciones de puerto apropiadas para ver e interactuar con el entorno.
Hemos construido una implementación de referencia que incluye todo lo que necesita para comenzar rápidamente con el uso de computadora:
El núcleo del uso de computadora es el "bucle de agente" - un ciclo donde Claude solicita acciones de herramientas, su aplicación las ejecuta y devuelve resultados a Claude. Aquí hay un ejemplo simplificado:
async def sampling_loop(
*,
model: str,
messages: list[dict],
api_key: str,
max_tokens: int = 4096,
tool_version: str,
thinking_budget: int | None = None,
max_iterations: int = 10, # Agregar límite de iteración para prevenir bucles infinitos
):
"""
Un bucle de agente simple para interacciones de uso de computadora de Claude.
Esta función maneja la comunicación bidireccional entre:
1. Enviar mensajes del usuario a Claude
2. Claude solicitando usar herramientas
3. Su aplicación ejecutando esas herramientas
4. Enviar resultados de herramientas de vuelta a Claude
"""
# Configurar herramientas y parámetros de API
client = Anthropic(api_key=api_key)
beta_flag = "computer-use-2025-01-24" if "20250124" in tool_version else "computer-use-2024-10-22"
# Configurar herramientas - ya debería tenerlas inicializadas en otro lugar
tools = [
{"type": f"computer_{tool_version}", "name": "computer", "display_width_px": 1024, "display_height_px": 768},
{"type": f"text_editor_{tool_version}", "name": "str_replace_editor"},
{"type": f"bash_{tool_version}", "name": "bash"}
]
# Bucle de agente principal (con límite de iteración para prevenir costos de API descontrolados)
iterations = 0
while True and iterations < max_iterations:
iterations += 1
# Configurar parámetro de pensamiento opcional (para Claude Sonnet 3.7)
thinking = None
if thinking_budget:
thinking = {"type": "enabled", "budget_tokens": thinking_budget}
# Llamar a la API de Claude
response = client.beta.messages.create(
model=model,
max_tokens=max_tokens,
messages=messages,
tools=tools,
betas=[beta_flag],
thinking=thinking
)
# Agregar la respuesta de Claude al historial de conversación
response_content = response.content
messages.append({"role": "assistant", "content": response_content})
# Verificar si Claude usó alguna herramienta
tool_results = []
for block in response_content:
if block.type == "tool_use":
# En una aplicación real, ejecutaría la herramienta aquí
# Por ejemplo: result = run_tool(block.name, block.input)
result = {"result": "Tool executed successfully"}
# Formatear el resultado para Claude
tool_results.append({
"type": "tool_result",
"tool_use_id": block.id,
"content": result
})
# Si no se usaron herramientas, Claude ha terminado - devolver los mensajes finales
if not tool_results:
return messages
# Agregar resultados de herramientas a mensajes para la siguiente iteración con Claude
messages.append({"role": "user", "content": tool_results})El bucle continúa hasta que Claude responda sin solicitar ninguna herramienta (finalización de tarea) o se alcance el límite máximo de iteración. Esta salvaguarda previene posibles bucles infinitos que podrían resultar en costos de API inesperados.
Cuando use la herramienta de uso de computadora, debe incluir la bandera beta apropiada para su versión de modelo:
Recomendamos probar la implementación de referencia antes de leer el resto de esta documentación.
Aquí hay algunos consejos sobre cómo obtener los mejores resultados de 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 resultado de inyección de indicaciones. Por favor revise nuestra guía sobre mitigación de inyecciones de indicaciones antes de proporcionar al modelo credenciales de inicio de sesión.Si encuentra repetidamente un conjunto claro de problemas o sabe de antemano las tareas que Claude necesitará completar, use la indicación del sistema para proporcionar a Claude consejos explícitos o instrucciones sobre cómo hacer las tareas exitosamente.
Cuando se solicita una de las herramientas definidas por 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.
Como con el uso regular de herramientas, el campo system_prompt proporcionado por el usuario aún se respeta y se usa en la construcción de la indicación del sistema combinada.
Hemos construido una implementación de referencia que incluye todo lo que necesitas para comenzar rápidamente con el uso de computadora:
El núcleo del uso de computadora es el "bucle de agente" - un ciclo donde Claude solicita acciones de herramientas, tu aplicación las ejecuta y devuelve resultados a Claude. Aquí hay un ejemplo simplificado:
async def sampling_loop(
*,
model: str,
messages: list[dict],
api_key: str,
max_tokens: int = 4096,
tool_version: str,
thinking_budget: int | None = None,
max_iterations: int = 10, # Add iteration limit to prevent infinite loops
):
"""
A simple agent loop for Claude computer use interactions.
This function handles the back-and-forth between:
1. Sending user messages to Claude
2. Claude requesting to use tools
3. Your app executing those tools
4. Sending tool results back to Claude
"""
# Set up tools and API parameters
client = Anthropic(api_key=api_key)
beta_flag = "computer-use-2025-01-24" if "20250124" in tool_version else "computer-use-2024-10-22"
# Configure tools - you should already have these initialized elsewhere
tools = [
{"type": f"computer_{tool_version}", "name": "computer", "display_width_px": 1024, "display_height_px": 768},
{"type": f"text_editor_{tool_version}", "name": "str_replace_editor"},
{"type": f"bash_{tool_version}", "name": "bash"}
]
# Main agent loop (with iteration limit to prevent runaway API costs)
iterations = 0
while True and iterations < max_iterations:
iterations += 1
# Set up optional thinking parameter (for Claude Sonnet 3.7)
thinking = None
if thinking_budget:
thinking = {"type": "enabled", "budget_tokens": thinking_budget}
# Call the Claude API
response = client.beta.messages.create(
model=model,
max_tokens=max_tokens,
messages=messages,
tools=tools,
betas=[beta_flag],
thinking=thinking
)
# Add Claude's response to the conversation history
response_content = response.content
messages.append({"role": "assistant", "content": response_content})
# Check if Claude used any tools
tool_results = []
for block in response_content:
if block.type == "tool_use":
# In a real app, you would execute the tool here
# For example: result = run_tool(block.name, block.input)
result = {"result": "Tool executed successfully"}
# Format the result for Claude
tool_results.append({
"type": "tool_result",
"tool_use_id": block.id,
"content": result
})
# If no tools were used, Claude is done - return the final messages
if not tool_results:
return messages
# Add tool results to messages for the next iteration with Claude
messages.append({"role": "user", "content": tool_results})El bucle continúa hasta que Claude responda sin solicitar ninguna herramienta (finalización de la tarea) o se alcance el límite máximo de iteraciones. Esta salvaguarda previene posibles bucles infinitos que podrían resultar en costos de API inesperados.
Cuando uses la herramienta de uso de computadora, debes incluir la bandera beta apropiada para tu versión de modelo:
Recomendamos probar la implementación de referencia antes de leer el resto de esta documentación.
Aquí hay algunos consejos sobre cómo obtener los mejores resultados de calidad:
Después de cada paso, toma una captura de pantalla y evalúa cuidadosamente si has logrado el resultado correcto. Muestra explícitamente tu pensamiento: "He evaluado el paso X..." Si no es correcto, intenta de nuevo. Solo cuando confirmes que un paso se ejecutó correctamente debes pasar al siguiente.<robot_credentials>. Usar el uso de computadora dentro de aplicaciones que requieren inicio de sesión aumenta el riesgo de malos resultados como resultado de inyección de prompts. Por favor revisa nuestra guía sobre mitigación de inyecciones de prompts antes de proporcionar al modelo credenciales de inicio de sesión.Si encuentras repetidamente un conjunto claro de problemas o sabes de antemano las tareas que Claude necesitará completar, usa el prompt del sistema para proporcionar a Claude consejos explícitos o instrucciones sobre cómo hacer las tareas exitosamente.
Cuando una de las herramientas definidas por Anthropic se solicita a través de la API de Claude, se genera un prompt del sistema específico para el uso de computadora. Es similar al prompt 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.
Como con el uso regular de herramientas, el campo system_prompt proporcionado por el usuario sigue siendo respetado y se usa en la construcción del prompt del sistema combinado.
La herramienta de uso de computadora admite estas acciones:
Acciones básicas (todas las versiones)
[x, y]Acciones mejoradas (computer_20250124)
Disponibles en modelos Claude 4 y Claude Sonnet 3.7:
Acciones mejoradas (computer_20251124)
Disponibles en 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 | Requerido | Descripción |
|---|---|---|
type | Sí | Versión de la herramienta (computer_20251124, computer_20250124, o computer_20241022) |
name | Sí | Debe ser "computer" |
display_width_px | Sí | Ancho de pantalla en píxeles |
display_height_px | Sí | Alto de pantalla en píxeles |
display_number | No | Número de pantalla para entornos X11 |
Mantén la resolución de pantalla en o por debajo de 1280x800 (WXGA) para mejor rendimiento. Las resoluciones más altas pueden causar problemas de precisión debido a cambio de tamaño de imagen.
Importante: La herramienta de uso de computadora debe ser ejecutada explícitamente por tu aplicación - Claude no puede ejecutarla directamente. Eres responsable de implementar la captura de pantalla, movimientos del ratón, entradas de teclado y otras acciones basadas en las solicitudes de Claude.
| Parámetro | Requerido | Descripción |
|---|---|---|
type | Sí | Versión de la herramienta (computer_20251124, computer_20250124, o computer_20241022) |
name | Sí | Debe ser "computer" |
display_width_px | Sí | Ancho de pantalla en píxeles |
display_height_px | Sí | Alto de pantalla en píxeles |
display_number | No | Número de pantalla para entornos X11 |
Mantén la resolución de pantalla en o por debajo de 1280x800 (WXGA) para mejor rendimiento. Las resoluciones más altas pueden causar problemas de precisión debido a cambio de tamaño de imagen.
Importante: La herramienta de uso de computadora debe ser ejecutada explícitamente por tu aplicación - Claude no puede ejecutarla directamente. Eres responsable de implementar la captura de pantalla, movimientos del ratón, entradas de teclado y otras acciones basadas en las solicitudes de Claude.
Claude Sonnet 3.7 introdujo una nueva capacidad de "pensamiento" que te permite ver el proceso de razonamiento del modelo mientras trabaja en tareas complejas. Esta característica te ayuda a entender cómo Claude está abordando un problema y puede ser particularmente valiosa para depuración o propósitos educativos.
Para habilitar el pensamiento, añade un parámetro thinking a tu solicitud de API:
"thinking": {
"type": "enabled",
"budget_tokens": 1024
}El parámetro budget_tokens especifica cuántos tokens Claude puede usar para pensar. Esto se resta de tu presupuesto general de max_tokens.
Cuando el pensamiento está habilitado, Claude devolverá su proceso de razonamiento como parte de la respuesta, lo que puede ayudarte a:
Aquí hay un ejemplo de cómo podría verse la salida de pensamiento:
[Thinking]
I need to save a picture of a cat to the desktop. Let me break this down into steps:
1. First, I'll take a screenshot to see what's on the desktop
2. Then I'll look for a web browser to search for cat images
3. After finding a suitable image, I'll need to save it to the desktop
Let me start by taking a screenshot to see what's available...| Parámetro | Requerido | Descripción |
|---|---|---|
type | Sí | Versión de la herramienta (computer_20251124, computer_20250124, o computer_20241022) |
name | Sí | Debe ser "computer" |
display_width_px | Sí | Ancho de pantalla en píxeles |
display_height_px | Sí | Alto de pantalla en píxeles |
display_number | No | Número de pantalla para entornos X11 |
Mantén la resolución de pantalla en o por debajo de 1280x800 (WXGA) para mejor rendimiento. Las resoluciones más altas pueden causar problemas de precisión debido a cambio de tamaño de imagen.
Importante: La herramienta de uso de computadora debe ser ejecutada explícitamente por tu aplicación - Claude no puede ejecutarla directamente. Eres responsable de implementar la captura de pantalla, movimientos del ratón, entradas de teclado y otras acciones basadas en las solicitudes de Claude.
La herramienta de uso de computadora se puede combinar con otras herramientas para crear flujos de trabajo de automatización más poderosos. Esto es particularmente útil cuando necesitas:
| Parámetro | Requerido | Descripción |
|---|---|---|
type | Sí | Versión de herramienta (computer_20251124, computer_20250124, o computer_20241022) |
name | Sí | Debe ser "computer" |
display_width_px | Sí | Ancho de pantalla en píxeles |
display_height_px | Sí | Alto de pantalla en píxeles |
display_number | No | Número de pantalla para entornos X11 |
Mantenga la resolución de pantalla en o por debajo de 1280x800 (WXGA) para un mejor rendimiento. Las resoluciones más altas pueden causar problemas de precisión debido a cambio de tamaño de imagen.
Importante: La herramienta de uso de computadora debe ser ejecutada explícitamente por su aplicación - Claude no puede ejecutarla directamente. Usted es responsable de implementar la captura de pantalla, movimientos del ratón, entradas de teclado y otras acciones basadas en las solicitudes de Claude.
Claude Sonnet 3.7 introdujo una nueva capacidad de "pensamiento" que le permite ver el proceso de razonamiento del modelo mientras trabaja en tareas complejas. Esta característica le ayuda a entender cómo Claude está abordando un problema y puede ser particularmente valiosa para depuración o propósitos educativos.
Para habilitar el pensamiento, agregue un parámetro thinking a su solicitud de API:
"thinking": {
"type": "enabled",
"budget_tokens": 1024
}El parámetro budget_tokens especifica cuántos tokens puede usar Claude para pensar. Esto se resta de su presupuesto general de max_tokens.
Cuando el pensamiento está habilitado, Claude devolverá su proceso de razonamiento como parte de la respuesta, lo que puede ayudarle a:
Aquí hay un ejemplo de cómo podría verse la salida de pensamiento:
[Thinking]
Necesito guardar una imagen de un gato en el escritorio. Déjame desglosar esto en pasos:
1. Primero, tomaré una captura de pantalla para ver qué hay en el escritorio
2. Luego buscaré un navegador web para buscar imágenes de gatos
3. Después de encontrar una imagen adecuada, necesitaré guardarla en el escritorio
Déjame comenzar tomando una captura de pantalla para ver qué está disponible...La herramienta de uso de computadora se puede combinar con otras herramientas para crear flujos de trabajo de automatización más poderosos. Esto es particularmente útil cuando necesita:
La implementación de referencia está diseñada para ayudarle a comenzar con el uso de computadora. Incluye todos los componentes necesarios para que Claude use una computadora. Sin embargo, puede construir su propio entorno para el uso de computadora para adaptarse a sus necesidades. Necesitará:
tool_use usando sus implementaciones de herramientasLa herramienta de uso de computadora se implementa como una herramienta sin esquema. Al usar esta herramienta, no necesita proporcionar un esquema de entrada como con otras herramientas; el esquema está integrado en el modelo de Claude y no se puede modificar.
Al implementar la herramienta de uso de computadora, pueden ocurrir varios errores. Aquí se explica cómo manejarlos:
La funcionalidad de uso de computadora está en beta. Aunque las capacidades de Claude son de vanguardia, los desarrolladores deben ser conscientes de sus limitaciones:
left_mouse_down, left_mouse_up y nuevo soporte de teclas modificadoras. La selección de celdas puede ser más confiable usando estos controles de grano fino y combinando teclas modificadoras con clics.Siempre revise y verifique cuidadosamente las acciones y registros de uso de computadora de Claude. No use Claude para tareas que requieran precisión perfecta o información de usuario sensible sin supervisión humana.
La funcionalidad de uso de computadora está en beta. Aunque las capacidades de Claude son de vanguardia, los desarrolladores deben ser conscientes de sus limitaciones:
left_mouse_down, left_mouse_up y nuevo soporte de teclas modificadoras. La selección de celdas puede ser más confiable usando estos controles de grano fino y combinando teclas modificadoras con clics.Siempre revise y verifique cuidadosamente las acciones y registros de uso de computadora de Claude. No use Claude para tareas que requieran precisión perfecta o información de usuario sensible sin supervisión humana.
Computer use follows the standard tool use pricing. When using the computer use tool:
System prompt overhead: The computer use beta adds 466-499 tokens to the system prompt
Computer use tool token usage:
| Model | Input tokens per tool definition |
|---|---|
| Claude 4.x models | 735 tokens |
| Claude Sonnet 3.7 (deprecated) | 735 tokens |
Additional token consumption:
If you're also using bash or text editor tools alongside computer use, those tools have their own token costs as documented in their respective pages.
La funcionalidad de uso de computadora está en beta. Aunque las capacidades de Claude son de vanguardia, los desarrolladores deben ser conscientes de sus limitaciones:
left_mouse_down, left_mouse_up y nuevo soporte de teclas modificadoras. La selección de celdas puede ser más confiable usando estos controles de grano fino y combinando teclas modificadoras con clics.Siempre revise y verifique cuidadosamente las acciones y registros de uso de computadora de Claude. No use Claude para tareas que requieran precisión perfecta o información de usuario sensible sin supervisión humana.
Computer use follows the standard tool use pricing. When using the computer use tool:
System prompt overhead: The computer use beta adds 466-499 tokens to the system prompt
Computer use tool token usage:
| Model | Input tokens per tool definition |
|---|---|
| Claude 4.x models | 735 tokens |
| Claude Sonnet 3.7 (deprecated) | 735 tokens |
Additional token consumption:
If you're also using bash or text editor tools alongside computer use, those tools have their own token costs as documented in their respective pages.
Aún sugerimos tomar precauciones para aislar a Claude de datos sensibles y acciones para evitar riesgos relacionados con inyección de indicaciones.
Finalmente, por favor informe a los usuarios finales de los riesgos relevantes y obtenga su consentimiento antes de habilitar el uso de computadora en sus propios productos.
import anthropic
client = anthropic.Anthropic()
response = client.beta.messages.create(
model="claude-sonnet-4-5", # or another compatible model
max_tokens=1024,
tools=[
{
"type": "computer_20250124",
"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-01-24"]
)
print(response)1. Proporcione a Claude la herramienta de uso de computadora y una indicación del usuario
2. Claude decide usar la herramienta de uso de computadora
stop_reason de tool_use, señalando la intención de Claude.3. Extraiga la entrada de la herramienta, evalúe la herramienta en una computadora y devuelva resultados
user que contenga un bloque de contenido tool_result.4. Claude continúa llamando herramientas de uso de computadora hasta que haya completado la tarea
stop_reason de tool_use y debe volver al paso 3.Aún sugerimos tomar precauciones para aislar a Claude de datos sensibles y acciones para evitar riesgos relacionados con inyección de indicaciones.
Finalmente, por favor informe a los usuarios finales de los riesgos relevantes y obtenga su consentimiento antes de habilitar el uso de computadora en sus propios productos.
import anthropic
client = anthropic.Anthropic()
response = client.beta.messages.create(
model="claude-sonnet-4-5", # o otro modelo compatible
max_tokens=1024,
tools=[
{
"type": "computer_20250124",
"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-01-24"]
)
print(response)1. Proporcione a Claude la herramienta de uso de computadora y una indicación del usuario
2. Claude decide usar la herramienta de uso de computadora
stop_reason de tool_use, señalando la intención de Claude.3. Extraiga la entrada de herramienta, evalúe la herramienta en una computadora y devuelva resultados
user que contenga un bloque de contenido tool_result.4. Claude continúa llamando herramientas de uso de computadora hasta completar la tarea
stop_reason de tool_use y debe volver al paso 3.enable_zoom |
| No |
Habilitar acción de zoom (computer_20251124 solamente). Establece en true para permitir que Claude haga zoom en regiones específicas de la pantalla. Predeterminado: false |
enable_zoom |
| No |
Habilitar acción de zoom (computer_20251124 solamente). Establece en true para permitir que Claude haga zoom en regiones específicas de la pantalla. Predeterminado: false |
enable_zoom |
| No |
Habilitar acción de zoom (computer_20251124 solamente). Establece en true para permitir que Claude haga zoom en regiones específicas de la pantalla. Predeterminado: false |
curl https://api.anthropic.com/v1/messages \
-H "content-type: application/json" \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "anthropic-beta: computer-use-2025-01-24" \
-d '{
"model": "claude-sonnet-4-5",
"max_tokens": 2000,
"tools": [
{
"type": "computer_20250124",
"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"
},
{
"name": "get_weather",
"description": "Get the current weather in a given location",
"input_schema": {
"type": "object",
"properties": {
"location": {
"type": "string",
"description": "The city and state, e.g. San Francisco, CA"
},
"unit": {
"type": "string",
"enum": ["celsius", "fahrenheit"],
"description": "The unit of temperature, either 'celsius' or 'fahrenheit'"
}
},
"required": ["location"]
}
}
],
"messages": [
{
"role": "user",
"content": "Find flights from San Francisco to a place with warmer weather."
}
],
"thinking": {
"type": "enabled",
"budget_tokens": 1024
}
}'enable_zoom |
| No |
Habilitar acción de zoom (computer_20251124 solamente). Establezca en true para permitir que Claude amplíe regiones específicas de la pantalla. Predeterminado: false |
curl https://api.anthropic.com/v1/messages \
-H "content-type: application/json" \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "anthropic-beta: computer-use-2025-01-24" \
-d '{
"model": "claude-sonnet-4-5",
"max_tokens": 2000,
"tools": [
{
"type": "computer_20250124",
"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"
},
{
"name": "get_weather",
"description": "Get the current weather in a given location",
"input_schema": {
"type": "object",
"properties": {
"location": {
"type": "string",
"description": "The city and state, e.g. San Francisco, CA"
},
"unit": {
"type": "string",
"enum": ["celsius", "fahrenheit"],
"description": "The unit of temperature, either 'celsius' or 'fahrenheit'"
}
},
"required": ["location"]
}
}
],
"messages": [
{
"role": "user",
"content": "Find flights from San Francisco to a place with warmer weather."
}
],
"thinking": {
"type": "enabled",
"budget_tokens": 1024
}
}'Configurar su entorno informático
Cree una pantalla virtual o conéctese a una pantalla existente con la que Claude interactuará. Esto típicamente implica configurar Xvfb (X Virtual Framebuffer) o tecnología similar.
Implementar manejadores de acciones
Cree funciones para manejar cada tipo de acción que Claude podría solicitar:
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"])
# ... handle other actionsProcesar llamadas de herramientas de Claude
Extraiga y ejecute llamadas de herramientas de las respuestas de Claude:
for content in response.content:
if content.type == "tool_use":
action = content.input["action"]
result = handle_computer_action(action, content.input)
# Return result to Claude
tool_result = {
"type": "tool_result",
"tool_use_id": content.id,
"content": result
}Implementar el bucle del agente
Cree un bucle que continúe hasta que Claude complete la tarea:
while True:
response = client.beta.messages.create(...)
# Check if Claude used any tools
tool_results = process_tool_calls(response)
if not tool_results:
# No more tool use, task complete
break
# Continue conversation with tool results
messages.append({"role": "user", "content": tool_results})Obtenga más información sobre el uso de herramientas y la creación de herramientas personalizadas