Claude peut interagir avec les environnements informatiques grâce à l'outil d'utilisation de l'ordinateur, qui fournit des capacités de capture d'écran et de contrôle de la souris/clavier pour l'interaction autonome du bureau.
L'utilisation de l'ordinateur est actuellement en version bêta et nécessite un en-tête bêta :
"computer-use-2025-11-24" (Claude Opus 4.5)"computer-use-2025-01-24" (Claude 4 models et Claude Sonnet 3.7 (obsolète))L'utilisation de l'ordinateur est une fonctionnalité bêta qui permet à Claude d'interagir avec les environnements de bureau. Cet outil fournit :
Bien que l'utilisation de l'ordinateur puisse être augmentée avec d'autres outils comme bash et l'éditeur de texte pour des flux de travail d'automatisation plus complets, l'utilisation de l'ordinateur fait spécifiquement référence à la capacité de l'outil d'utilisation de l'ordinateur à voir et contrôler les environnements de bureau.
L'utilisation de l'ordinateur est disponible pour les modèles Claude suivants :
| Modèle | Version de l'outil | Drapeau bêta |
|---|---|---|
| Claude Opus 4.5 | computer_20251124 | computer-use-2025-11-24 |
| Claude 4 models | computer_20250124 | computer-use-2025-01-24 |
| Claude Sonnet 3.7 (obsolète) | computer_20250124 | computer-use-2025-01-24 |
Claude Opus 4.5 introduit la version d'outil computer_20251124 avec de nouvelles capacités incluant l'action de zoom pour l'inspection détaillée de régions d'écran. Claude 4 models utilise des versions d'outil mises à jour optimisées pour la nouvelle architecture. Claude Sonnet 3.7 (obsolète) introduit des capacités supplémentaires incluant la fonctionnalité de réflexion pour plus d'aperçu du processus de raisonnement du modèle.
Les versions d'outil plus anciennes ne sont pas garanties d'être rétro-compatibles avec les modèles plus récents. Utilisez toujours la version d'outil qui correspond à votre version de modèle.
L'utilisation de l'ordinateur est une fonctionnalité bêta avec des risques uniques distincts des fonctionnalités API standard. Ces risques sont amplifiés lors de l'interaction avec Internet. Pour minimiser les risques, envisagez de prendre des précautions telles que :
Dans certaines circonstances, Claude suivra les commandes trouvées dans le contenu même si cela entre en conflit avec les instructions de l'utilisateur. Par exemple, les instructions Claude sur les pages Web ou contenues dans les images peuvent remplacer les instructions ou faire commettre des erreurs à Claude. Nous suggérons de prendre des précautions pour isoler Claude des données et actions sensibles afin d'éviter les risques liés à l'injection de prompt.
Nous avons entraîné le modèle à résister à ces injections de prompt et avons ajouté une couche supplémentaire de défense. Si vous utilisez nos outils d'utilisation de l'ordinateur, nous exécuterons automatiquement des classificateurs sur vos prompts pour signaler les instances potentielles d'injections de prompt. Lorsque ces classificateurs identifient des injections de prompt potentielles dans les captures d'écran, ils dirigeront automatiquement le modèle pour demander la confirmation de l'utilisateur avant de procéder à l'action suivante. Nous reconnaissons que cette protection supplémentaire ne sera pas idéale pour tous les cas d'utilisation (par exemple, les cas d'utilisation sans humain dans la boucle), donc si vous souhaitez refuser et l'désactiver, veuillez .
Commencez rapidement avec notre implémentation de référence de l'utilisation de l'ordinateur qui inclut une interface Web, un conteneur Docker, des implémentations d'outils d'exemple et une boucle d'agent.
Remarque : L'implémentation a été mise à jour pour inclure de nouveaux outils pour Claude 4 models et Claude Sonnet 3.7. Assurez-vous de récupérer la dernière version du référentiel pour accéder à ces nouvelles fonctionnalités.
Veuillez utiliser ce formulaire pour fournir des commentaires sur la qualité des réponses du modèle, l'API elle-même ou la qualité de la documentation - nous avons hâte de vous entendre !
Voici comment commencer avec l'utilisation de l'ordinateur :
Un en-tête bêta n'est requis que pour l'outil d'utilisation de l'ordinateur.
L'exemple ci-dessus montre les trois outils utilisés ensemble, ce qui nécessite l'en-tête bêta car il inclut l'outil d'utilisation de l'ordinateur.
Nous appelons la répétition des étapes 3 et 4 sans entrée utilisateur la « boucle d'agent » - c'est-à-dire Claude répondant avec une demande d'utilisation d'outil et votre application répondant à Claude avec les résultats de l'évaluation de cette demande.
Claude peut interagir avec des environnements informatiques via l'outil de contrôle informatique, qui fournit des capacités de capture d'écran et un contrôle de la souris/clavier pour l'interaction autonome du bureau.
Le contrôle informatique est actuellement en version bêta et nécessite un en-tête bêta :
"computer-use-2025-11-24" (Claude Opus 4.5)"computer-use-2025-01-24" (Claude 4 models et Claude Sonnet 3.7 (obsolète))Le contrôle informatique est une fonctionnalité bêta qui permet à Claude d'interagir avec des environnements de bureau. Cet outil fournit :
Bien que le contrôle informatique puisse être augmenté avec d'autres outils comme bash et l'éditeur de texte pour des flux de travail d'automatisation plus complets, le contrôle informatique fait spécifiquement référence à la capacité de l'outil de contrôle informatique à voir et contrôler les environnements de bureau.
Le contrôle informatique est disponible pour les modèles Claude suivants :
| Modèle | Version de l'outil | Drapeau bêta |
|---|---|---|
| Claude Opus 4.5 | computer_20251124 | computer-use-2025-11-24 |
| Claude 4 models | computer_20250124 | computer-use-2025-01-24 |
| Claude Sonnet 3.7 (obsolète) | computer_20250124 | computer-use-2025-01-24 |
Claude Opus 4.5 introduit la version d'outil computer_20251124 avec de nouvelles capacités incluant l'action de zoom pour l'inspection détaillée des régions d'écran. Claude 4 models utilise des versions d'outil mises à jour optimisées pour la nouvelle architecture. Claude Sonnet 3.7 (obsolète) introduit des capacités supplémentaires incluant la fonctionnalité de réflexion pour plus de perspicacité dans le processus de raisonnement du modèle.
Les versions d'outil plus anciennes ne sont pas garanties d'être rétro-compatibles avec les modèles plus récents. Utilisez toujours la version d'outil qui correspond à votre version de modèle.
Le contrôle informatique est une fonctionnalité bêta avec des risques uniques distincts des fonctionnalités API standard. Ces risques sont amplifiés lors de l'interaction avec Internet. Pour minimiser les risques, envisagez de prendre des précautions telles que :
Dans certaines circonstances, Claude suivra les commandes trouvées dans le contenu même si cela entre en conflit avec les instructions de l'utilisateur. Par exemple, les instructions Claude sur les pages Web ou contenues dans les images peuvent remplacer les instructions ou amener Claude à faire des erreurs. Nous suggérons de prendre des précautions pour isoler Claude des données sensibles et des actions pour éviter les risques liés à l'injection de prompt.
Nous avons entraîné le modèle à résister à ces injections de prompt et avons ajouté une couche de défense supplémentaire. Si vous utilisez nos outils de contrôle informatique, nous exécuterons automatiquement des classificateurs sur vos prompts pour signaler les instances potentielles d'injections de prompt. Lorsque ces classificateurs identifient des injections de prompt potentielles dans les captures d'écran, ils orienteront automatiquement le modèle à demander la confirmation de l'utilisateur avant de procéder à l'action suivante. Nous reconnaissons que cette protection supplémentaire ne sera pas idéale pour tous les cas d'usage (par exemple, les cas d'usage sans humain dans la boucle), donc si vous souhaitez refuser et la désactiver, veuillez .
Commencez rapidement avec notre implémentation de référence du contrôle informatique qui inclut une interface Web, un conteneur Docker, des implémentations d'outils d'exemple et une boucle d'agent.
Remarque : L'implémentation a été mise à jour pour inclure de nouveaux outils pour Claude 4 models et Claude Sonnet 3.7. Assurez-vous de récupérer la dernière version du référentiel pour accéder à ces nouvelles fonctionnalités.
Veuillez utiliser ce formulaire pour fournir des commentaires sur la qualité des réponses du modèle, l'API elle-même ou la qualité de la documentation - nous avons hâte de vous entendre !
Voici comment commencer avec le contrôle informatique :
Un en-tête bêta n'est requis que pour l'outil de contrôle informatique.
L'exemple ci-dessus montre les trois outils utilisés ensemble, ce qui nécessite l'en-tête bêta car il inclut l'outil de contrôle informatique.
Nous nous référons à la répétition des étapes 3 et 4 sans entrée utilisateur comme la « boucle d'agent » - c'est-à-dire Claude répondant avec une demande d'utilisation d'outil et votre application répondant à Claude avec les résultats de l'évaluation de cette demande.
Le contrôle informatique nécessite un environnement informatique en bac à sable où Claude peut interagir en toute sécurité avec les applications et le Web. Cet environnement inclut :
Affichage virtuel : Un serveur d'affichage X11 virtuel (utilisant Xvfb) qui rend l'interface de bureau que Claude verra via des captures d'écran et contrôlera avec des actions de souris/clavier.
Environnement de bureau : Une interface utilisateur légère avec gestionnaire de fenêtres (Mutter) et panneau (Tint2) s'exécutant sur Linux, qui fournit une interface graphique cohérente pour que Claude interagisse.
Applications : Applications Linux pré-installées comme Firefox, LibreOffice, éditeurs de texte et gestionnaires de fichiers que Claude peut utiliser pour accomplir des tâches.
Implémentations d'outils : Code d'intégration qui traduit les demandes d'outils abstraits de Claude (comme « déplacer la souris » ou « prendre une capture d'écran ») en opérations réelles dans l'environnement virtuel.
Boucle d'agent : Un programme qui gère la communication entre Claude et l'environnement, envoyant les actions de Claude à l'environnement et retournant les résultats (captures d'écran, sorties de commande) à Claude.
Lorsque vous utilisez le contrôle informatique, Claude ne se connecte pas directement à cet environnement. Au lieu de cela, votre application :
Pour la sécurité et l'isolation, l'implémentation de référence exécute tout cela à l'intérieur d'un conteneur Docker avec des mappages de ports appropriés pour visualiser et interagir avec l'environnement.
Nous avons construit une implémentation de référence qui inclut tout ce dont vous avez besoin pour commencer rapidement avec le contrôle informatique :
Le cœur du contrôle informatique est la « boucle d'agent » - un cycle où Claude demande des actions d'outil, votre application les exécute et retourne les résultats à Claude. Voici un exemple simplifié :
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})La boucle continue jusqu'à ce que Claude réponde sans demander d'outils (achèvement de la tâche) ou que la limite d'itération maximale soit atteinte. Cette protection empêche les boucles infinies potentielles qui pourraient entraîner des coûts API inattendus.
Lors de l'utilisation de l'outil de contrôle informatique, vous devez inclure le drapeau bêta approprié pour votre version de modèle :
Nous vous recommandons d'essayer l'implémentation de référence avant de lire le reste de cette documentation.
Voici quelques conseils sur comment obtenir les meilleures sorties de qualité :
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>. L'utilisation du contrôle informatique dans les applications qui nécessitent une connexion augmente le risque de mauvais résultats en raison de l'injection de prompt. Veuillez consulter notre guide sur l'atténuation des injections de prompt avant de fournir au modèle les identifiants de connexion.Si vous rencontrez à plusieurs reprises un ensemble clair de problèmes ou si vous savez à l'avance les tâches que Claude devra accomplir, utilisez l'invite système pour fournir à Claude des conseils ou des instructions explicites sur comment accomplir les tâches avec succès.
Lorsqu'un des outils définis par Anthropic est demandé via l'API Claude, une invite système spécifique au contrôle informatique est générée. Elle est similaire à l'invite système d'utilisation d'outil mais commence par :
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.
Comme pour l'utilisation régulière d'outils, le champ system_prompt fourni par l'utilisateur est toujours respecté et utilisé dans la construction de l'invite système combinée.
Nous avons construit une implémentation de référence qui contient tout ce dont vous avez besoin pour commencer rapidement avec l'utilisation d'ordinateur :
Le cœur de l'utilisation d'ordinateur est la « boucle d'agent » - un cycle où Claude demande des actions d'outils, votre application les exécute et retourne les résultats à Claude. Voici un exemple simplifié :
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})La boucle continue jusqu'à ce que Claude réponde sans demander d'outils (fin de tâche) ou que la limite d'itération maximale soit atteinte. Cette protection empêche les boucles infinies potentielles qui pourraient entraîner des coûts d'API inattendus.
Lors de l'utilisation de l'outil d'utilisation d'ordinateur, vous devez inclure le drapeau bêta approprié pour votre version de modèle :
Nous vous recommandons d'essayer l'implémentation de référence avant de lire le reste de cette documentation.
Voici quelques conseils sur la façon d'obtenir les meilleures sorties de qualité :
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>. L'utilisation de l'utilisation d'ordinateur dans les applications qui nécessitent une connexion augmente le risque de mauvais résultats en raison de l'injection d'invite. Veuillez consulter notre guide sur l'atténuation des injections d'invite avant de fournir au modèle les identifiants de connexion.Si vous rencontrez à plusieurs reprises un ensemble clair de problèmes ou si vous connaissez à l'avance les tâches que Claude devra accomplir, utilisez l'invite système pour fournir à Claude des conseils ou des instructions explicites sur la façon d'accomplir les tâches avec succès.
Lorsqu'un des outils définis par Anthropic est demandé via l'API Claude, une invite système spécifique à l'utilisation d'ordinateur est générée. Elle est similaire à l'invite système d'utilisation d'outils mais commence par :
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.
Comme pour l'utilisation régulière d'outils, le champ system_prompt fourni par l'utilisateur est toujours respecté et utilisé dans la construction de l'invite système combinée.
L'outil d'utilisation d'ordinateur prend en charge ces actions :
Actions de base (toutes les versions)
[x, y]Actions améliorées (computer_20250124)
Disponible dans les modèles Claude 4 et Claude Sonnet 3.7 :
Actions améliorées (computer_20251124)
Disponible dans Claude Opus 4.5 :
computer_20250124enable_zoom: true dans la définition de l'outil. Prend un paramètre region avec les coordonnées [x1, y1, x2, y2] définissant les coins supérieur gauche et inférieur droit de la zone à inspecter.| Paramètre | Requis | Description |
|---|---|---|
type | Oui | Version de l'outil (computer_20251124, computer_20250124, ou computer_20241022) |
name | Oui | Doit être « computer » |
display_width_px | Oui | Largeur d'affichage en pixels |
display_height_px | Oui | Hauteur d'affichage en pixels |
display_number | Non | Numéro d'affichage pour les environnements X11 |
Gardez la résolution d'affichage à ou en dessous de 1280x800 (WXGA) pour les meilleures performances. Les résolutions plus élevées peuvent causer des problèmes de précision en raison du redimensionnement d'image.
Important : L'outil d'utilisation d'ordinateur doit être explicitement exécuté par votre application - Claude ne peut pas l'exécuter directement. Vous êtes responsable de l'implémentation de la capture d'écran, des mouvements de souris, des entrées au clavier et d'autres actions en fonction des demandes de Claude.
| Paramètre | Requis | Description |
|---|---|---|
type | Oui | Version de l'outil (computer_20251124, computer_20250124, ou computer_20241022) |
name | Oui | Doit être « computer » |
display_width_px | Oui | Largeur d'affichage en pixels |
display_height_px | Oui | Hauteur d'affichage en pixels |
display_number | Non | Numéro d'affichage pour les environnements X11 |
Gardez la résolution d'affichage à ou en dessous de 1280x800 (WXGA) pour les meilleures performances. Les résolutions plus élevées peuvent causer des problèmes de précision en raison du redimensionnement d'image.
Important : L'outil d'utilisation d'ordinateur doit être explicitement exécuté par votre application - Claude ne peut pas l'exécuter directement. Vous êtes responsable de l'implémentation de la capture d'écran, des mouvements de souris, des entrées au clavier et d'autres actions en fonction des demandes de Claude.
Claude Sonnet 3.7 a introduit une nouvelle capacité de « réflexion » qui vous permet de voir le processus de raisonnement du modèle alors qu'il travaille sur des tâches complexes. Cette fonctionnalité vous aide à comprendre comment Claude aborde un problème et peut être particulièrement précieuse à des fins de débogage ou éducatives.
Pour activer la réflexion, ajoutez un paramètre thinking à votre demande d'API :
"thinking": {
"type": "enabled",
"budget_tokens": 1024
}Le paramètre budget_tokens spécifie combien de jetons Claude peut utiliser pour la réflexion. Ceci est soustrait de votre budget global max_tokens.
Lorsque la réflexion est activée, Claude retournera son processus de raisonnement dans le cadre de la réponse, ce qui peut vous aider à :
Voici un exemple de ce à quoi la sortie de réflexion pourrait ressembler :
[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...| Paramètre | Requis | Description |
|---|---|---|
type | Oui | Version de l'outil (computer_20251124, computer_20250124, ou computer_20241022) |
name | Oui | Doit être « computer » |
display_width_px | Oui | Largeur d'affichage en pixels |
display_height_px | Oui | Hauteur d'affichage en pixels |
display_number | Non | Numéro d'affichage pour les environnements X11 |
Gardez la résolution d'affichage à ou en dessous de 1280x800 (WXGA) pour les meilleures performances. Les résolutions plus élevées peuvent causer des problèmes de précision en raison du redimensionnement d'image.
Important : L'outil d'utilisation d'ordinateur doit être explicitement exécuté par votre application - Claude ne peut pas l'exécuter directement. Vous êtes responsable de l'implémentation de la capture d'écran, des mouvements de souris, des entrées au clavier et d'autres actions en fonction des demandes de Claude.
Claude Sonnet 3.7 a introduit une nouvelle capacité de « réflexion » qui vous permet de voir le processus de raisonnement du modèle alors qu'il travaille sur des tâches complexes. Cette fonctionnalité vous aide à comprendre comment Claude aborde un problème et peut être particulièrement précieuse à des fins de débogage ou éducatives.
Pour activer la réflexion, ajoutez un paramètre thinking à votre demande d'API :
"thinking": {
"type": "enabled",
"budget_tokens": 1024
}Le paramètre budget_tokens spécifie combien de jetons Claude peut utiliser pour la réflexion. Ceci est soustrait de votre budget global max_tokens.
Lorsque la réflexion est activée, Claude retournera son processus de raisonnement dans le cadre de la réponse, ce qui peut vous aider à :
Voici un exemple de ce à quoi la sortie de réflexion pourrait ressembler :
[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...L'outil d'utilisation d'ordinateur peut être combiné avec d'autres outils pour créer des flux de travail d'automatisation plus puissants. Ceci est particulièrement utile lorsque vous avez besoin de :
| Paramètre | Requis | Description |
|---|---|---|
type | Oui | Version de l'outil (computer_20251124, computer_20250124, ou computer_20241022) |
name | Oui | Doit être "computer" |
display_width_px | Oui | Largeur d'affichage en pixels |
display_height_px | Oui | Hauteur d'affichage en pixels |
display_number | Non | Numéro d'affichage pour les environnements X11 |
Maintenez la résolution d'affichage à 1280x800 (WXGA) ou moins pour des performances optimales. Les résolutions plus élevées peuvent causer des problèmes de précision en raison du redimensionnement d'image.
Important : L'outil d'utilisation d'ordinateur doit être explicitement exécuté par votre application - Claude ne peut pas l'exécuter directement. Vous êtes responsable de la mise en œuvre de la capture d'écran, des mouvements de souris, des entrées au clavier et d'autres actions en fonction des demandes de Claude.
Claude Sonnet 3.7 a introduit une nouvelle capacité de « réflexion » qui vous permet de voir le processus de raisonnement du modèle au fur et à mesure qu'il travaille sur des tâches complexes. Cette fonctionnalité vous aide à comprendre comment Claude aborde un problème et peut être particulièrement précieuse à des fins de débogage ou éducatives.
Pour activer la réflexion, ajoutez un paramètre thinking à votre demande d'API :
"thinking": {
"type": "enabled",
"budget_tokens": 1024
}Le paramètre budget_tokens spécifie le nombre de jetons que Claude peut utiliser pour la réflexion. Ceci est soustrait de votre budget global max_tokens.
Lorsque la réflexion est activée, Claude retournera son processus de raisonnement dans le cadre de la réponse, ce qui peut vous aider à :
Voici un exemple de ce à quoi la sortie de réflexion pourrait ressembler :
[Thinking]
Je dois enregistrer une photo d'un chat sur le bureau. Décomposons cela en étapes :
1. D'abord, je vais prendre une capture d'écran pour voir ce qui se trouve sur le bureau
2. Ensuite, je vais chercher un navigateur Web pour rechercher des images de chats
3. Après avoir trouvé une image appropriée, je devrai l'enregistrer sur le bureau
Commençons par prendre une capture d'écran pour voir ce qui est disponible...L'outil d'utilisation d'ordinateur peut être combiné avec d'autres outils pour créer des flux de travail d'automatisation plus puissants. Ceci est particulièrement utile lorsque vous avez besoin de :
L'implémentation de référence est destinée à vous aider à démarrer avec l'utilisation d'ordinateur. Elle inclut tous les composants nécessaires pour que Claude utilise un ordinateur. Cependant, vous pouvez construire votre propre environnement pour l'utilisation d'ordinateur selon vos besoins. Vous aurez besoin de :
tool_use en utilisant vos implémentations d'outilsL'outil d'utilisation d'ordinateur est implémenté comme un outil sans schéma. Lorsque vous utilisez cet outil, vous n'avez pas besoin de fournir un schéma d'entrée comme avec d'autres outils ; le schéma est intégré au modèle de Claude et ne peut pas être modifié.
Lors de l'implémentation de l'outil d'utilisation d'ordinateur, diverses erreurs peuvent survenir. Voici comment les gérer :
La fonctionnalité d'utilisation d'ordinateur est en version bêta. Bien que les capacités de Claude soient à la pointe de la technologie, les développeurs doivent être conscients de ses limitations :
left_mouse_down, et le nouveau support des touches de modification. La sélection de cellules peut être plus fiable en utilisant ces contrôles granulaires et en combinant les touches de modification avec les clics.Examinez et vérifiez toujours attentivement les actions et les journaux d'utilisation d'ordinateur de Claude. N'utilisez pas Claude pour les tâches nécessitant une précision parfaite ou des informations utilisateur sensibles sans surveillance humaine.
La fonctionnalité d'utilisation d'ordinateur est en version bêta. Bien que les capacités de Claude soient à la pointe de la technologie, les développeurs doivent être conscients de ses limitations :
left_mouse_down, et le nouveau support des touches de modification. La sélection de cellules peut être plus fiable en utilisant ces contrôles granulaires et en combinant les touches de modification avec les clics.Examinez et vérifiez toujours attentivement les actions et les journaux d'utilisation d'ordinateur de Claude. N'utilisez pas Claude pour les tâches nécessitant une précision parfaite ou des informations utilisateur sensibles sans surveillance humaine.
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 fonctionnalité d'utilisation d'ordinateur est en version bêta. Bien que les capacités de Claude soient à la pointe de la technologie, les développeurs doivent être conscients de ses limitations :
left_mouse_down, et le nouveau support des touches de modification. La sélection de cellules peut être plus fiable en utilisant ces contrôles granulaires et en combinant les touches de modification avec les clics.Examinez et vérifiez toujours attentivement les actions et les journaux d'utilisation d'ordinateur de Claude. N'utilisez pas Claude pour les tâches nécessitant une précision parfaite ou des informations utilisateur sensibles sans surveillance humaine.
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.
Nous suggérons toujours de prendre des précautions pour isoler Claude des données et actions sensibles afin d'éviter les risques liés à l'injection de prompt.
Enfin, veuillez informer les utilisateurs finaux des risques pertinents et obtenir leur consentement avant d'activer l'utilisation de l'ordinateur dans vos propres produits.
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. Fournir à Claude l'outil d'utilisation de l'ordinateur et une invite utilisateur
2. Claude décide d'utiliser l'outil d'utilisation de l'ordinateur
stop_reason de tool_use, signalant l'intention de Claude.3. Extraire l'entrée de l'outil, évaluer l'outil sur un ordinateur et retourner les résultats
user contenant un bloc de contenu tool_result.4. Claude continue d'appeler les outils d'utilisation de l'ordinateur jusqu'à ce qu'il ait complété la tâche
stop_reason de tool_use et vous devriez revenir à l'étape 3.Nous suggérons toujours de prendre des précautions pour isoler Claude des données sensibles et des actions pour éviter les risques liés à l'injection de prompt.
Enfin, veuillez informer les utilisateurs finaux des risques pertinents et obtenir leur consentement avant d'activer le contrôle informatique dans vos propres produits.
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. Fournir à Claude l'outil de contrôle informatique et une invite utilisateur
2. Claude décide d'utiliser l'outil de contrôle informatique
stop_reason de tool_use, signalant l'intention de Claude.3. Extraire l'entrée de l'outil, évaluer l'outil sur un ordinateur et retourner les résultats
user contenant un bloc de contenu tool_result.4. Claude continue à appeler les outils de contrôle informatique jusqu'à ce qu'il ait terminé la tâche
stop_reason de tool_use et vous devriez revenir à l'étape 3.enable_zoom |
| Non |
Activer l'action de zoom (computer_20251124 uniquement). Définissez sur true pour permettre à Claude de zoomer sur des régions d'écran spécifiques. Par défaut : false |
enable_zoom |
| Non |
Activer l'action de zoom (computer_20251124 uniquement). Définissez sur true pour permettre à Claude de zoomer sur des régions d'écran spécifiques. Par défaut : false |
enable_zoom |
| Non |
Activer l'action de zoom (computer_20251124 uniquement). Définissez sur true pour permettre à Claude de zoomer sur des régions d'écran spécifiques. Par défaut : 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 |
| Non |
Activer l'action de zoom (computer_20251124 uniquement). Définir sur true pour permettre à Claude de zoomer sur des régions d'écran spécifiques. Par défaut : 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
}
}'Configurer votre environnement informatique
Créez un affichage virtuel ou connectez-vous à un affichage existant avec lequel Claude interagira. Cela implique généralement de configurer Xvfb (X Virtual Framebuffer) ou une technologie similaire.
Implémenter les gestionnaires d'actions
Créez des fonctions pour gérer chaque type d'action que Claude pourrait demander :
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 actionsTraiter les appels d'outils de Claude
Extrayez et exécutez les appels d'outils des réponses 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
}Implémenter la boucle d'agent
Créez une boucle qui continue jusqu'à ce que Claude termine la tâche :
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})left_mouse_upleft_mouse_upleft_mouse_upEn savoir plus sur l'utilisation d'outils et la création d'outils personnalisés