إنشاء SPACE: بيئات تشغيل آمنة وفعالة للوكلاء طويلي الأجل
SPACE هي منصة Sandbox الآمنة والفعالة من Perplexity التي تدعم سير العمل الوكيلية طويلة الأجل وتنفيذ التعليمات البرمجية السريع والمعزول.
مع نمو سير العمل الوكيلية لتصبح أطول وأكثر استقلالية، تصبح البيئات التي يعمل فيها وكلاء الذكاء الاصطناعي بنفس أهمية النماذج التي تحركها. يحتاج الوكلاء إلى تنفيذ عمل حقيقي، مثل تشغيل الكود، وتعديل أنظمة الملفات، وتنفيذ مهام متعددة الخطوات على مدار ساعات أو أيام. يريد المستخدمون أن يتمتع الوكلاء بإمكانية الوصول إلى الأدوات والملفات التي تحتاجها لتنفيذ هذه المهام، ولكنهم يحتاجون أيضاً إلى الثقة في أن أنظمتهم ستظل آمنة حتى لو تعرض الوكلاء للاختراق. بيئة Sandbox هي ما يجعل كل هذا ممكناً: بيئة معزولة حيث يمكن للوكيل العمل بحرية بينما يظل المضيف، والمستأجرون الآخرون، وبيانات الاعتماد الحساسة محميين.
نهج Sandbox التقليدية القائمة على الحاويات غير مصممة لهذه المهام. وهي عادةً ما تفترض مهام قصيرة الأجل وعديمة الحالة ولديها النواة كنقطة فشل واحدة. في المقابل، تكون جلسات الوكيل طويلة الأجل وذات حالة: حيث يجمع الوكيل ساعات من السياق، ونظام ملفات عامل، وعمليات قيد التشغيل لا يمكن ببساطة التخلص منها وإعادة إنشائها من الصفر. علاوة على ذلك، يجب أن يكون عبء العمل بالداخل غير موثوق به بشكل افتراضي، مما يستدعي تدابير أمنية أقوى. تحتاج جلسات الوكيل طويلة الأجل إلى ركيزة قادرة على عزل ضيف عدائي، والحفاظ على حالته، ولا تزال تعمل على نطاق واسع.
ينبع التحدي الرئيسي في هندسة Sandbox من التوتر الذي ينشأ غالباً بين الأمان، والوظائف، والكفاءة. على سبيل المثال:
- يسمح منح وصول أوسع لوكيل بإنجاز المزيد ولكنه يعرض المزيد من النظام لعبء عمل لا تثق به.
- تؤدي زيادة المشاركة بين بيئات Sandbox إلى تسريع إنشائها، لكنها توسّع سطح الهجوم.
- يؤدي إنشاء اللقطات بوتيرة أعلى إلى تحسين الاسترداد وإتاحة ميزات مثل التراجع إلى حالة سابقة، لكنه يتطلب وقتًا ومساحة تخزين.
بيئات Sandbox للوكلاء، مثل تلك المطلوبة لتنفيذ الكود، أو استخدام Agent Skills، أو تنفيذ خطوط أنابيب Search as Code في استعلامات Computer، تتطلب الثلاثة جميعاً. لقد عملنا بجد على مدار الأشهر القليلة الماضية لهندسة الجيل القادم من البنية التحتية للوكلاء التي تشغل منتجاتنا. اليوم نقدم SPACE (Sandboxed Platform for Agentic Code Execution): منصة Sandbox مصممة لسير العمل الوكيلية التي تتميز بالأمان، والموثوقية، والكفاءة على نطاق واسع. في الشهر الماضي، بدأنا طرح SPACE كطبقة Sandbox التي تشغل Perplexity Computer. على مدار الأسبوع الماضي، قامت بدعم الملايين من عمليات إنشاء Sandbox بشكل آمن وعشرات الملايين من عمليات إعادة الاتصال، مع أزمنة بدء تشغيل أسرع بـ 3-5 مرات من حلنا السابق.
تقدم هذه المقالة القرارات المعمارية والتصميمية وراء SPACE. اعتباراً من اليوم، تعمل 100% من جلسات Computer الآن على SPACE. نحن متحمسون لنشر هذه المنصة عبر المزيد من الواجهات لتقديم بيئة تشغيل للوكلاء هي الأفضل في فئتها لمستخدمينا والمطورين.
الهندسة المعمارية
على مستوى عالٍ، يتم تنظيم النظام في ثلاث طبقات.
طبقة التحكم هي دماغ النظام، حيث تقرر ما يجب أن يوجد وأين. وهي تتكون من بوابة واجهة برمجة التطبيقات ووحدات إدارة الحالة على مستوى الكتلة.
الخدمات المحلية للعقدة هي الآليات المحلية المطلوبة لتنفيذ خطة طبقة التحكم. فهي تمتلك دورة حياة Sandbox، والتخزين، والشبكات، والعمليات ذات الامتيازات وراءها.
بيئة Sandbox هي بيئة التنفيذ المعزولة بحد ذاتها. يتم تنفيذها كجهاز افتراضي مقترن بـ space-daemon: عملية خلفية داخل الضيف تتوسط في الوصول إلى نظام الملفات والعمليات والشبكة لعبء العمل.
طبقة التحكم
بوابة واجهة برمجة التطبيقات هي نقطة الدخول. يتم مصادقة الطلبات الواردة وتخويلها، ثم ترجمتها إلى سجلات للحالة المطلوبة.
طبقة التحكم عديمة الحالة بتصميمها، مع تفريغ جميع المعلومات الدائمة إلى قاعدة بيانات مشتركة. وهي تتبع معلومات مستوى الكتلة حول بيئات Sandbox، مثل العقدة التي يتم تعيينها إليها، ومكان تشغيلها، وما إذا تم نسخه احتياطياً إلى التخزين الدائم. وهي تقارن باستمرار الحالة المطلوبة بالحالة المرصودة وتدفع الاثنين نحو التقارب. العمليات متساوية الأثر عند تكرارها، لذا يمكن لطبقة التحكم التعافي تلقائياً بعد أي تعطل، أو إعادة تشغيل، أو فشل جزئي.
الخدمات المحلية للعقدة
تقوم الخدمات المحلية للعقدة بالعمل الفعلي لإعداد القوالب، وبدء بيئات Sandbox، وربط الشبكات، وتشغيل خدمات وقت التشغيل على جانب المضيف. وتشغّل كل عقدة مجموعة صغيرة من العمليات الخلفية التي تدير كل Sandbox موضوع عليها، وتكون العقدة هي مصدر الحقيقة لتلك الحالات الحية لـ Sandbox.
يعرف مدير Sandbox بيئات Sandbox التي تعمل، أو المتوقفة مؤقتاً، أو المعلقة، أو المتوقفة، جنباً إلى جنب مع مواردها الحقيقية. وهو يعمل بدون امتيازات ويفوض جميع العمليات ذات الامتيازات إلى مدير العقدة، عملية الجذر الوحيدة التي تتوسط الآليات الأساسية. يتم التعامل مع التخزين محلياً وبشكل دائم: يتم حفظ لقطات لحالات Sandbox الحالية على العقدة، ويقوم مدير وحدة التخزين بنقل اللقطات والقوالب من وإلى تخزين الكائنات حسب الحاجة لتمكين عمليات عبر العقد. تحمي بوابات الأمان ما يمكن لـ Sandbox الوصول إليه: يحكم مدير بيانات الاعتماد حقن بيانات الاعتماد بموجب تفويض لكل خدمة، وتفرض بوابة الشبكة سياسة الخروج لكل Sandbox.
Sandbox
بيئة Sandbox نفسها هي جهاز افتراضي (VM) مع نواة ضيف خاصة به، وتشغيل عبء عمل المستخدم خلف حدود عزل الأجهزة. نظراً لأن كل Sandbox لديه نواة خاصة به، فلا يمكن لعبء العمل المخترق الاعتماد على نواة مضيف مشتركة بوصفها نقطة فشل واحدة؛ حتى إذا استغل بنجاح نواة الضيف الخاصة به، فإن هذا الاختراق محصور بحدود الجهاز الافتراضي لـ Sandbox بدلاً من الانتشار عبر أحمال العمل الأخرى.
يعمل برنامج space daemon داخل كل جهاز افتراضي، كوكيل خفيف ينظم كل إجراء أو تعديل تنفذه المنصة داخل الضيف. وهو يتعامل مع الوصول إلى نظام الملفات وإدارة العمليات. كما أنه يبلغ عن استعداد الضيف ويتعقب النشاط، بحيث تعرف المنصة متى أصبح Sandbox خاملاً ويمكن إيقافه مؤقتاً أو استرداد موارده. والأهم من ذلك، أن برنامج space daemon لا يتحدث إلى العملاء مباشرة بل يتواصل مع المضيف عبر قناة خاصة داخل الجهاز الافتراضي. هذا يحافظ على جميع تفاعلات الضيف على مسار متحكم فيه ويحجز شبكة Sandbox الخاصة حصرياً لحركة المرور الصادرة لعبء العمل.
الركائز الثلاث: الأمان، والوظائف، والكفاءة
بعد ذلك، نتعمق في الخصائص الرئيسية التي يجب أن تقدمها SPACE عبر ثلاث ركائز: الأمان، والوظائف، والكفاءة. كما ذكرنا سابقاً، تتعارض هذه الركائز الثلاث فيما بينها. ومع ذلك لا يمكننا التنازل عن أي منها إذا رغبنا في دعم وكلاء أقوياء يرتقون إلى قدرات النماذج اليوم. يحمي الأمان عبء العمل غير الموثوق به، وربما العدائي، من إلحاق الضرر بالمضيف، أو المستأجرين الآخرين، أو أسرار المستخدم. تمنح الوظائف الوكلاء دورة الحياة الغنية التي يحتاجونها. تجعل الكفاءة كل هذا ميسور التكلفة في ظل الذاكرة المحدودة، والقرص، والحوسبة.
الأمان: حماية البيانات والأنظمة
تحتاج منصات Sandbox إلى أمان قوي لضمان أن الكود الخاطئ أو حتى الضار الذي يتم تشغيله داخل بيئات Sandbox لا يمكن أن يسبب آثاراً ضارة في مكان آخر. بدون فرض تحكم صارم في الخروج وإبعاد الأسرار عن Sandbox، يمكن لخطوة سيئة واحدة من وكيل تسريب مفاتيح المستخدم أو تسريب العمل.
تتخذ SPACE نهجاً طبقياً لضمان الأمان لبيئات Sandbox. يحتوي عزل Sandbox على عنصرين، عزل الجهاز الافتراضي وعزل عملية نظام تشغيل المضيف. يجب اختراق كلاهما للوصول عبر بيئات Sandbox. يتم التحكم في الاتصال بـ Sandbox بصرامة؛ يمكن للعمليات التواصل فقط من خلال قنوات مخصصة. تجبر بوابة الشبكة كل حركة المرور على الخروج من خلالها. خدمة space هو القناة المصرح بها الوحيدة بين (غير الموثوق بها) Sandbox و(الموثوق بها) المنصة.
لا تعيش بيانات الاعتماد أبداً في مكان يمكن لوكيل سرقتها. يقع مخزن بيانات الاعتماد خارج حدود Sandbox وهو مسؤول عن دورة حياة بيانات الاعتماد. يقوم بتخزين واسترجاع الأسرار عبر مكوّن خلفي قابل للتوصيل لإدارة الخزنة، ويختار بيانات الاعتماد المناسبة وفقاً لنطاقات هرمية، ويدير بيانات التعريف مثل طريقة الحقن وانتهاء الصلاحية، ويفرض حدود المعدل وتسجيل تدقيق على جميع الوصول. عند الحاجة، يتم حقن بيانات الاعتماد في طبقة الشبكة أو ملؤها تلقائياً بواسطة وكيل متصفح، بدلاً من دخول Sandbox مباشرة.
البيانات محمية أثناء تخزينها. تدعم SPACE خيار BYOK (أحضر مفتاحك الخاص) لحماية البيانات المخزنة خارجياً. تأتي مفاتيح التشفير من خدمة إدارة المفاتيح الخاصة بالعميل ولا تدخل أبداً إلى Sandbox. إذا قامت المؤسسة بإلغاء المفتاح، تصبح بياناتهم غير قابلة للقراءة.
الوظائف: تشغيل سير العمل الوكيلية
لدعم سير العمل الوكيلية، تحتاج بيئات Sandbox إلى دعم غني لدورة الحياة. يجب أن يتم إنشاؤها بسرعة وعلى نطاق واسع، نظراً لأن الوكيل قد ينشئ العديد دفعة واحدة ولا ينبغي أن يضطر إلى انتظار بدء تشغيل أي منها. يجب أن تستمر لفترة غير محدودة، نظراً لأن الجلسة قد تستمر لدقائق أو تعمل لأشهر. يجب أن تتوقف مؤقتاً بشكل نظيف، وأحياناً لفترات طويلة، مثل عندما تكون المهمة متوقفة بانتظار مدخلات بشرية. ويجب أن تدعم التفرع، والتراجع، واستعادة الأعطال، بحيث يمكن للجلسة التفرع، أو التراجع عن خطوة سيئة، أو استئناف العمل بعد حدوث خطأ بدلاً من البدء من جديد.
تدعم SPACE كل ما سبق. وهي تصمم دورة حياة Sandbox الكاملة كآلة حالة صريحة، وهو ما يجعل عمليات مثل الإنشاء، والإيقاف المؤقت، والاستئناف، والتعليق، والاستعادة ممكنة.
اللقطات هي الآلية الكامنة وراء معظم هذه القدرات. يعمل المُجدوِل على فترات منتظمة ويلتقط نوعين من اللقطات: لقطات القرص (نسخ نظام الملفات في نقطة زمنية معينة) واللقطات الكاملة (نقاط تحقق للجهاز الافتراضي المتوقف مؤقتًا بالكامل). يتم التقاط لقطات القرص بشكل متكرر، بينما تكون نقاط التحقق الكاملة أقل تكراراً. يظل كل شيء على العقدة، ويتلاشى الاحتفاظ حسب الطبقة. يمكن استخدام هذه اللقطات للاستعادة داخل الجلسة؛ على سبيل المثال، يمكن استخدام لقطات القرص لإعادة نظام الملفات إلى حالة سابقة والتراجع عن أمر مدمر، وتسمح نقاط التحقق الكاملة لـ Sandbox متعطل باستئناف العمل في نقطة تشغيل حديثة بدلاً من قرص بارد.
عندما يتم تعليق Sandbox، يتم إيقاف الجهاز الافتراضي مؤقتاً، ويتم أخذ لقطة كاملة، ويتم تحميل العناصر من اللقطة الكاملة إلى تخزين الكائنات. يتتبع صف قاعدة البيانات اللقطة ولا يصبح قابلاً للاستعادة إلا بعد وصول كل عنصر، بحيث لا يمكن أبداً استئناف لقطة تم تحميلها جزئياً لتصبح في حالة تالفة. الاستعادة هي عكس التعليق. نظراً لأن اللقطة موجودة في تخزين الكائنات بدلاً من العقدة الأصلية، يمكن لأي عقدة إعادة Sandbox. يختار المجدول عقدة، وتنزّل تلك العقدة العناصر، وتطبق دلتا نظام الملفات مرة أخرى فوق القالب، وتستأنف الجهاز الافتراضي من حالته الملتقطة.
الكفاءة: تحسين الوقت والمساحة
لا يكفي تنفيذ الميزات المذكورة أعلاه في فراغ؛ بل يجب أن تكون ممكنة أيضاً في ظل قيود الموارد الضيقة. الذاكرة والقرص على العقدة محدودتان، ويريد المستخدمون أن يعمل الوكلاء بأسرع ما يمكن، لذا يجب أن تكون عمليات دورة الحياة رخيصة في الوقت والمساحة. لا يمكننا تحمل تكلفة نسخ صورة جهاز كاملة في كل مرة يتم فيها إنشاء Sandbox، أو إيقافها مؤقتًا، أو تفريعها.
خيار تصميم رئيسي يجعل هذا ممكناً: نظام الملفات. تستخدم SPACE نظام الملفات btrfs كتخزين Sandbox على العقدة. يجمع Btrfs (نظام ملفات B-tree) بين نظام ملفات النسخ عند الكتابة وإدارة وحدة التخزين المنطقية المتكاملة. هذا له عدد من الفوائد:
نسخ Reflink سريعة، نظراً لمشاركتك الامتدادات الأساسية، بحيث يلزم فقط نسخ بيانات التعريف.
اللقطات ذرية وسريعة، نظراً لإنشاء جذر جديد فقط.
مطلوبة مساحة تخزين ضئيلة، نظراً لتخزين ما تغير فقط.
نتيجة لذلك، يمكن إنشاء بيئات Sandbox واستعادتها بسرعة. بدلاً من إنشاء Sandbox من الصفر في كل مرة، نحتفظ بمجموعة دافئة من وحدات pod التي تحتوي بالفعل على قوالب شائعة مهيأة على القرص، ونلبي الطلب عن طريق ربطه بوحدة pod يتطابق قالبها بالفعل. ثم يكون إعطاء Sandbox نظام ملفات جذر قابل للكتابة استنساخ نسخ عند الكتابة بدلاً من نسخ كامل. عندما لا تناسب أي وحدة pod دافئة، نهيئ القالب عند الطلب؛ ونقوم بدمج الطلبات المتزامنة لنفس الصورة في تنزيل واحد، بحيث لا تتحول دفعة من الطلبات المتطابقة إلى دفعة من العمل المتطابق.
النتيجة هي بيئة تشغيل Sandbox قوية، وخفيفة الوزن، وسريعة للغاية في نفس الوقت. عندما قمنا بطرح SPACE، قمنا بتشغيله جنبًا إلى جنب مع مزود Sandbox السابق على نفس حركة مرور الإنتاج. عبر أسبوع الإطلاق، أنشأت SPACE بيئات Sandbox بشكل أسرع بثلاث إلى خمس مرات عبر التوزيع. على وجه التحديد، انخفض وسيط زمن الاستجابة للإنشاء من 185 مللي ثانية إلى 60 مللي ثانية (تحسن بـ 3.1 أضعاف)، وانخفض زمن الاستجابة في النسبة المئوية التسعين من 447 مللي ثانية إلى 89 مللي ثانية (تحسن بـ 5.0 أضعاف). لاحظنا تحسينات مماثلة من حيث رتبة المقدار عبر مؤشرات الأداء واستخدام الموارد الأخرى.
كما أنه يسهل أخذ لقطات قرص متتابعة، نظراً لأنها سريعة، وفعالة من حيث المساحة، ولا تتطلب إيقاف Sandbox مؤقتاً. وأيضاً، يقلل تخزين الدلتا الفعال من المساحة اللازمة لتخزين هذه اللقطات.
الخاتمة
عند تصميم أنظمة معقدة، يكون من المغري اختيار هدف واحد لتحسينه بمعزل. لكن مطوري الوكلاء المتقدمين يطالبون بالأمان، والوظائف، والكفاءة بقدر متساوٍ. مع SPACE، شرعنا في تحقيق تحسين باريتو عبر الركائز الثلاث.
يمكن لكل خيار تصميم فردي خدمة أهداف متعددة في نفس الوقت، مما يجعل هذا التوازن الدقيق ممكناً. تمنح الأجهزة الافتراضية المخصصة لكل Sandbox كلَّ عبء عمل نواةً خاصة به، مما يعزز الأمان من خلال العزل القوي مع توفير حد فاصل واضح لنقطة التحقق الذي تعتمد عليه اللقطات. يتيح Btrfs تنفيذ عمليات أخذ اللقطات والتفرع وغيرها من العمليات الأساسية لبيئات تشغيل الوكلاء بكفاءة. يحافظ برنامج space daemon على جميع تفاعلات الضيف على مسار متحكم به على جانب المضيف، ويغلق حدود الضيف والمضيف بينما يحافظ على حرية مناورة الوكلاء. تقوم بوابة الشبكة المركزية بالتوسط في الخروج وحقن بيانات الاعتماد دون تعريض الأسرار للضيف أبداً.
نتيجة لهذه القرارات التصميمية وغيرها هي منصة تمكن تنسيق الوكلاء في العالم الحقيقي على نطاق واسع. توفر SPACE الركيزة التي يمكن للوكلاء طويلي الأجل وذوي الحالة من خلالها التعامل بأمان مع أعمال مهما بلغ تعقيدها أو طالت مدتها، دون التضحية بالأداء أو الأمان.
اليوم، تشغل SPACE بالفعل ملايين جلسات Perplexity Computer. نعتزم أن تكون SPACE بمثابة طبقة موحدة لتوفير بيئات Sandbox والتحكم فيها في أي بيئة: من الأجهزة الافتراضية الدقيقة لنظام Linux إلى ضيوف Windows وصولاً إلى الجهاز المحلي الخاص بالمستخدم. نحن نعمل بجد على نشر SPACE في هذه البيئات الجديدة، بحيث يمكن للمطورين شحن منتجات الذكاء الاصطناعي التي تعمل في كل مكان يعمل فيه المستخدمون.
إذا كنت متحمسًا لتشكيل طبقة الحوسبة التي تحرك وكلاء الغد المتقدمين، فنحن ندعوك إلى الانضمام إلى فريقنا.
اقتباس
@online{perplexity2026MakingSpaceSecureAndEfficientRuntimesForLongRunningAgents,
author = {{Perplexity} and Kumar Pallav and Nick Dujay and Zibi Braniecki and Dmitry Pervukhin and Gigi Sayfan and Mostafa Abdelraouf and Nikhil Birmiwal and Rohin Bhasin and Shrikant Pandhare and Nikitha Lokareddy and Phi Hoang and Claire Beamer and Jeremy Yang and Jerry Ma},
title = {{Making SPACE: Secure and efficient runtimes for long-running agents}},
date = {2026-07-15},
url = {https://www.perplexity.ai/hub/blog/making-space-secure-and-efficient-runtimes-for-long-running-agents}
}