Tout agent qui écrit du code finit par devoir l'exécuter. C'est tout l'intérêt d'un tel agent — et c'est aussi la partie inconfortable. Le modèle vient de produire un script qu'il n'a jamais lancé : il installe des paquets que personne n'a relus et touche des fichiers que personne n'a listés. Lancer ça à côté de vos clés SSH et du .env de production, c'est un pari que vous faites plusieurs fois par jour.
Une sandbox rend ce pari bon marché. Le code obtient sa propre machine Linux pour quelques secondes ou minutes, puis la machine disparaît.
Ce que reçoit l'agent
Chaque sandbox est une Firecracker microVM : son propre noyau, son propre système de fichiers, son propre espace de noms réseau. Ce n'est pas un conteneur qui partage votre noyau, ni un dossier sur votre serveur. Elle démarre en une seconde environ, ce qui compte quand un agent en lance une par tâche et non une par jour.
Dedans : Python 3.12 avec pip, Node.js 22 avec npm, bash, git et curl. L'Internet sortant fonctionne — l'agent peut faire pip install pandas ou cloner un dépôt. L'entrant non : aucun port ouvert, pas de SSH. Commandes, fichiers et sorties passent par notre API, et c'est la seule porte.
Trois façons d'y accéder :
- MCP — si votre agent vit dans Claude, Cursor, Cline ou un autre client compatible MCP, il obtient les outils de sandbox à côté des outils VPS. Aucun code de votre côté.
- SDK Python ou TypeScript —
pip install eqvpsounpm i @eqvps/sdk, puis créer, exécuter, supprimer. - REST simple — documenté dans la documentation des sandboxes et la spécification OpenAPI.
Une boucle minimale en Python :
from eqvps import Sandbox
with Sandbox.create(tariff="small") as sb:
sb.upload("/root/task.py", agent_generated_code)
result = sb.exec("python3 /root/task.py", timeout=55)
print(result.exit_code, result.stdout[-2000:])
# the sandbox is deleted here, also if anything above raised
Un code de sortie non nul revient comme un résultat normal, pas comme une exception. C'est exactement ce qu'il faut quand l'agent doit lire la traceback et réessayer.
Les cas dangereux, et ce qu'il en advient
Un paquet hostile ou simplement cassé. Il tourne dans une VM qui ne contient rien à vous. Supprimez la sandbox, il a disparu.
Les secrets. Ne mettez pas vos clés d'API principales dans le code que l'agent écrit. Si une tâche en a vraiment besoin, passez-la en variable d'environnement de la sandbox : les valeurs sont stockées chiffrées, jamais journalisées, et l'API ne renvoie que leurs noms.
Les boucles infinies. Chaque commande s'arrête au bout de 55 secondes, sauf si vous l'avez lancée en tâche de fond. Une sandbox éphémère inactive se supprime d'elle-même après son délai d'inactivité (5 minutes par défaut). Une limite de dépense quotidienne ou mensuelle bloque les nouvelles sandboxes quand l'agent a assez dépensé pour la journée.
L'exfiltration. Soyons francs : l'Internet sortant est ouvert, parce que sans lui pip install ne marche pas. Une sandbox protège votre machine ; elle n'empêche pas le code d'envoyer sur Internet tout ce qu'il peut lire dans la sandbox. La règle est donc simple : n'y mettez que ce que vous acceptez de perdre.
Choisir un tarif
| Tarif | vCPU / RAM | Par heure | Idéal pour |
|---|---|---|---|
| micro | 0.25 / 512 Mo | $0.0165 | scripts ponctuels, vérifications de données |
| small | 0.5 / 1 Go | $0.033 | la plupart du code d'agent, pip install |
| standard | 1 / 2 Go | $0.066 | pandas, suites de tests |
| plus | 2 / 4 Go | $0.132 | installations lourdes (torch), builds |
La facturation se fait à la seconde avec un minimum de 60 secondes, sur le même solde prépayé que nos VPS. Une tâche d'agent typique — créer, installer deux paquets, exécuter, supprimer — tient en moins d'une minute sur small ; elle est donc facturée au minimum de 60 secondes : environ $0.0006. Honnêtement, pour un agent qui exécute du code quelques centaines de fois par jour, la facture des sandboxes est la plus petite ligne du budget ; les tokens du LLM coûtent bien plus.
Quand une sandbox n'est pas le bon outil
Si l'agent doit servir quelque chose — une application web, un récepteur de webhooks, un bot qui écoute des messages —, une sandbox ne convient pas, car rien ne peut l'atteindre de l'extérieur. Même chose pour un service censé tourner des mois. C'est un travail de VPS : voir VPS pour agents IA. Un schéma courant : l'agent vit sur un petit VPS et crée une sandbox pour chaque morceau de code qu'il n'a jamais vu.
L'autre limite, c'est le calcul lourd et prolongé. Une sandbox maintenue à pleine charge CPU plus de 15 minutes est considérée comme un abus ; les longs calculs ont leur place sur un serveur loué au mois.
Pour commencer
Créez un compte, récupérez un jeton et lancez votre première sandbox — le guide de connexion détaille chaque étape, et les nouveaux comptes reçoivent $1 de temps de sandbox pour essayer. Ensuite, pointez l'agent vers la page des sandboxes ou les outils MCP, et laissez-le casser des choses là où casser ne coûte rien.
Pas à pas : votre première tâche d'agent dans une sandbox. Voir aussi : tests CI isolés, évaluation de LLM et revue de code et vérification de PR.
Commentaires
Pas encore de commentaires. Soyez le premier.