Sandbox API: Isoleret kodeeksekvering til AI-agenter

Agentbaserede arbejdsprocesser kræver ofte deterministisk eksekvering. Når en agent har brug for at køre en statistisk analyse, generere et diagram, validere en beregning eller transformere et datasæt, har den brug for deterministisk eksekvering med nøjagtige resultater. Agenten ræsonnerer om, hvad der skal beregnes. Sandboksen beregner det.

Bygget til Perplexity, nu tilgængelig som en tjeneste

Vi byggede sandboxen til at understøtte dette mønster internt. Perplexity Computer, vores finansagent og Dybtgående forskning eksekverer alle kode i sandboxed miljøer. Computer kører tusindvis af sessioner i minuttet. Finansagenten bruger sandbox til live markedsdataberegninger. Dybtgående forskning bruger den til filgenerering, databehandling og formatkonvertering midt i arbejdsprocessen. Sandbox API gør det samme eksekveringsmiljø tilgængeligt som en selvstændig tjeneste.

Tilstandsorienterede sessioner med vedvarende filsystemer

Hver session kører i sin egen isolerede Kubernetes-pod. Udvikleren administrerer intet af den underliggende infrastruktur: vi håndterer klargøring, netværk og oprydning. Understøttede sprog er Python, JavaScript og SQL, med mulighed for installation af runtime-pakker pr. session.

Sessioner er tilstandsorienterede. Et vedvarende filsystem monteres via FUSE. FUSE-dæmonen opfanger filoperationer og oversætter dem for agenten: læsning, skrivning, liste over filer og sporing af ændringer siden sessionsoprettelsen. Filer oprettet i ét trin er tilgængelige i efterfølgende trin. Langtids kørende arbejdsprocesser kan pause, genoptage timer senere og fortsætte med fuld tilstand intakt. Hver session understøtter op til fem baggrundsprocesser.

Nul-tillid som standard

Sikkerhedsarkitekturen antager utroværdig kode som standard. Sandbokse har ingen direkte netværksadgang. Når udgående forbindelser er påkrævet, dirigeres trafikken gennem en udgangsproxy, der kører uden for sandboxen. Proxyen matcher udgående anmodninger efter destinationsdomæne og indsætter de relevante legitimationsoplysninger. Kode, der eksekveres inde i sandboxen, har aldrig adgang til rå API-nøgler eller hemmeligheder. Indbyggede tidsgrænser og ressourcegrænser håndhæver eksekveringsgrænser.

Agent API som orkestreringslag

Sandbox API vil være tilgængelig som et værktøj inden for Agent API, hvilket gør det muligt for orkestrerings-runtimen at delegere til deterministisk kodeeksekvering midt i arbejdsprocessen. Agenten beslutter, hvad der skal beregnes, sender videre til sandbox, observerer resultatet og fortsætter sin ræsonneringsløkke. Samme API-nøgle, samme sæt kreditter.

Sandbox API kommer snart. Vi åbner en privat beta inden længe med dokumentation på docs.perplexity.ai