Laisser un agent piloter une interface
Captures, clics et saisie sur un logiciel sans API, avec les garde-fous à poser avant la première ligne de code.
Il existe des logiciels qui n'ont pas d'API. Un vieil ERP, un extranet de fournisseur, une console d'administration qui n'a jamais prévu qu'on l'appelle autrement qu'à la souris. Pour ces cas-là, la seule interface disponible est l'écran, et la seule façon d'automatiser est de faire ce que fait un humain : regarder, cliquer, taper.
C'est exactement ce que propose l'outil de pilotage d'interface d'Anthropic. Le modèle reçoit une capture d'écran, renvoie une action, tu l'exécutes, tu renvoies une nouvelle capture. Rien de magique, une boucle. Ce qui est délicat, ce n'est pas la boucle : c'est tout ce qui peut mal tourner quand un modèle a la main sur un vrai clavier.
Ce guide traite les garde-fous en premier, parce que c'est là que se joue la différence entre une automatisation utile et un incident. Le montage technique vient ensuite, et il est plus court que tu ne crois.
Les trois règles avant la première ligne de code
Un environnement isolé, toujours. Une machine virtuelle ou un conteneur dédié, avec le minimum de privilèges. Pas ta session de travail. Un clic mal placé sur ton poste, c'est un fichier supprimé ; sur une VM jetable, c'est un redémarrage.
Aucun identifiant dans un prompt. Ni mot de passe, ni jeton, ni numéro de carte. Tout ce que tu écris dans la conversation entre dans le contexte du modèle, part chez le fournisseur, et peut ressortir dans une réponse. Si un accès est nécessaire, ouvre la session à la main avant de lancer l'agent, ou utilise un profil de navigateur déjà connecté dans la VM.
Une validation humaine avant toute action irréversible. La documentation d'Anthropic est explicite sur ce point : demande une confirmation pour toute décision aux conséquences réelles et pour tout consentement, y compris accepter des conditions générales, valider une transaction ou cliquer sur un bandeau de cookies.
Une page web peut donner des ordres à ton agent
Le modèle lit ce qu'il voit à l'écran. Un texte sur une page, ou même caché dans une image, peut contredire tes instructions et être suivi. Anthropic entraîne le modèle à y résister et fait tourner des classificateurs qui, en cas de suspicion, poussent le modèle à demander confirmation avant de continuer. C'est une couche de défense, pas une garantie. Limiter l'accès internet à une liste de domaines autorisés reste la mesure la plus efficace.
Avant de commencer
- Une clé API Anthropic et Docker installé
- Une machine virtuelle ou un conteneur que tu peux détruire sans regret
- Une tâche répétitive précise, sur un logiciel sans API
1Partir de l'implémentation de référence
N'écris pas la boucle toi-même au début. Anthropic publie une démonstration
complète dans le dépôt anthropics/anthropic-quickstarts, dossier
computer-use-demo : un conteneur Docker avec un affichage virtuel, une
interface web, les implémentations d'outils et la boucle d'agent.
Tu l'utilises pour comprendre la mécanique et voir le modèle travailler en direct, avant de décider ce que tu veux industrialiser.
2Déclarer l'outil
L'outil se déclare comme les autres, avec un en-tête bêta. Il faut aussi indiquer la taille de l'écran, parce que le modèle raisonne en pixels.
curl https://api.anthropic.com/v1/messages \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "anthropic-beta: computer-use-2025-11-24" \
-H "content-type: application/json" \
-d '{
"model": "claude-opus-5",
"max_tokens": 1024,
"tools": [
{
"type": "computer_20251124",
"name": "computer",
"display_width_px": 1280,
"display_height_px": 720,
"display_number": 1
}
],
"messages": [
{"role": "user", "content": "Ouvre le fichier de suivi et lis la premiere ligne."}
]
}'
L'en-tête computer-use-2025-11-24 et le type computer_20251124 vont
ensemble. Ils fonctionnent avec Claude Opus 5, Sonnet 5, Opus 4.8, 4.7, 4.6 et
Sonnet 4.6. Sur des modèles plus anciens, c'est l'en-tête
computer-use-2025-01-24 qu'il faut utiliser.
Point important : ton application exécute les actions, pas le modèle. Il
renvoie screenshot, left_click, type, scroll avec des coordonnées ; à
toi de les traduire en événements réels et de renvoyer le résultat.
3Choisir la bonne résolution
C'est le réglage qui fait le plus de différence sur la précision des clics.
| Usage | Résolution |
|---|---|
| Bureau généraliste | 1024x768 ou 1280x720 |
| Application web | 1280x800 ou 1366x768 |
Si la précision est mauvaise de façon constante, la documentation recommande de repartir de 1280x720 comme référence. Une résolution trop élevée coûte des jetons d'image sans améliorer le résultat.
4Forcer la vérification après chaque action
Le défaut le plus fréquent : le modèle suppose qu'un clic a marché et enchaîne sans regarder. La consigne recommandée dans la documentation est directe.
Apres chaque etape, prends une capture d'ecran et evalue soigneusement si tu
as obtenu le bon resultat. Montre explicitement ton raisonnement :
"J'ai evalue l'etape X...". Si ce n'est pas correct, recommence. Passe a
l'etape suivante seulement quand tu as confirme que la precedente s'est bien
executee.
Autre détail qui compte : dans un tour utilisateur, place le texte de l'instruction avant l'image. Décrire la cible avant que la capture soit traitée améliore la précision des clics.
5Mettre la barrière de validation dans ton code
La consigne « demande-moi avant de valider » est une consigne. Elle peut être ratée. Si une action est irréversible, c'est ton code qui doit s'arrêter, pas le modèle qui doit y penser.
Concrètement : dans la fonction qui exécute les actions, tu interceptes les clics qui tombent dans une zone sensible, ou tu bloques purement le passage à une URL de paiement, et tu rends la main à un humain. Une liste blanche de domaines au niveau du réseau de la VM fait le reste.
Ce que ça coûte
Le pilotage d'interface suit la tarification normale des outils, avec deux suppléments à connaître : la définition de l'outil ajoute environ 735 jetons d'entrée sur les modèles Claude 4.x, et le mode bêta ajoute entre 466 et 499 jetons au prompt système. Le vrai poste, ce sont les captures d'écran : chaque tour en produit une, et chaque image se paie. Une boucle de trente actions, c'est trente images dans le contexte.
Quelques prompts pour aller plus loin
| Objectif | Prompt à adapter |
|---|---|
| Décider si le pilotage d'écran est justifié | Voici la tache que je veux automatiser : [DESCRIPTION]. Le logiciel expose-t-il une API, un export CSV ou une URL directe qui rendrait le pilotage d'ecran inutile ? Reponds "non" si tu n'en trouves pas. |
| Écrire la boucle de vérification | Voici ma boucle d'agent. Ajoute une verification apres chaque action : capture d'ecran, comparaison avec le resultat attendu, nouvelle tentative si l'ecart est visible, abandon apres 3 essais. |
| Lister les actions irréversibles | Voici le parcours que l'agent doit suivre dans cette application : [ETAPES]. Liste chaque etape dont l'effet est irreversible ou engage juridiquement, et qui doit donc passer par une validation humaine. |
| Construire la liste blanche | Voici la tache. Liste les domaines strictement necessaires pour l'accomplir. Pour chacun, dis pourquoi. Ne propose aucun domaine "au cas ou". |
| Réduire le coût | Voici la trace d'une session de pilotage d'ecran : [N] captures pour [M] actions utiles. Propose 3 facons de reduire le nombre de captures sans perdre la verification. |
Tu as d’autres ressources comme ça ?
Ce que tu viens de lire est entièrement gratuit. Une nouvelle ressource part chaque semaine dans la newsletter : guides, modèles à copier et liens triés, sans compte à créer.
Me contacter
Une question, un projet, une envie de collaborer ? Écris-moi.
Cette page est en accès libre, n’hésite pas à la partager.