Claude peut interagir avec des environnements informatiques grâce à l'outil d'utilisation de l'ordinateur, qui fournit des capacités de capture d'écran et un contrôle souris/clavier pour une interaction autonome avec le bureau.
L'utilisation de l'ordinateur est une fonctionnalité bêta qui permet à Claude d'interagir avec des environnements de bureau. Cet outil fournit :
Bien que l'utilisation de l'ordinateur puisse être complétée par d'autres outils tels que 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 des environnements de bureau.
Pour la prise en charge des modèles, consultez la Référence des outils.
L'utilisation de l'ordinateur est une fonctionnalité bêta présentant des risques uniques, distincts des fonctionnalités API standard. Ces risques sont accrus lors de l'interaction avec Internet.
Dans certaines circonstances, Claude suivra des commandes trouvées dans le contenu même lorsqu'elles entrent en conflit avec vos instructions. Par exemple, des instructions sur des pages web ou contenues dans des images pourraient remplacer vos instructions ou amener Claude à commettre des erreurs. Prenez des précautions pour isoler Claude des données et actions sensibles afin d'éviter les risques liés à l'injection de prompt.
Anthropic a entraîné le modèle à résister à ces injections de prompt et a ajouté une couche de défense supplémentaire. Si vous utilisez les outils d'utilisation de l'ordinateur, des classificateurs s'exécuteront automatiquement 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 pour qu'il demande une confirmation de l'utilisateur avant de procéder à l'action suivante. 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 vous désinscrire et la désactiver, contactez le support.
Ces précautions restent importantes même avec la couche de défense par classificateur en place.
Informez les utilisateurs finaux des risques pertinents et obtenez leur consentement avant d'activer l'utilisation de l'ordinateur dans vos propres produits.
Commencez avec l'implémentation de référence de l'utilisation de l'ordinateur qui comprend une interface web, un conteneur Docker, des exemples d'implémentations d'outils et une boucle d'agent.
Voici comment commencer avec l'utilisation de l'ordinateur :
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)Fournissez à Claude l'outil d'utilisation de l'ordinateur et un prompt utilisateur
Claude sélectionne l'outil d'utilisation de l'ordinateur
stop_reason de tool_use, signalant une requête d'utilisation d'outils.Extrayez l'entrée de l'outil, évaluez l'outil sur un ordinateur et renvoyez les résultats
user contenant un bloc de contenu tool_result.Claude continue d'appeler les outils d'utilisation de l'ordinateur jusqu'à ce qu'il ait terminé la tâche
stop_reason tool_use et vous devez revenir à l'étape 3.La répétition des étapes 3 et 4 sans intervention de l'utilisateur est appelée la « boucle d'agent » (c'est-à-dire que Claude répond avec une requête d'utilisation d'outils et votre application répond à Claude avec les résultats de l'évaluation de cette requête).
L'utilisation de l'ordinateur nécessite un environnement informatique en bac à sable où Claude peut interagir en toute sécurité avec des applications et le web. Cet environnement comprend :
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 souris/clavier.
Environnement de bureau : une interface utilisateur légère avec gestionnaire de fenêtres (Mutter) et panneau (Tint2) fonctionnant sous Linux, qui fournit une interface graphique cohérente avec laquelle Claude peut interagir.
Applications : des applications Linux préinstallées telles que Firefox, LibreOffice, des éditeurs de texte et des gestionnaires de fichiers que Claude peut utiliser pour accomplir des tâches.
Implémentations d'outils : du code d'intégration qui traduit les requêtes d'outils abstraites de Claude (telles que « 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 renvoyant les résultats (captures d'écran, sorties de commandes) à Claude.
Lorsque vous utilisez l'utilisation de l'ordinateur, 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.
Une implémentation de référence est disponible et comprend tout ce dont vous avez besoin pour commencer avec l'utilisation de l'ordinateur :
Le cœur de l'utilisation de l'ordinateur est la « boucle d'agent » : un cycle où Claude demande des actions d'outils, votre application les exécute et renvoie les résultats à Claude. La boucle utilise le client que vous avez créé dans le Démarrage rapide, une liste d'outils structurée comme le tableau tools du Démarrage rapide, et la fonction d'aide au traitement des appels d'outils définie dans Traiter les appels d'outils de Claude. Voici un exemple simplifié :
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"],
)
# Ajouter la réponse de Claude à l'historique de conversation
messages.append({"role": "assistant", "content": response.content})
# Exécuter les outils demandés par Claude et collecter les résultats
tool_results = process_tool_calls(response)
if not tool_results:
return messages # No more tool use; task complete
# Renvoyer les résultats des outils à Claude pour l'itération suivante
messages.append({"role": "user", "content": tool_results})
return messagesLa boucle continue jusqu'à ce que Claude réponde sans demander d'outils (achèvement de la tâche) ou que la limite maximale d'itérations soit atteinte. Cette protection empêche les boucles infinies potentielles qui pourraient entraîner des coûts API inattendus.
Essayez l'implémentation de référence avant de lire le reste de cette documentation.
Voici quelques conseils pour obtenir des sorties de la meilleure 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'ordinateur dans des applications nécessitant une connexion augmente le risque de mauvais résultats dus à l'injection de prompt. Consultez Atténuer les jailbreaks et les injections de prompt avant de fournir au modèle des identifiants de connexion.content d'un tour utilisateur, placez le texte d'instruction avant l'image de capture d'écran. Fournir la description de la cible avant que l'image ne soit traitée améliore la précision des clics.computer_20251124 avec enable_zoom: true défini, Claude zoome sur une région lorsqu'on l'interroge sur du petit texte ou des éléments d'interface utilisateur spécifiques qui ne sont pas lisibles à la résolution par défaut de la capture d'écran, tels que les noms de fichiers dans une barre latérale, les titres d'onglets, le texte de la barre d'état, les numéros de ligne ou les libellés de boutons. Si Claude ne zoome pas quand vous vous y attendez, interrogez-le sur une région ou un élément spécifique plutôt que sur l'écran dans son ensemble.Lorsqu'un des outils au schéma Anthropic est demandé via l'API Claude, une invite système spécifique à l'utilisation de l'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 d'outils classique, le paramètre system fourni par l'utilisateur est toujours respecté et utilisé dans la construction de l'invite système combinée.
L'outil d'utilisation de l'ordinateur prend en charge ces actions :
Actions de base (toutes les versions)
[x, y]Actions améliorées (computer_20250124 et versions ultérieures)
Disponibles dans computer_20250124 et computer_20251124 :
Actions améliorées (computer_20251124)
Disponibles dans Claude Opus 5, Claude Sonnet 5, Claude Opus 4.8, Claude Opus 4.7, Claude Opus 4.6, Claude Sonnet 4.6 et 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 ou computer_20250124) |
name | Oui | Doit être « computer » |
display_width_px | Oui | Largeur de l'affichage en pixels |
display_height_px | Oui | Hauteur de l'affichage en pixels |
display_number | Non | Numéro d'affichage pour les environnements X11 |
enable_zoom | Non | Activer l'action de zoom (computer_20251124 uniquement). Définissez sur true pour permettre à Claude de zoomer sur des régions spécifiques de l'écran. Par défaut : false |
Pour combiner l'utilisation de l'ordinateur avec la réflexion, consultez Réflexion.
Pour ajouter d'autres outils en plus de l'utilisation de l'ordinateur, incluez-les dans le même tableau tools. La section Démarrage rapide montre ce modèle avec l'outil bash et l'outil d'éditeur de texte. Vous pouvez ajouter vos propres définitions d'outils personnalisés de la même manière.
L'implémentation de référence est destinée à vous aider à démarrer avec l'utilisation de l'ordinateur. Elle comprend tous les composants nécessaires pour que Claude utilise un ordinateur. Cependant, vous pouvez construire votre propre environnement d'utilisation de l'ordinateur adapté à vos besoins. Vous aurez besoin de :
tool_use en utilisant vos implémentations d'outilsL'outil d'utilisation de l'ordinateur est implémenté comme un outil sans schéma. Lors de l'utilisation de cet outil, vous n'avez pas besoin de fournir un schéma d'entrée comme avec les autres outils ; le schéma est intégré au modèle de Claude et ne peut pas être modifié.
Configurez votre environnement informatique
Créez un affichage virtuel ou connectez-vous à un affichage existant avec lequel Claude interagira. Cela implique généralement la configuration de Xvfb (X Virtual Framebuffer) ou d'une technologie similaire.
Implémentez les gestionnaires d'actions
Créez des fonctions pour gérer chaque type d'action que Claude pourrait demander :
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"])
# Gérer les autres actions selon les besoins
return f"unhandled action: {action_type}"Traitez les appels d'outils de Claude
Extrayez et exécutez les appels d'outils à partir des réponses 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_resultsImplémentez la boucle d'agent
Créez une boucle qui continue jusqu'à ce que Claude termine la tâche :
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"],
)
# Ajouter la réponse de Claude à l'historique de conversation
messages.append({"role": "assistant", "content": response.content})
# Exécuter les outils demandés par Claude et collecter les résultats
tool_results = process_tool_calls(response)
if not tool_results:
return messages # No more tool use; task complete
# Renvoyer les résultats des outils à Claude pour l'itération suivante
messages.append({"role": "user", "content": tool_results})
return messagesLors de l'implémentation de l'outil d'utilisation de l'ordinateur, diverses erreurs peuvent survenir. Voici comment les gérer :
Les captures d'écran envoyées à l'outil d'ordinateur doivent respecter les limites de taille d'image de Claude (voir limites de taille d'image). L'API réduit les images surdimensionnées avant que Claude ne les voie, et Claude renvoie des coordonnées pour l'image qu'il voit, donc s'appuyer sur la réduction côté serveur vous laisse sans le facteur d'échelle dont vous avez besoin pour reconvertir ces coordonnées vers votre écran. Seules les images dépassant les limites de requête distinctes de l'API (par exemple, plus de 8 000 px sur un côté) sont rejetées avec une erreur de validation plutôt que réduites.
Si votre écran est plus grand que la limite, redimensionnez la capture d'écran avant de l'envoyer, définissez display_width_px/display_height_px sur les dimensions redimensionnées, et reconvertissez les coordonnées renvoyées par Claude vers l'espace d'écran d'origine :
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)
# Lors de la capture d'écran
scale = get_scale_factor(screen_width, screen_height)
scaled_width = int(screen_width * scale)
scaled_height = int(screen_height * scale)
# Redimensionner l'image aux dimensions mises à l'échelle avant de l'envoyer à Claude
screenshot = capture_and_resize(scaled_width, scaled_height)
# Lors du traitement des coordonnées de Claude, les remettre à l'échelle supérieure
def execute_click(x, y):
screen_x = x / scale
screen_y = y / scale
perform_click(screen_x, screen_y)Si les clics manquent leurs cibles, la cause est généralement l'une des suivantes :
| Symptôme | Cause probable | À essayer |
|---|---|---|
| Clics systématiquement décalés dans une direction | display_width_px/display_height_px ne correspondent pas aux dimensions de l'image réellement envoyée | Assurez-vous que les dimensions d'affichage correspondent exactement à la capture d'écran que vous envoyez |
| Les clics atterrissent dans la bonne zone mais manquent la cible | La cible est très petite, des détails ont été perdus lors de la réduction d'une source 4K+, ou le rapport d'aspect a été déformé | Définissez enable_zoom: true ; capturez à un DPI inférieur ou recadrez sur la région pertinente ; préservez le rapport d'aspect lors du redimensionnement |
| Claude clique sur le mauvais élément | Instruction ambiguë, ou éléments visuellement similaires à proximité | Utilisez des prompts positionnels (« le bouton bleu Envoyer en bas à droite ») ; décomposez l'interaction en étapes plus petites |
| La précision est systématiquement faible | Résolution trop basse | Essayez 1280x720 comme référence |
L'utilisation de l'ordinateur est en version bêta. Gardez à l'esprit les limitations suivantes :
Latence : la « latency » (latence) actuelle de l'utilisation de l'ordinateur pour les interactions humain-IA peut être trop lente par rapport aux actions informatiques habituelles dirigées par un humain. Concentrez-vous sur les cas d'usage où la vitesse n'est pas critique (par exemple, la collecte d'informations en arrière-plan, les tests logiciels automatisés) dans des environnements de confiance.
Précision et fiabilité de la vision par ordinateur : Claude peut commettre des erreurs ou halluciner lors de la génération de coordonnées spécifiques pendant la génération d'actions. La réflexion étendue peut vous aider à comprendre le raisonnement du modèle et à identifier les problèmes potentiels.
Précision et fiabilité de la sélection d'outils : Claude peut commettre des erreurs ou halluciner lors de la sélection d'outils pendant la génération d'actions ou entreprendre des actions inattendues pour résoudre des problèmes. De plus, la fiabilité peut être inférieure lors de l'interaction avec des applications de niche ou plusieurs applications à la fois. Rédigez soigneusement vos prompts lorsque vous demandez des tâches complexes.
Fiabilité du défilement : l'action de défilement prend en charge le contrôle de la direction (haut, bas, gauche, droite) et une quantité spécifiée. Dans les applications où le défilement ne prend pas effet, des alternatives au clavier telles que Page suivante peuvent aider.
Interaction avec les feuilles de calcul : utilisez les actions de contrôle précis de la souris (left_mouse_down, left_mouse_up) et les combinaisons de touches de modification pour sélectionner des cellules individuelles. Les opérations complexes sur les feuilles de calcul peuvent encore nécessiter plusieurs tentatives.
Création de comptes et génération de contenu sur les plateformes sociales et de communication : bien que Claude visite des sites web, la capacité de Claude à créer des comptes ou à générer et partager du contenu ou à se livrer autrement à l'usurpation d'identité humaine sur les sites web et plateformes de médias sociaux est limitée. Cette capacité pourrait être mise à jour à l'avenir.
Vulnérabilités : des vulnérabilités telles que le jailbreaking ou l'injection de prompt peuvent persister dans les systèmes d'IA de pointe, y compris l'API d'utilisation de l'ordinateur en version bêta. Dans certaines circonstances, Claude suivra des commandes trouvées dans le contenu, parfois même lorsqu'elles entrent en conflit avec vos instructions. Par exemple, des instructions sur des pages web ou contenues dans des images pourraient remplacer vos instructions ou amener Claude à commettre des erreurs. Envisagez ce qui suit :
Actions inappropriées ou illégales : conformément aux conditions d'utilisation d'Anthropic, vous ne devez pas employer l'utilisation de l'ordinateur pour enfreindre des lois ou la politique d'utilisation acceptable.
Examinez et vérifiez toujours attentivement les actions et les journaux d'utilisation de l'ordinateur de Claude. N'utilisez pas Claude pour des tâches nécessitant une précision parfaite ou des informations utilisateur sensibles sans supervision humaine.
L'utilisation de l'ordinateur est un outil côté client. Toutes les captures d'écran, actions de souris, saisies au clavier et tous les fichiers impliqués dans une session sont capturés et stockés dans votre environnement, pas par Anthropic. Anthropic traite les images de capture d'écran et les requêtes d'action en temps réel dans le cadre de l'appel API. La conservation de ces requêtes API est régie par API et conservation des données.
Étant donné que votre application contrôle où et comment les données d'utilisation de l'ordinateur sont stockées, l'utilisation de l'ordinateur est éligible au ZDR. Pour l'éligibilité au ZDR pour toutes les fonctionnalités, consultez API et conservation des données.
L'utilisation de l'ordinateur suit la tarification standard de l'utilisation d'outils. Lors de l'utilisation de l'outil d'utilisation de l'ordinateur :
Surcharge de l'invite système : La version bêta d'utilisation de l'ordinateur ajoute 466 à 499 tokens à l'invite système
Utilisation de tokens de l'outil d'utilisation de l'ordinateur :
| Modèle | Tokens d'entrée par définition d'outil |
|---|---|
| Modèles Claude 4.x | 735 tokens |
Consommation supplémentaire de tokens :
Corrigez les erreurs d'utilisation d'outils les plus courantes grâce à des tableaux de diagnostic symptôme-solution.
Commencez avec l'implémentation complète basée sur Docker
Connectez Claude à des outils et API externes. Découvrez où les outils s'exécutent, quand Claude les appelle et quel outil convient à votre tâche.
Recommandations issues de benchmarks pour la résolution, l'effort de réflexion et la gestion du contexte
Was this page helpful?