SPACE жасау: Ұзақ жұмыс істейтін агенттерге арналған қауіпсіз және тиімді орындау орталары

SPACE – ұзақ жұмыс істейтін agentic жұмыс процестері мен жылдам, оқшауланған кодты іске қосуды қамтамасыз ететін Perplexity компаниясының қауіпсіз, тиімді sandbox платформасы.

АвторларPerplexity Engineering

Жасанды интеллект агенттерінің жұмыс процестері ұзағырақ және көбірек автономды болған сайын, оларды басқаратын модельдер сияқты олар жұмыс істейтін орталар да маңызды бола түседі. Агенттер кодты іске қосу, файл жүйелерін өңдеу және бірнеше сағат немесе күн бойы бірнеше қадамнан тұратын тапсырмаларды орындау сияқты нақты жұмыстарды атқаруы тиіс. Пайдаланушылар агенттердің осы тапсырмаларды орындау үшін қажетті құралдар мен файлдарға қол жеткізгенін қалайды, бірақ сонымен бірге агенттердің қауіпсіздігі бұзылған жағдайда да өз жүйелерінің қорғалған күйінде қалатынына сенімді болғысы келеді. Sandbox – осының бәрін мүмкіндік ететін нәрсе: хост, басқа арендаторлар және құпия деректер қорғалған күйде қалғанда, агент еркін жұмыс істей алатын оқшауланған орта.

Дәстүрлі контейнерге негізделген Sandbox тәсілдері бұл тапсырмалар үшін жасалмаған. Олар әдетте қысқа мерзімді, күйсіз жұмыстарды көздейді және ядроны жалғыз осал нүкте ретінде пайдаланады. Керісінше, агент сеанстары ұзақ мерзімді және күйді сақтайды: агент жай ғана лақтырып тастауға және нолден қайта құруға болмайтын сағаттар бойы жинақталған мәтінмәнді, жұмыс істейтін файл жүйесін және жұмыс істеп тұрған процестерді жинайды. Сонымен қатар, ішкі жұмыс жүктемесі әдепкі бойынша сенімсіз болуы тиіс, бұл қауіпсіздіктің күшейтілген шараларын талап етеді. Ұзақ жұмыс істейтін агент сеанстарына дұшпандық қонақты оқшаулай алатын, оның күйін сақтайтын және сонымен бірге ауқымда жұмыс істей беретін негіз қажет.

Sandbox инженериясындағы басты қиындық қауіпсіздік, функционалдылық және тиімділік арасында жиі туындайтын қайшылықтан туындайды. Мысалы:

Кеңірек қолжетімділікті беру агентке көбірек нәрсе жасауға мүмкіндік береді, бірақ жүйенің көп бөлігін өзіңіз сенбейтін жұмыс жүктемесіне ашады.

Sandbox орталары арасында көбірек бөлісу жасауды жылдамдатады, бірақ шабуыл бетін кеңейтеді.

Жиірек snapshot жасау қалпына келтіруді жақсартады және кері қайтару сияқты мүмкіндіктерді қосады, бірақ уақыт пен сақтау кеңістігін талап етеді.

Кодты іске қосу, Agent Skills пайдалану немесе Computer сұрауларындағы Search as Code құбырларын орындау үшін қажетті сияқты agentic sandbox орталарына үшеуі де қажет. Біз өнімдерімізді қамтамасыз ететін агент инфраструктурасының келесі буынын жасау үшін соңғы бірнеше ай бойы қажырлы еңбек еттік. Бүгін біз SPACE (Sandboxed Platform for Agentic Code Execution) платформасын таныстырамыз: ауқымда қауіпсіз, сенімді және тиімді жұмыс істейтін agentic жұмыс процестері үшін жасалған sandbox платформасы. Өткен айда біз Perplexity Computer жұмысын қамтамасыз ететін sandbox қабаты ретінде SPACE қолдана бастадық. Соңғы аптада ол бірнеше миллион sandbox жасауды және он миллиондаған қайта қосылуды қауіпсіз түрде қолдады, ал қосылу уақыты бұрынғы шешімімізге қарағанда 3-5 есе жылдамырақ болды.

Бұл мақалада SPACE артындағы сәулет және дизайн шешімдері ұсынылған. Бүгінгі таңда Computer сеанстарының 100%-ы қазір SPACE платформасында жұмыс істейді. Біз пайдаланушыларымыз бен әзірлеушілерімізге өз саласындағы ең үздік агенттік орындау ортасын ұсыну үшін бұл платформаны тіпті көбірек беттерде іске қосуға қуаныштымыз.

Сәулет

Жалпы алғанда, жүйе үш қабатқа бөлінген.

Басқару жазықтығы – не болуы керек және қайда болуы керек екенін шешетін жүйенің миы. Ол API шлюзінен және кластер деңгейіндегі күйді басқару модульдерінен тұрады.

Түйін жергілікті қызметтері – басқару жазықтығының жоспарын орындау үшін қажетті жергілікті механизмдер. Олар sandbox өмірлік циклін, сақтауды, желіні қосуды және олардың артындағы артықшылықты операцияларды басқарады.

Sandbox – бұл оқшауланған орындау ортасының өзі. Ол space демонымен біріктірілген виртуалды машина ретінде іске асырылған: жұмыс жүктемесі үшін файл жүйесін, процесті және желіге қолжетімділікті қамтамасыз ететін гость ішіндегі фондық процесс.

SPACE сәулеті үш қабатқа бөлінген: күйсіз басқару жазықтығы; sandbox өмірлік циклін, сақтауды және қауіпсіздік шлюздерін басқаратын түйін жергілікті қызметтері; және sandbox өзі.

Басқару жазықтығы

API шлюзі – кіру нүктесі. Кіріс сұраулар аутентификациядан және авторизациядан өтеді, содан кейін қажетті күй жазбаларына түрлендіріледі.

Басқару жазықтығы жобалау бойынша күйсіз болып табылады, барлық ұзақ мерзімді ақпарат ортақ деректер базасына ауыстырылады. Ол sandbox орталары туралы кластер деңгейіндегі ақпаратты бақылайды, мысалы, олардың қай түйінге тағайындалғаны, қай жерде жұмыс істеп жатқаны және ұзақ мерзімді сақтаймаға сақтық көшірмесі жасалғаны не жасалмағаны. Ол қажетті күйді бақыланатын күймен үздіксіз салыстырады және екеуін біріктіруге бағыттайды. Операциялар идепотентті болып табылады, сондықтан басқару жазықтығы кез келген авариядан, қайта іске қосудан немесе ішінара істен шыққаннан кейін автоматты түрде қалпына келе алады.

Түйін жергілікті қызметтері

Түйін жергілікті қызметтері үлгілерді дайындау, sandbox іске қосу, желіні сымдар арқылы қосу және хост жағындағы орындау ортасы қызметтерін іске қосу сияқты нақты жұмыстарды орындайды. Әрбір түйін онда орналасқан әрбір sandbox ортасын басқаратын демонтердің шағын жиынтығын іске қосады және түйін бұл sandbox орталарының тірі күйлері үшін шындық көзі болып табылады.

Sandbox менеджері қай sandbox орталары жұмыс істеп тұрғанын, кідіртілгенін, тоқтатылғанын немесе тоқтатылғанын, сондай-ақ олардың нақты ресурстарын біледі. Ол артықшылықсыз жұмыс істейді және барлық артықшылықты жұмыстарды түйін менеджеріне, негізгі элементтерді басқаратын жалғыз түбірлік процеске тапсырады. Сақтау жергілікті және ұзақ мерзімді түрде басқарылады: ағымдағы sandbox күйлерінің snapshot түрлері түйінде сақталады, ал том менеджері түйінаралық операцияларды қосу үшін қажетінше snapshot пен үлгілерді объектілік сақтаймаға және одан тасымалдайды. Қауіпсіздік шлюздері sandbox жете алатын нәрселерді қорғайды: тіркелгі деректері менеджері қызмет бойынша авторизация астында тіркелгі деректерін енгізуді басқарады, ал желі шлюзі әрбір sandbox шығыс саясатын мәжбүрлейді.

Sandbox

Sandbox өзі аппараттық оқшаулау шекарасының артында пайдаланушының жұмыс жүктемесін іске қосатын өзінің гость ядросы бар виртуалды машина (ВМ) болып табылады. Әрбір sandbox ортасының өз ядросы болғандықтан, ымыраға келген жұмыс жүктемесі жалғыз осал нүкте ретінде ортақ хост ядросына сүйене алмайды; егер ол өз гость ядросын сәтті пайдаланса да, бұл ымыра басқа жұмыс жүктемелері арқылы таралудың орнына sandbox ВМ шекарасымен шектеледі.

Әрбір виртуалды машинаның ішінде space демоны жұмыс істейді, ол платформаның гость ішінде орындайтын әрбір әрекетін немесе өзгерісін реттейтін жеңіл агент ретінде қызмет етеді. Ол файл жүйесіне қол жеткізуді және процестерді басқаруды басқарады. Ол сондай-ақ гость дайындығы туралы хабарлайды және әрекетті бақылайды, сондықтан платформа sandbox қашан бос тұрып қалғанын біледі және оны кідіртуге немесе қайтарып алуға болады. Ең бастысы, space демоны клиенттермен тікелей сөйлеспейді, керісінше хостпен жеке ВМ ішіндегі арна арқылы қарым-қатынас жасайды. Бұл барлық гость өзара әрекеттесуін бақыланатын жолда сақтайды және sandbox желісін тек жұмыс жүктемесінің шығыс трафигі үшін сақтайды.

Үш тірек: Қауіпсіздік, Функционалдылық және Тиімділік

Әрі қарай, біз SPACE үш тірек бойынша қамтамасыз етуі тиіс негізгі қасиеттерге тоқаламыз: қауіпсіздік, функционалдылық және тиімділік. Жоғарыда айтылғандай, бұл үшеуі бір-біріне қарсы әрекет етеді. Дегенмен, бүгінгі модель мүмкіндіктеріне сай келетін қуатты агенттерді қолдағымыз келсе, олардың ешқайсысында компромиске бара алмаймыз. Қауіпсіздік сенімсіз, мүмкін жаулық жұмыс жүктемесінің хостқа, басқа арендаторларға немесе пайдаланушының құпияларына зиян келтіруіне жол бермейді. Функционалдылық агенттерге қажетті бай өмірлік циклды береді. Тиімділік шектеулі жад, диск және есептеу жағдайында осының бәрін қолжетімді етеді.

Қауіпсіздік: Деректер мен жүйелерді қорғау

Sandbox платформалары sandbox ішінде іске қосылған қате немесе тіпті зиянды код басқа жерлерде зиянды әсерлер тудырмауын қамтамасыз ету үшін күшті қауіпсіздікті қажет етеді. Қатаң шығыс бақылауын қолданбай және құпияларды sandbox сыртында ұстамай, агенттің бір қате қадамы пайдаланушының кілттерін ағызып жіберуі немесе жұмысты сыртқа шығарып жіберуі мүмкін.

SPACE ВМ және хост деңгейіндегі оқшаулауды қатаң бақыланатын байланыс арналарымен, тіркелгі деректерін басқарумен және шифрлаумен біріктіру арқылы көп деңгейлі қауіпсіздікті қамтамасыз етеді.

SPACE sandbox орталары үшін қауіпсіздікті қамтамасыз етуге көп деңгейлі тәсілді қолданады. Sandbox оқшаулауының екі компоненті бар: ВМ оқшаулауы және хост ОС процесін оқшаулау. Sandbox орталары арасындағы қолжетімділік үшін екеуі де бұзылуы тиіс. Sandbox пен байланыс қатаң бақыланады; процестер тек арнайы арналар арқылы ғана қарым-қатынас жасай алады. Желілік шлюз барлық шығыс трафикті өзі арқылы мәжбүрлейді. space демоны (сенімсіз) sandbox пен (сенімді) платформа арасындағы жалғыз рұқсат етілген арна болып табылады.

Тіркелгі деректері агент оларды ұрлай алатын жерде ешқашан сақталмайды. Тіркелгі деректерін сақтау орны sandbox шекарасының сыртында орналасқан және тіркелгі деректерінің өмірлік цикліне жауап береді. Ол қосылатын қойма сервері арқылы құпияларды сақтайды және алады, иерархиялық ауқымды пайдалана отырып тіркелгі деректерін шешеді, енгізу әдісі мен қолданылу мерзімінің аяқталуы сияқты метадеректерді басқарады, сондай-ақ барлық қолжетімділікке жылдамдық шектеулері мен аудит журналдарын жүргізуді қолданады. Қажет болған жағдайда, тіркелгі деректері sandbox ішіне тікелей кірудің орнына, желі деңгейінде енгізіледі немесе браузер агенті арқылы автоматты түрде толтырылады.

Деректер тыныштық күйінде қорғалған. SPACE сыртта сақталатын деректерді қорғау үшін BYOK (Bring Your Own Key) қолдайды. Шифрлау кілттері тұтынушының кілттерді басқару қызметінен келеді және sandbox ішіне ешқашан кірмейді. Егер кәсіпорын кілтті кері қайтарып алса, олардың деректері оқылмайтын болады.

Функционалдылық: Agentic жұмыс процестерін қуаттау

Agentic жұмыс процестерін қолдау үшін sandbox орталарына бай өмірлік цикл қолдауы қажет. Олар жылдам және ауқымда жасалуы тиіс, өйткені агент бірден көбісін іске қосуы мүмкін және олардың ешқайсысының жүктелуін күтпеуі тиіс. Олар белгісіз мерзімге сақталуы тиіс, өйткені сеанс бірнеше минутқа созылуы немесе айлар бойы жұмыс істеуі мүмкін. Олар таза түрде кідіртуі тиіс, кейде ұзақ уақыт бойы, мысалы, тапсырма адамның енгізуін күтіп тұрғанда. Олар сондай-ақ тармақталуды, кері қайтаруды және авариядан кейін қалпына келтіруді қолдауы тиіс, осылайша сеанс басталмай, қайта бастаудың орнына тармақтала алады, қате қадамды жоя алады немесе ақаудан кейін жалғастыра алады.

SPACE жоғарыда аталғандардың барлығын қолдайды. Ол sandbox толық өмірлік циклін нақты күй машинасы ретінде модельдейді, бұл жасау, кідірту, жалғастыру, тоқтату және қалпына келтіру сияқты операцияларды мүмкін етеді.

Sandbox күйлері мен күй ауысуларының бұл негізгі жиынтығы бай өмірлік цикл қолдауын қамтамасыз етеді.

Snapshot түрлері – осы мүмкіндіктердің көпшілігінің астындағы механизм. Жоспарлаушы тұрақты аралықпен жұмыс істейді және snapshot түрлерінің екі түрін түсіреді: диск snapshot түрлері (файл жүйесінің белгілі бір уақыттағы көшірмелері) және толық snapshot түрлері (бүкіл кідіртілген ВМ бақылау нүктелері). Диск snapshot түрлері жиі түсіріледі, ал толық бақылау нүктелері сирегірек болады. Барлығы түйінде қалады, ал сақтау мерзімі деңгей бойынша азаяды. Бұл snapshot түрлерін сеанс ішінде қалпына келтіру үшін пайдалануға болады; мысалы, диск snapshot түрлерін жойқын команданы жою үшін файл жүйесін кері қайтару үшін пайдалануға болады, ал толық бақылау нүктелері істен шыққан sandbox ортасына суық дискінің орнына соңғы жұмыс істеп тұрған нүктеден жалғастыруға мүмкіндік береді.

Sandbox тоқтатылған кезде, ВМ кідртіледі, толық snapshot жасалады және толық snapshot артефактілері объектілік сақтаймаға жүктеледі. Деректер базасының жолы snapshot түрін бақылайды және әрбір артефакт түскеннен кейін ғана қалпына келтірілетін болады, сондықтан ішінара жүктелген snapshot ешқашан бүлінген күйге қайта жалғана алмайды. Қалпына келтіру – тоқтатудың кері әрекеті. Snapshot бастапқы түйінде емес, объектілік сақтаймада болатындықтан, кез келген түйін sandbox ортасын қайта әкеле алады. Жоспарлаушы түйінді таңдайды, сол түйін артефактілерді жүктеп алады, үлгінің үстіне файл жүйесінің делтасын қайта қолданады және ВМ оның түсірілген күйінен жалғастырады.

Тиімділік: Уақыт пен кеңістікті оңтайландыру

Жоғарыдағы мүмкіндіктерді вакуумда іске асыру жеткіліксіз; олар сонымен қатар қатаң ресурс шектеулері астында мүмкін болуы тиіс. Түйіндегі жад пен диск шектеулі, ал пайдаланушылар агенттердің мүмкіндігінше жылдам жұмыс істеуін қалайды, сондықтан өмірлік цикл операциялары уақыт пен кеңістік тұрғысынан арзан болуы тиіс. Sandbox жасалған, кідіртілген vagy тармақталған сайын толық машина образын көшіруге мүмкіндігіміз жоқ.

Негізгі дизайн таңдауы мұны мүмкін етеді: файл жүйесі. SPACE sandbox сақтау орны үшін түйіндегі файл жүйесі ретінде btrfs пайдаланады. Btrfs (B-tree filesystem) жазылған кезде көшіру файл жүйесін біріктірілген логикалық томды басқарумен біріктіреді. Бұның бірнеше артықшылығы бар:

Reflink көшірмелері жылдам, өйткені сіз негізгі экстенттерді бөлісесіз, сондықтан тек метадеректерді көшіру қажет.

Snapshot түрлері атомдық және жылдам, өйткені сіз жай ғана жаңа түбір жасайсыз.

Тек өзгерген нәрсені сақтайтындықтан, ең аз сақтау орны қажет.

Нәтижесінде sandbox орталарын жылдам жасауға және қалпына келтіруге болады. Әр жолы нолден sandbox жасаудың орнына, біз дискіде жиі қолданылатын үлгілер материалы бар подтардың жылы бассейнін ұстаймыз және сұрауды үлгісі сәйкес келетін подқа байлау арқылы орындаймыз. Бұл sandbox ортасына өзінің жазылатын түбірлік файл жүйесін беру толық көшірменің орнына жазылған кезде көшіру клоны болып табылады. Ешбір жылы под сәйкес келмеген кезде, біз үлгіні сұраныс бойынша жасаймыз; біз бірдей кескін үшін бір мезгілдегі сұрауларды бір жүктеуге біріктіреміз, сондықтан бірдей сұраулардың жарылысы бірдей жұмыстың жарылысына айналмайды.

Нәтижесі – қуатты, жеңіл және өте жылдам sandbox орындау ортасы. SPACE платформасын іске қосқан кезде, оны сол өндірістік трафикте бұрынғы sandbox провайдерімізбен қатар іске қостық. Іске қосу аптасы бойы SPACE тарату барысында sandbox орталарын үш-бес есе жылдам жасады. Атап айтқанда, медианалық жасау кідірісі 185 миллисекундтан 60 миллисекундқа дейін төмендеді (3.1 есе жақсарту), ал 90-шы проценттік кідіріс 447 миллисекундтан 89 миллисекундқа дейін төмендеді (5.0 есе жақсарту). Біз басқа өнімділік пен ресурс пайдалану көрсеткіштері бойынша да осындай үлкен жақсартуларды байқадық.

Тікелей салыстыру кезінде SPACE sandbox орталарын жасау кідірісі бұрынғы sandbox шешімімізге қарағанда 5 есеге дейін жылдамырақ.

Сондай-ақ ол диск snapshot түрлерін жасауды жеңілдетеді, өйткені олар жылдам, кеңістік тұрғысынан тиімді және sandbox ортасын кідіртуді қажет етпейді. Және тиімді делта сақтау бұл snapshot түрлерін сақтау үшін қажетті кеңістікті азайтады.

Қорытынды

Күрделі жүйелерді жобалау кезінде оқшаулануда оңтайландыру үшін бір мақсатты таңдау қызықты болуы мүмкін. Бірақ шекаралық агенттердің әзірлеушілері қауіпсіздікті, функционалдылықты және тиімділікті бірдей дәрежеде талап етеді. SPACE көмегімен біз барлық үш тірек бойынша Парето жақсартуына қол жеткізуді мақсат еттік.

Әрбір жеке дизайн таңдауы бір уақытта бірнеше мақсатқа қызмет ете алады, бұл нәзік тепе-теңдікті мүмкін етеді. Sandbox-қа арналған ВМ әрбір жұмыс жүктемесіне өз ядросын береді, күшті оқшаулау арқылы қауіпсіздікті нығайтады, сонымен бірге snapshot түрлері сүйенетін таза бақылау нүктесінің шекарасын қамтамасыз етеді. Btrfs snapshot жасауды, тармақталуды және agentic орындау орталары үшін маңызды басқа операцияларды тиімді іске асыруды қамтамасыз етеді. space демоны гость-хост шекарасын нығайта отырып, бірақ агенттердің маневр жасау еркіндігін сақтай отырып, барлық гость өзара әрекеттесуін бақыланатын хост жағындағы жолда сақтайды. Орталық желі шлюзі гостқа құпияларды ешқашан ашпастан шығыс трафигі мен тіркелгі деректерін енгізуді медиациялайды.

Осы және басқа дизайн шешімдерінің нәтижесі – ауқымда нақты әлемдегі агенттерді оркестрлеуді қамтамасыз ететін платформа. SPACE өнімділікті де, қауіпсіздікті де құрбан етпестен, ұзақ жұмыс істейтін, күйді сақтайтын агенттерге кез келген күрделілік пен ұзақтықтағы жұмысты қауіпсіз түрде шешуге мүмкіндік беретін негіз береді.

Бүгінгі таңда SPACE миллиондаған Perplexity Computer сеанстарын қамтамасыз етіп қойған. Біз SPACE кез келген жағдайда sandbox орталарын қамтамасыз ету және басқару үшін біріктірілген қабат ретінде қызмет етуін қалаймыз: Linux микроВМ орталарынан Windows гость жүйелеріне және пайдаланушының жеке жергілікті машинасына дейін. Біз SPACE платформасын осы жаңа жағдайларға енгізу үшін қажырлы жұмыс істеп жатырмыз, осылайша әзірлеушілер пайдаланушылар жұмыс істейтін барлық жерде жұмыс істейтін ЖІ өнімдерін жеткізе алады.

Егер сіз ертеңгі шекаралық агенттерді басқаратын есептеу қабатын қалыптастырғыңыз келсе, біз сізді біздің командаға қосылуға шақырамыз.