Sandbox API:AI 代理的隔離程式碼執行

代理式工作流程通常需要確定性執行。當代理需要執行統計分析、產生圖表、驗證計算或轉換資料集時,它需要具備精確輸出的確定性執行。代理會推理由什麼來運算。沙箱則負責運算。

專為 Perplexity 打造,現已作為服務提供

我們打造沙箱是為了在內部支援此模式。Perplexity Computer、我們的財務代理 (Finance Agent) 以及深入研究 (Deep Research) 都在沙箱環境內執行程式碼。Computer 每分鐘執行數千個工作階段。財務代理使用沙箱進行即時市場資料計算。深入研究則在工作流程中段使用它來進行檔案產生、資料處理和格式轉換。Sandbox API 使相同的執行環境能夠作為獨立服務使用。

具備持久性檔案系統的有狀態工作階段

每個工作階段都在其專屬的隔離 Kubernetes pod 中執行。開發人員無需管理任何底層基礎設施:我們負責處理資源配置、網路和清理。支援的語言包括 Python、JavaScript 和 SQL,並且每個工作階段都可安裝執行階段套件。

工作階段是有狀態的。持久性檔案系統是透過 FUSE 掛載的。FUSE 常駐程式會攔截檔案操作並為代理進行轉譯:讀取、寫入、列出檔案,以及追蹤自建立工作階段以來的修改。在一個步驟中建立的檔案可在後續步驟中使用。長時間執行的工作流程可以暫停,數小時後恢復,並在完整狀態保持完好的情況下繼續執行。每個工作階段最多支援五個背景處理程序。

預設採用零信任

安全架構預設假設程式碼不受信任。沙箱沒有直接的網路存取權。當需要對外連線時,流量會透過在沙箱外部執行的出口代理伺服器進行路由。代理伺服器透過目的網域符合對外要求,並注入適當的憑證。在沙箱內執行的程式碼永遠無法存取原始 API 金鑰或機密。內建逾時與資源限制強制執行了執行邊界。

作為協調層的 Agent API

Sandbox API 將作為 Agent API 中的一項工具提供,允許協調執行階段在工作流程中段委派給確定性程式碼執行。代理決定要運算的內容、分派至沙箱、觀察輸出並繼續其推理迴圈。相同的 API 金鑰,相同的點數額度。

Sandbox API 即將推出。我們將很快開放私人 Beta 版,說明文件請參閱 docs.perplexity.ai