ٹیکنیکل گائیڈ

ایجنٹوں کے لیے کوڈ ایگزیکیوشن سینڈ باکسز

کوڈ ایگزیکیوشن سینڈ باکس ایک الگ تھلگ ماحول ہوتا ہے جہاں ایک AI ایجنٹ میزبان مشین کو نقصان پہنچانے کے قابل ہونے کے بغیر اپنے لکھے ہوئے کوڈ کو چلا سکتا ہے، اس ڈیٹا تک پہنچ سکتا ہے جسے اسے نہیں دیکھنا چاہیے، یا لامحدود وسائل استعمال کر سکتے ہیں۔

  • 4 منٹ پڑھیں
  • آخری بار اپ ڈیٹ کیا گیا۔
اس صفحہ پر4 منٹ پڑھیں
  1. جائزہ
  2. گہرا غوطہ
  3. اسٹریٹجک اثر
  4. ایجنٹوں کے لیے کوڈ ایگزیکیوشن سینڈ باکسز کا مستقبل
  5. حقیقی دنیا کا نفاذ
  6. خطرات اور گارڈریلز
  7. نفاذ کا روڈ میپ
  8. دریافت کرتے رہیں
  9. اکثر پوچھے گئے سوالات

جائزہ

یہ اہمیت رکھتا ہے کیونکہ ایک ایجنٹ جو کوڈ پر عمل درآمد کر سکتا ہے وہ کہیں زیادہ قابل ہے (وہ فائلوں کی گنتی کر سکتا ہے، ان کا تجزیہ کر سکتا ہے اور اپنے کام کی جانچ کر سکتا ہے)، لیکن ماڈل لکھا ہوا کوڈ بطور ڈیفالٹ ناقابل اعتماد ہوتا ہے اور فوری انجیکشن کے ذریعے چھوٹی، فضول یا ہیرا پھیری کر سکتا ہے۔

گہرا غوطہ

جب کوئی ایجنٹ کوڈ تیار کرتا ہے، تو اسے کچھ چلانا پڑتا ہے۔ اس کوڈ کو براہ راست کسی ڈویلپر لیپ ٹاپ یا پروڈکشن سرور پر چلانا خطرناک ہے: کوڈ فائلوں کو حذف کر سکتا ہے، ماحولیاتی متغیرات سے اسناد پڑھ سکتا ہے، سافٹ ویئر انسٹال کر سکتا ہے، مائن کریپٹو کرنسی، یا نیٹ ورک کنکشن کھول سکتا ہے۔ ایک سینڈ باکس کوڈ اور ہر چیز کے درمیان ایک حد رکھتا ہے۔ الگ تھلگ کی کئی پرتیں ہیں، جن میں مختلف ٹریڈ آف ہیں۔ معیاری کنٹینرز (مثال کے طور پر Docker) لینکس کے نام کی جگہوں اور cgroups کا استعمال کرتے ہیں تاکہ کوڈ کو عمل، فائلوں اور نیٹ ورک کا اپنا نظریہ فراہم کیا جا سکے، اور CPU اور میموری کو محدود کیا جا سکے۔ وہ تیزی سے شروع ہوتے ہیں، لیکن ہر کنٹینر میزبان کے دانا کو شیئر کرتا ہے، اس لیے دانا کی کمزوری کوڈ کو فرار ہونے دے سکتی ہے۔ gVisor، Google کا ایک اوپن سورس پروجیکٹ، ایک صارف کی جگہ کا کرنل شامل کرتا ہے جو سسٹم کالز کو روکتا ہے، اور اس کو سکڑتا ہے کہ کون سا ناقابل اعتماد کوڈ حقیقی دانا کو چھو سکتا ہے۔ MicroVMs جیسے Firecracker، اصل میں AWS کی طرف سے Lambda اور Fargate کے لیے بنایا گیا ہے، ہر کام کے بوجھ کو اس کی اپنی ہلکی وزن والی ورچوئل مشین اور دانا دیتے ہیں جب کہ وہ ایک سیکنڈ کے ایک حصے میں بوٹ کرتے ہیں۔ ایجنٹوں کے لیے میزبان سینڈ باکس خدمات، جیسے E2B، اس مائیکرو وی ایم اپروچ پر تعمیر کرتے ہیں۔ سب سے ہلکے آخر میں، WebAssembly رن ٹائمز اور Pyodide جیسے ٹولز Python کو براؤزر میں یا Wasm سینڈ باکس میں بغیر کسی نظام تک رسائی کے چلا سکتے ہیں۔ تنہائی کی ٹیکنالوجی ڈیزائن کا صرف نصف ہے۔ اچھے سینڈ باکسز نیٹ ورک کو بھی محدود کرتے ہیں (اکثر اجازت کی فہرست کے ساتھ ڈیفالٹ سے انکار کرتے ہیں)، فائل سسٹم کو صرف پڑھنے کے لیے ماؤنٹ کرتے ہیں سوائے اسکریچ ڈائرکٹری کے، راز کو ماحول سے مکمل طور پر دور رکھتے ہیں، اور وقت، میموری، عمل کی گنتی اور ڈسک کی حدود کو نافذ کرتے ہیں۔ وہ عام طور پر عارضی ہوتے ہیں: فی کام تخلیق کیے جاتے ہیں اور بعد میں تباہ ہوتے ہیں۔ ایک عام غلط فہمی یہ ہے کہ سینڈ باکس ایک ایجنٹ کو محفوظ بناتا ہے۔ یہ خود کوڈ سے ہونے والے نقصان کو محدود کرتا ہے، لیکن یہ کسی ایجنٹ کو غلط جوابات پیدا کرنے سے نہیں روکتا، اور جو بھی ٹول یا سند آپ سینڈ باکس میں ڈالتے ہیں، وہاں جو بھی کوڈ چلتا ہے، اس تک رسائی کے قابل ہو جاتا ہے، بشمول انجیکشن ہدایات کے جواب میں لکھا گیا کوڈ۔

اسٹریٹجک اثر

لاگت اور بجٹ

فن تعمیر کے فیصلے سالوں تک کارکردگی اور آپریٹنگ لاگت کو آگے بڑھاتے ہیں۔

واضح فیصلے

تکنیکی تعلیم ٹیموں کو صحیح اسٹیک منتخب کرنے میں مدد کرتی ہے، نہ صرف جدید ترین۔

کوالٹی کنٹرول

انجینئرنگ کے بہتر انتخاب پیداوار میں قابل اعتماد واقعات کو کم کرتے ہیں۔

ایجنٹوں کے لیے کوڈ ایگزیکیوشن سینڈ باکسز کا مستقبل

کوڈ پر عمل درآمد AI معاونین اور ایجنٹوں کے لیے ایک معیاری صلاحیت بنتا جا رہا ہے، اس لیے سینڈ باکسنگ ممکنہ ڈیفالٹس کے ساتھ ایک کموڈٹی سروس بن جائے گی بجائے اس کے کہ ہر ٹیم شروع سے بناتی ہے۔ تیز اسٹارٹ اپ، اسنیپ شاٹ اور ریزیومے پر کام جاری رکھنے کی توقع کریں، اور نیٹ ورک اور فائل تک رسائی کے لیے بہتر پالیسیاں جو فی کام ایڈجسٹ کی جا سکتی ہیں۔ مشکل کھلا مسئلہ تنہائی کے بجائے پالیسی کا ہے: یہ فیصلہ کرنا کہ ایجنٹ کو کس چیز تک پہنچنے کی اجازت دی جانی چاہیے، اور صارفین کو مطلع کرنا، جب ایجنٹ طویل خود مختار کارروائیاں کرتے ہیں۔ اجازتوں، لاگنگ اور انسانی جائزے کے ساتھ ساتھ تنہائی کئی میں سے ایک پرت رہے گی۔

حقیقی دنیا کا نفاذ

ڈیٹا تجزیہ کرنے والا ایک معاون اپ لوڈ کردہ CSV وصول کرتا ہے، اسے صاف کرنے اور رجحانات کی منصوبہ بندی کرنے کے لیے پانڈا کوڈ لکھتا ہے، اور اس کوڈ کو ڈسپوز ایبل سینڈ باکس میں چلاتا ہے جسے سیشن ختم ہونے پر حذف کر دیا جاتا ہے۔

ایک کوڈنگ ایجنٹ ایک کنٹینر کے اندر ایک ریپوزٹری کا ٹیسٹ سوٹ چلاتا ہے جس میں آؤٹ باؤنڈ نیٹ ورک تک رسائی نہیں ہے، اس لیے نقصان دہ انحصار کا اسکرپٹ سورس کوڈ یا راز کسی بیرونی سرور کو نہیں بھیج سکتا۔

ایک تعلیمی پلیٹ فارم طلباء کو AI ٹیوٹر سے Python مثالیں چلانے کے لیے کہتا ہے، جس میں ہر رن CPU کے چند سیکنڈ اور ایک مقررہ میموری کی حد ہوتی ہے تاکہ حادثاتی لامحدود لوپ سروس کو روک نہ سکے۔

ایک تحقیقی ٹیم ایک ایجنٹ کو ڈیٹاسیٹ کی صرف پڑھنے کے لیے کاپی اور واحد قابل تحریر آؤٹ پٹ فولڈر کے ساتھ ایک مائیکرو وی ایم دیتی ہے، تاکہ ایجنٹ اصل ڈیٹا میں ترمیم یا حذف کیے بغیر نتائج پیدا کر سکے۔

خطرات اور گارڈریلز

  • ایک بینچ مارک کو بہتر بنانا نظام کی وسیع تر کمزوریوں کو چھپا سکتا ہے۔

  • بنیادی ڈھانچے اور دیکھ بھال کے اخراجات کو اکثر کم سمجھا جاتا ہے۔

  • سیکورٹی اور مشاہداتی فرق بڑھ سکتا ہے کیونکہ نظام زیادہ پیچیدہ ہو جاتا ہے۔

نفاذ کا روڈ میپ

  1. نفاذ سے پہلے تاخیر، معیار اور لاگت کے اہداف کی وضاحت کریں۔

  2. حقیقت پسندانہ بوجھ اور ڈیٹا کی شرائط کے تحت بینچ مارک۔

  3. غلطیوں، بڑھے ہوئے، اور صارف کے اثرات کے لیے آلے کی نگرانی۔

  4. اسکیلنگ سے پہلے رول بیک اور واقعہ کے ردعمل کے راستے تیار کریں۔

دریافت کرتے رہیں

Free newsletter

Get the daily AI briefing

Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.

One email each weekday. Unsubscribe in one click. We never sell or share your address.

Test yourself

Take the Code Execution Sandboxes for Agents quiz

Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.

کوئز شروع کریں۔

Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation

اکثر پوچھے گئے سوالات

ایجنٹوں کے لیے کوڈ ایگزیکیوشن سینڈ باکس کیا ہے؟

کوڈ ایگزیکیوشن سینڈ باکس ایک الگ تھلگ ماحول ہوتا ہے جہاں ایک AI ایجنٹ میزبان مشین کو نقصان پہنچانے کے قابل ہونے کے بغیر اپنے لکھے ہوئے کوڈ کو چلا سکتا ہے، اس ڈیٹا تک پہنچ سکتا ہے جسے اسے نہیں دیکھنا چاہیے، یا لامحدود وسائل استعمال کر سکتے ہیں۔ یہ اہمیت رکھتا ہے کیونکہ ایک ایجنٹ جو کوڈ پر عمل درآمد کر سکتا ہے وہ کہیں زیادہ قابل ہے (وہ فائلوں کی گنتی کر سکتا ہے، ان کا تجزیہ کر سکتا ہے اور اپنے کام کی جانچ کر سکتا ہے)، لیکن ماڈل لکھا ہوا کوڈ بطور ڈیفالٹ ناقابل اعتماد ہوتا ہے اور فوری انجیکشن کے ذریعے چھوٹی، فضول یا ہیرا پھیری کر سکتا ہے۔

AI ایجنٹ کے لکھے ہوئے کوڈ کو بطور ڈیفالٹ ناقابل اعتماد کیوں سمجھا جاتا ہے؟

گائیڈ وضاحت کرتا ہے کہ ماڈل کے لکھے ہوئے کوڈ میں کیڑے شامل ہو سکتے ہیں، اضافی وسائل استعمال کر سکتے ہیں، یا انجیکشن دی گئی ہدایات پر عمل کر سکتے ہیں، اس لیے اسے براہ راست میزبان کے بجائے باؤنڈری کے اندر چلنا چاہیے۔

مائیکرو وی ایم کے مقابلے میں معیاری کنٹینرز کی بنیادی حفاظتی کمزوری کیا ہے؟

کنٹینرز نام کی جگہوں اور cgroups کا استعمال کرتے ہیں لیکن سبھی میزبان دانا کا اشتراک کرتے ہیں، لہذا دانا کا خطرہ فرار ہونے کی اجازت دے سکتا ہے۔ مائیکرو وی ایم ہر کام کے بوجھ کو اپنا دانا دیتے ہیں۔

غیر بھروسہ مند کوڈ سے خطرے کو کم کرنے کے لیے gVisor کیا اضافہ کرتا ہے؟

gVisor، Google سے، ایک صارف-اسپیس کرنل چلاتا ہے جو سسٹم کالز کو ہینڈل کرتا ہے، جس سے یہ کم ہوتا ہے کہ حقیقی میزبان کرنل کے ناقابل اعتماد کوڈ تک کتنے پہنچ سکتے ہیں۔

فائر کریکر مائیکرو وی ایم کو اصل میں AWS نے کس قسم کی خدمات کو طاقت دینے کے لیے بنایا تھا؟

فائر کریکر AWS سرور کے بغیر کام کے بوجھ جیسے کہ Lambda اور Fargate کے لیے بنایا گیا تھا، جہاں بہت سے الگ تھلگ کام کے بوجھ کو تیزی سے شروع ہونا چاہیے۔

جب فوری انجیکشن ممکن ہو تو آؤٹ باؤنڈ نیٹ ورک تک رسائی کو محدود کرنا اکثر اہم ترین سینڈ باکس کنٹرول کیوں سمجھا جاتا ہے؟

اگر انجیکشن کی گئی ہدایات ایجنٹ کو نقصان دہ کوڈ لکھنے کا سبب بنتی ہیں، تو ڈینی بائی ڈیفالٹ نیٹ ورک اس کوڈ کو ڈیٹا کی افزائش سے روکتا ہے۔