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 en version bêta et nécessite un en-tête bêta :
"computer-use-2025-11-24" pour 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-use-2025-01-24" pour Claude Sonnet 4.5, Claude Haiku 4.5, Claude Opus 4.1 (déprécié), Claude Sonnet 4 (retiré, sauf sur Bedrock et Google Cloud) et Claude Opus 4 (retiré, sauf sur Google Cloud)Contactez-nous via le formulaire de retour pour partager vos commentaires sur cette fonctionnalité.
Cette fonctionnalité est éligible à la Zero Data Retention (ZDR). Lorsque votre organisation dispose d'un accord ZDR, les données envoyées via cette fonctionnalité ne sont pas stockées après le retour de la réponse de l'API.
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 augmentée avec 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 les 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 avec des risques uniques distincts des fonctionnalités API standard. Ces risques sont accrus 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 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 à faire 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 du 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-4-8", # 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)Un en-tête bêta n'est requis que pour l'outil d'utilisation de l'ordinateur.
L'exemple précédent 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.
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'outil.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'outil 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 les 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 un gestionnaire de fenêtres (Mutter) et un 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. À la place, 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 l'assistant de traitement des appels d'outils défini 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 en raison d'une 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.Si vous rencontrez de manière répétée 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.
Pour les agents qui s'étendent sur plusieurs sessions, exécutez une vérification de bout en bout au début de chaque session, pas seulement après l'implémentation. Les vérifications basées sur le navigateur détectent les régressions des sessions précédentes que la revue au niveau du code seule manque. Consultez Effective harnesses for long-running agents pour plus de détails.
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 ultérieur)
Disponibles dans computer_20250124 et computer_20251124 :
Actions améliorées (computer_20251124)
Disponibles dans 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 des 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 | Active 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 |
Important : Votre application doit exécuter explicitement l'outil d'utilisation de l'ordinateur ; 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 saisies au clavier et des autres actions en fonction des requêtes de Claude.
Pour combiner l'utilisation de l'ordinateur avec la réflexion étendue, consultez Réflexion étendue.
Pour l'utilisation de l'ordinateur spécifiquement, les tests de performance internes suggèrent ces paramètres d'effort :
high par défaut ; utilisez low pour les charges de travail à haut débit ou sensibles aux coûts.medium par défaut (meilleur rapport précision/coût). Évitez max, qui ajoute un coût en tokens sans améliorer la précision sur les tâches d'interface utilisateur. Sur ces modèles, low utilise moins de tokens de sortie que la désactivation complète de la réflexion (moins d'erreurs signifie moins de nouvelles tentatives), ce qui en fait une option solide pour les boucles sensibles aux coûts.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'édition 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 se fier à 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.
Les limites varient selon le modèle. Claude Sonnet 5, Claude Opus 4.8 et Claude Opus 4.7 acceptent jusqu'à 2576 pixels sur le bord le plus long ; les modèles antérieurs acceptent jusqu'à 1568 pixels sur le bord le plus long et environ 1,15 mégapixel au total. L'exemple suivant utilise les limites des modèles antérieurs de 1568 px / 1,15 MP ; remplacez-les par la limite de votre modèle.
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 remettez à l'échelle 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)Les écrans Retina macOS capturent les captures d'écran avec un ratio de pixels de périphérique de 2, donc l'image a une résolution deux fois supérieure aux coordonnées logiques de l'écran. Soit réduisez la capture d'écran de 2x avant de l'envoyer, soit divisez par deux les coordonnées renvoyées par Claude avant d'émettre le clic.
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 Soumettre 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 |
Le choix du modèle affecte la précision des clics. Claude Sonnet 4.6 est mécaniquement plus précis pour cliquer que Claude Opus 4.6 et est plus robuste lorsque les captures d'écran nécessitent une forte réduction. Claude Opus 4.7 réduit cet écart : sa précision de clic est à peu près comparable à celle de Sonnet 4.6, et sa limite de résolution plus élevée signifie qu'une réduction moindre est nécessaire.
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 classiques 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 faire des erreurs ou halluciner lors de la production 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 faire 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 plus faible 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 bêta d'utilisation de l'ordinateur. Dans certaines circonstances, Claude suivra les 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 à faire des erreurs. Envisagez ce qui suit :
Actions inappropriées ou illégales : En vertu des Conditions d'utilisation d'Anthropic, vous ne devez pas employer l'utilisation de l'ordinateur pour violer 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 surveillance 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 de l'utilisation de l'ordinateur ajoute 466 à 499 tokens à l'invite système
Consommation 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 de tokens supplémentaire :
Si vous utilisez également les outils bash ou d'éditeur de texte en parallèle de l'utilisation de l'ordinateur, ces outils ont leurs propres coûts en tokens, comme documenté dans leurs pages respectives.
Corrigez les erreurs d'utilisation d'outils les plus courantes avec 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 tests de performance pour la résolution, l'effort de réflexion et la gestion du contexte
Was this page helpful?