Écrit par

Équipe Perplexity

Publié le

Les workflows agentiques nécessitent fréquemment une exécution déterministe. Lorsqu’un agent doit effectuer 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 sorties exactes. L’agent raisonne sur ce qu’il faut calculer. Le Sandbox l’exécute.

Conçu pour Perplexity, désormais disponible en tant que service

Nous avons conçu le Sandbox pour prendre en charge ce modèle en interne. Perplexity Computer, notre Finance Agent et Deep Research exécutent tous du code dans des environnements sandboxés. Computer exécute des milliers de sessions par minute. Le Finance Agent utilise Sandbox pour les calculs sur les données de marché en temps réel. Deep Research l’utilise pour la génération de fichiers, le traitement des données et la conversion de formats en cours de workflow. Sandbox API rend le même environnement d’exécution disponible en tant que 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 rien de l’infrastructure sous-jacente : nous nous chargeons du provisionnement, du réseau et du nettoyage. Les langages pris en charge sont Python, JavaScript et SQL, avec l’installation de packages à l’exécution disponible pour chaque session.

Les sessions conservent leur é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 à une étape sont disponibles aux étapes suivantes. Les workflows de longue durée peuvent être mis en pause, reprendre des heures plus tard et repartir avec l’état intégralement intact. Chaque session prend en charge jusqu’à cinq processus en arrière-plan.

Zero-trust par défaut

L’architecture de sécurité part du principe que le code n’est pas fiable par défaut. Les sandboxes n’ont aucun accès réseau direct. Lorsqu’une connectivité sortante est nécessaire, le trafic passe par un proxy de sortie exécuté en dehors du sandbox. Le proxy fait correspondre les requêtes sortantes selon le domaine de destination et injecte les identifiants appropriés. Le code exécuté à l’intérieur du sandbox n’a jamais accès aux clés API brutes ni aux secrets. Des délais d’expiration et des limites de ressources intégrés imposent des bornes d’exécution.

Agent API comme couche d’orchestration

Sandbox API sera disponible en tant qu’outil au sein d’Agent API, permettant à l’environnement d’exécution d’orchestration de déléguer à une exécution de code déterministe en cours de workflow. L’agent décide de ce qu’il faut calculer, délègue à Sandbox, observe le résultat, puis poursuit sa boucle de raisonnement. Même clé API, même nombre de crédits.

Sandbox API arrive bientôt. Nous ouvrirons prochainement une bêta privée, avec la documentation sur docs.perplexity.ai

Les workflows agentiques nécessitent fréquemment une exécution déterministe. Lorsqu’un agent doit effectuer 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 sorties exactes. L’agent raisonne sur ce qu’il faut calculer. Le Sandbox l’exécute.

Conçu pour Perplexity, désormais disponible en tant que service

Nous avons conçu le Sandbox pour prendre en charge ce modèle en interne. Perplexity Computer, notre Finance Agent et Deep Research exécutent tous du code dans des environnements sandboxés. Computer exécute des milliers de sessions par minute. Le Finance Agent utilise Sandbox pour les calculs sur les données de marché en temps réel. Deep Research l’utilise pour la génération de fichiers, le traitement des données et la conversion de formats en cours de workflow. Sandbox API rend le même environnement d’exécution disponible en tant que 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 rien de l’infrastructure sous-jacente : nous nous chargeons du provisionnement, du réseau et du nettoyage. Les langages pris en charge sont Python, JavaScript et SQL, avec l’installation de packages à l’exécution disponible pour chaque session.

Les sessions conservent leur é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 à une étape sont disponibles aux étapes suivantes. Les workflows de longue durée peuvent être mis en pause, reprendre des heures plus tard et repartir avec l’état intégralement intact. Chaque session prend en charge jusqu’à cinq processus en arrière-plan.

Zero-trust par défaut

L’architecture de sécurité part du principe que le code n’est pas fiable par défaut. Les sandboxes n’ont aucun accès réseau direct. Lorsqu’une connectivité sortante est nécessaire, le trafic passe par un proxy de sortie exécuté en dehors du sandbox. Le proxy fait correspondre les requêtes sortantes selon le domaine de destination et injecte les identifiants appropriés. Le code exécuté à l’intérieur du sandbox n’a jamais accès aux clés API brutes ni aux secrets. Des délais d’expiration et des limites de ressources intégrés imposent des bornes d’exécution.

Agent API comme couche d’orchestration

Sandbox API sera disponible en tant qu’outil au sein d’Agent API, permettant à l’environnement d’exécution d’orchestration de déléguer à une exécution de code déterministe en cours de workflow. L’agent décide de ce qu’il faut calculer, délègue à Sandbox, observe le résultat, puis poursuit sa boucle de raisonnement. Même clé API, même nombre de crédits.

Sandbox API arrive bientôt. Nous ouvrirons prochainement une bêta privée, avec la documentation sur docs.perplexity.ai

Partagez cet article