دليل عملي لإعداد بيئة Sandbox معزولة وآمنة لتشغيل وكلاء الذكاء الاصطناعي
كيفية توفير بيئة معزولة باستخدام Docker ونسخ احتياطي لحماية الخوادم والأنظمة أثناء تشغيل وكلاء البرمجة الذاتية مثل OpenHands.
أهمية الـ Sandbox لوكلاء الذكاء الاصطناعي
عند استخدام وكلاء الذكاء الاصطناعي (AI Agents) لكتابة وتعديل وتشغيل الأكواد البرمجية (مثل أداة OpenHands)، فإن إعطاء هذه الوكلاء صلاحية الوصول المباشر إلى نظام التشغيل الخاص بك هو أمر بالغ الخطورة. قد يقوم الوكيل بالخطأ بحذف ملفات هامة، أو تثبيت حزم ضارة، أو كشف بيانات حساسة. الحل هو إنشاء بيئة معزولة (Sandbox) باستخدام Docker لضمان بقاء الوكيل في “صندوق آمن” لا يمكنه تجاوزه.
الخطوة 1: تجهيز بنية Docker
أداة Docker هي المعيار الذهبي لعزل التطبيقات. قبل البدء، تأكد من أن Docker يعمل على جهازك. سنقوم بإنشاء حاوية (Container) مخصصة لا تحتوي إلا على الأدوات الضرورية (مثل Python و Git) ولا تملك أي صلاحيات جذرية (Root Access) على نظامك المضيف.
الخطوة 2: إنشاء الـ Workspace الآمن
للسماح للوكيل بتعديل الأكواد الخاصة بمشروعك فقط دون الوصول لباقي جهازك، يجب علينا تحديد مجلد عمل (Workspace) ومشاركته مع الحاوية.
- قم بإنشاء مجلد مخصص للمشروع:
mkdir ~/ai_workspace. - انسخ ملفات الكود التي ترغب في أن يراجعها أو يعدلها الوكيل إلى هذا المجلد فقط.
- عند تشغيل الحاوية، سنقوم بربط هذا المجلد ليكون هو المكان الوحيد الذي يستطيع الوكيل رؤيته والكتابة عليه.
الخطوة 3: تشغيل OpenHands داخل الـ Sandbox
سنستخدم الصورة الرسمية لأداة OpenHands من مستودع ghcr.io، ونقوم بتمرير مجلد العمل الذي أنشأناه. افتح سطر الأوامر (Terminal) ونفذ الأمر التالي:
docker run -it --rm
--name openhands-sandbox
-v /var/run/docker.sock:/var/run/docker.sock
-v ~/ai_workspace:/workspace
-p 3000:3000
-e WORKSPACE_BASE=~/ai_workspace
ghcr.io/all-hands-ai/openhands:main
شرح متغيرات التشغيل:
--rm: تقوم بحذف الحاوية تماماً بمجرد إغلاقها، مما يضمن بيئة نظيفة في كل مرة تبدأ فيها جلسة جديدة.-v ~/ai_workspace:/workspace: هذا هو السحر! نحن نسمح للوكيل برؤية مجلدai_workspaceفقط وتسميته داخلياً بـ/workspace.-v /var/run/docker.sock: ضروري لكي يتمكن الوكيل من تشغيل حاويات فرعية داخل الـ Sandbox (مثال: إذا احتاج لتشغيل قاعدة بيانات صغيرة لاختبار الكود الذي كتبه).
الخطوة 4: وضع حدود للموارد (Resource Limits)
الوكلاء الأذكياء قد يكتبون أكواداً تحتوي على حلقات لا نهائية (Infinite Loops) عن طريق الخطأ، مما قد يستهلك كامل المعالج أو الذاكرة ويؤدي لانهيار النظام. لمنع ذلك، يمكنك تقييد موارد الـ Sandbox أثناء التشغيل:
docker run -it --rm --cpus="2.0" --memory="4g" ...
هذا الأمر يضمن أن الوكيل (ومهما كتب من أكواد كارثية) لن يتجاوز استهلاكه نواتين من المعالج و 4 جيجابايت من الذاكرة العشوائية.
الخلاصة
استخدام وكلاء الذكاء الاصطناعي المستقلة هو قفزة نوعية في سرعة التطوير، لكنه يتطلب وعياً أمنياً. بإعداد بيئة Sandbox معزولة ومقيدة الموارد عبر Docker، أنت تطلق العنان لإبداع الذكاء الاصطناعي مع إبقائه تحت سيطرتك الكاملة والآمنة.