API du bac à sable : exécution de code isolée pour les agents IA

Les flux de travail d'agents nécessitent souvent une exécution déterministe. Lorsqu'un agent doit exécuter une analyse statistique, générer un graphique, valider un calcul ou transformer un ensemble de données, il a besoin d'une exécution déterministe avec des résultats exacts. L'agent raisonne sur ce qu'il doit calculer. Le bac à sable effectue le calcul.
Conçu pour Perplexity, désormais offert comme service
Nous avons créé le bac à sable pour prendre en charge ce modèle à l'interne. Perplexity Computer, notre agent financier et Recherche approfondie exécutent tous du code dans des environnements isolés. Computer exécute des milliers de sessions par minute. L'agent financier utilise le bac à sable pour les calculs de données de marché en temps réel. Recherche approfondie l'utilise pour la génération de fichiers, le traitement des données et la conversion de formats au milieu d'un flux de travail. L'API du bac à sable rend le même environnement d'exécution disponible sous forme de service autonome.
Sessions avec état et systèmes de fichiers persistants
Chaque session s'exécute dans son propre pod Kubernetes isolé. Le développeur ne gère aucune infrastructure sous-jacente : nous nous occupons du provisionnement, du réseau et du nettoyage. Les langages pris en charge sont Python, JavaScript et SQL, avec l'installation de paquets d'exécution disponible par session.
Les sessions ont un état. Un système de fichiers persistant est monté via FUSE. Le démon FUSE intercepte les opérations sur les fichiers et les traduit pour l'agent : lecture, écriture, listage des fichiers et suivi des modifications depuis la création de la session. Les fichiers créés en une étape sont disponibles dans les étapes suivantes. Les flux de travail de longue durée peuvent s'interrompre, reprendre des heures plus tard et reprendre avec l'état complet intact. Chaque session prend en charge jusqu'à cinq processus en arrière-plan.
Confiance zéro par défaut
L'architecture de sécurité suppose par défaut du code non sécurisé. Les bacs à sable n'ont pas d'accès direct au réseau. Lorsqu'une connectivité sortante est requise, le trafic achemine par un mandataire de sortie s'exécutant à l'extérieur du bac à sable. Le mandataire fait correspondre les requêtes sortantes par domaine de destination et injecte les justificatifs appropriés. Le code exécuté à l'intérieur du bac à sable n'a jamais accès aux clés API brutes ni aux secrets. Des délais d'attente intégrés et des limites de ressources imposent des limites d'exécution.
API d'agent comme couche d'orchestration
L'API du bac à sable sera offerte comme outil au sein de l'API d'agent, ce qui permettra au moteur d'exécution d'orchestration de déléguer l'exécution de code déterministe au milieu d'un flux de travail. L'agent décide de ce qu'il faut calculer, transmet au bac à sable, observe le résultat et poursuit sa boucle de raisonnement. Même clé API, même ensemble de crédits.
L'API du bac à sable sera bientôt offerte. Nous ouvrirons bientôt une version bêta privée, avec la documentation à l'adresse docs.perplexity.ai