Skip to main content
Utilisez Sandboxes pour fournir à un agent un bureau Linux qu’il peut piloter à l’aide de captures d’écran, de clics de souris et de saisies au clavier. Dans ce tutoriel, Chromium s’exécute dans un sandbox sans serveur jetable. Un contrôleur Python exécuté sur votre machine envoie des captures d’écran du bureau à l’outil d’utilisation d’ordinateur d’OpenAI, exécute dans le sandbox les actions renvoyées, puis récupère les résultats. Demandez à l’agent de remplir un exemple de formulaire dans le navigateur. Le serveur du formulaire vérifie la soumission de manière indépendante : la réussite ne repose donc pas uniquement sur le rapport d’achèvement fourni par le modèle.

Prérequis

Avant de commencer, assurez-vous de disposer des éléments suivants :
  • Python 3.11, 3.12 ou 3.13 et uv.
  • Une clé API Forge disposant d’un accès aux sandbox. Voir Premiers pas.
  • Une clé API OpenAI disposant d’un accès à gpt-5.6-sol et à l’outil d’utilisation d’ordinateur.
  • Un accès sortant depuis votre contrôleur vers le service de sandbox et l’API OpenAI. Le sandbox installe des paquets depuis les dépôts Debian.
L’exemple demande 2 CPU et 4 gibioctets (Gio) de mémoire, avec une durée de vie maximale du bac à sable de 30 minutes. Comme il sélectionne explicitement le placement sans serveur, il n’est pas nécessaire de déployer d’exécuteur.

Configurer les identifiants d’authentification

Créez un répertoire de travail et lancez Bash pour les invites à saisie masquée :
Dans ce shell, saisissez vos identifiants d’authentification Forge et OpenAI :
Les deux clés restent dans l’environnement local du contrôleur : le script ne les transmet pas à la sandbox. Le contrôleur envoie à l’API du modèle les captures d’écran du bureau ainsi que le prompt de la tâche.

Créer le contrôleur de bureau

Dans votre répertoire de travail, enregistrez l’exemple complet suivant dans le fichier computer_use.py. Il combine trois composants : Chromium s’exécute en tant qu’utilisateur desktop, avec la sandbox du navigateur activée. Le serveur du formulaire écoute sur l’interface de bouclage (loopback) à l’intérieur de la sandbox. Cet exemple ne crée aucun point de terminaison public et n’ouvre aucun navigateur sur votre machine. L’adaptateur valide les coordonnées et les combinaisons de touches, et transmet le texte saisi sous forme d’argument littéral. La boucle s’arrête en cas d’action non prise en charge ou de demande de vérification de sécurité. Elle autorise jusqu’à 20 tours de conversation avec le modèle et vérifie, entre deux tours, qu’un délai de 10 minutes n’est pas dépassé.
computer_use.py

Exécuter et vérifier la tâche

Depuis le même shell, exécutez le contrôleur avec ses dépendances :
Le contrôleur crée une sandbox, installe les paquets de bureau et attend que Chromium charge le formulaire. Le modèle lit ensuite la page, saisit la phrase affichée et sélectionne Verify. L’installation des paquets peut prendre plusieurs minutes. Le nombre de tours de conversation du modèle peut varier. Chaque run enregistre ses résultats dans un nouveau répertoire sous computer-use-results/ : Après un run réussi, le fichier result.json contient "status": "passed", "verified": true et "cleanup": "stopped". Pour voir PASS sur le formulaire, ouvrez le fichier agent/final.png. Avant de conclure à la réussite, le contrôleur contrôle le fichier de vérification du serveur du formulaire. Le contrôleur tente d’arrêter la sandbox dans un bloc finally, y compris lorsque la tâche échoue. Si le nettoyage signale "failed" ou si vous interrompez le contrôleur avant la fin du nettoyage, arrêtez la sandbox à l’aide de l’ID figurant dans le fichier sandbox-id.txt. Remplacez [SANDBOX-ID] par cet ID. Dans le même shell, arrêtez la sandbox :
Si la tâche échoue, examinez la transcription enregistrée et, le cas échéant, le dernier fichier agent/turn-*.png. Des échecs liés à l’API, à l’installation de l’environnement de bureau ou au démarrage du navigateur peuvent survenir avant la création de l’un de ces fichiers, voire des deux. Pour les erreurs de connexion à la sandbox et d’exécution, consultez les articles d’assistance sur CoreWeave Sandboxes.

Étapes suivantes

Pour adapter l’exemple, remplacez le formulaire et la tâche d’exemple par une application que vous contrôlez. Conservez la boucle capture d’écran/action et ajoutez une vérification de réussite propre à l’application. Pour des exécutions répétées, intégrez les paquets de bureau dans une image de conteneur afin de ne pas avoir à les installer au démarrage. Voir Configuration du sandbox. Avant d’utiliser l’agent avec d’autres applications, définissez les destinations et les actions autorisées, et exigez une approbation humaine pour les opérations sensibles. Le prompt d’exemple et la validation des entrées ne limitent pas les sites vers lesquels Chromium peut naviguer. Si vous étendez le contrôleur, consultez les recommandations d’OpenAI sur l’utilisation de l’ordinateur. Pour découvrir d’autres façons de connecter un agent à un sandbox, voir Agents. Pour la gestion du cycle de vie, voir Modèles de nettoyage.
Dernière modification le 15 octobre 2026