Computer use : automatiser un logiciel sans API
Sur cette page
Objectifs
À l’issue de cette leçon, vous serez capable de :
- Expliquer qui exécute quoi quand Claude utilise un ordinateur
- Déclarer la boîte à outils computer use et renvoyer correctement ses résultats
- Isoler l’environnement pour limiter les dégâts d’une mauvaise action
Le logiciel sans porte d’entrée
La plupart des entreprises ont au moins une application sans API ni ligne de commande : seulement des fenêtres et des boutons. Chez Ingénova, c’est un vieux gestionnaire de plans, « ArchiPlan » (fictif), où quelqu’un passe chaque vendredi à cliquer sur les mêmes écrans pour exporter des jeux de plans en PDF. Les outils des leçons précédentes ne peuvent rien pour lui : il n’y a rien à appeler.
Computer use permet à Claude d’utiliser ce logiciel comme une personne : en regardant des captures d’écran et en décidant où cliquer et quoi taper.
Qui fait quoi
Par l’API, Claude ne se connecte jamais au bureau. Il produit seulement des réponses contenant des appels d’outils. Votre programme exécute chaque action sur le bureau et renvoie le résultat : c’est votre boucle d’outils habituelle, sauf que certains résultats sont des captures d’écran. Computer use est un outil client : Anthropic traite les captures et les demandes d’action en temps réel, mais n’héberge pas l’environnement.
Une exportation typique : une capture pour trouver la fenêtre, un clic dans le champ du numéro de projet, la saisie du numéro, un clic sur « Ouvrir », une capture pour vérifier le projet chargé, un clic sur « Exporter en PDF », une capture finale pour confirmer.
Déclarer la boîte à outils
La forme actuelle est la boîte à outils computer use, sans en-tête bêta : une seule entrée, sans nom ni dimensions d’écran, qui donne à Claude 17 outils membres. Elle est disponible sur l’API Claude, Google Cloud, Amazon Bedrock, Claude Platform on AWS et Microsoft Foundry ; par l’API InvokeModel de Bedrock, elle est en bêta.
OUTILS = [{"type": "computer_toolset_20260801"}]
Ses membres (screenshot, left_click, type, zoom…) sont tous actifs par défaut ; une table configs facultative permet d’en désactiver. Les appels de Claude sont des blocs tool_use dont le name est le membre appelé, avec "toolset_name": "computer", souvent plusieurs par tour. Renvoyez un tool_result par appel, dans le message utilisateur suivant, en reprenant "toolset_name": "computer" ; seules screenshot et zoom attendent une image, un simple "OK" suffit pour les autres. Les coordonnées s’expriment dans l’espace en pixels des captures complètes que vous renvoyez.
resultats = []
for appel in (b for b in reponse.content if b.type == "tool_use"):
if appel.name in ("screenshot", "zoom"):
contenu = [{"type": "image", "source": {"type": "base64", "media_type": "image/png", "data": capture_png_base64()}}]
else:
executer_sur_le_bureau(appel.name, appel.input) # votre pilote : VNC, xdotool…
contenu = "OK"
resultats.append({"type": "tool_result", "tool_use_id": appel.id, "toolset_name": "computer", "content": contenu})
messages.append({"role": "assistant", "content": reponse.content})
messages.append({"role": "user", "content": resultats})
Compatibilité : les modèles Claude 5.5 et suivants passent par cette boîte à outils. Sur l’API Claude, ils renvoient une erreur 400 pour l’ancienne version computer_20251124 ; sur Amazon Bedrock, Opus 5.5, Sonnet 5.5 et Haiku 5.5 l’acceptent encore, avec l’en-tête bêta computer-use-2025-11-24. Les modèles plus anciens, comme Claude Opus 4.7 ou Sonnet 4.6, ne connaissent que computer_20251124, avec cet en-tête. Les deux formes ne peuvent pas coexister dans une même requête.
Isoler l’environnement
Une action erronée sur un vrai poste peut faire de vrais dégâts. Les précautions recommandées par la documentation :
- un conteneur ou une machine virtuelle dédiés, avec un minimum de privilèges, un par session ;
- aucune donnée sensible ni identifiant de connexion dans l’environnement, aucun répertoire de l’hôte monté ;
- un accès Internet limité à une liste de domaines autorisés, ceux dont la tâche a besoin ;
- votre programme et votre clé d’API hors de l’environnement piloté ;
- une confirmation humaine pour toute décision aux conséquences réelles : accepter des conditions, effectuer une transaction, envoyer un message.
L’angle sécurité (ajout de Corsen) — Tout ce qui s’affiche à l’écran est une entrée non fiable : une page web ou un document ouvert peut contenir des instructions destinées au modèle. C’est une raison de plus pour ne jamais laisser un agent de ce type agir avec des accès réels sans confirmation humaine.
Réservez computer use aux logiciels qui n’offrent aucune autre porte d’entrée : une API, même partielle, est plus rapide, moins chère et plus fiable.
À vous de jouer
Cartographier une tâche répétitive.
- Choisissez une tâche répétitive dans un logiciel sans API.
- Écrivez la suite d’actions attendue, capture par capture.
- Décrivez l’environnement isolé : conteneur, réseau autorisé, absence d’identifiants, et les étapes qui exigeront une confirmation humaine.
Sources officielles : Computer use tool (documentation Claude : boîte à outils, résultats, versions, plateformes, sécurité) · How tool use works (documentation Claude : outils clients)
Points clés à retenir
- Claude ne touche jamais le bureau : votre programme exécute chaque action et renvoie le résultat, captures comprises
computer_toolset_20260801: une entrée sans nom ni dimensions ; chaque résultat reprendtoolset_name: "computer"- Les modèles Claude 5.5 passent par la boîte à outils ; sur l’API Claude, l’ancienne version
computer_20251124leur renvoie une erreur 400 - Environnement dédié, sans identifiants, réseau restreint, et confirmation humaine pour les actions qui engagent