جب ایک AI ایجنٹ اپنے کریڈنشلز خود رکھتا ہے اور براہ راست بیرونی سروسز سے رابطہ کرتا ہے، تو یہ کسی ملازم کے سافٹ ویئر کے بجائے ایک ایسے ٹھیکیدار کی طرح کام کرتا ہے جس کے پاس کارپوریٹ کارڈ تو ہو لیکن کوئی سپروائزر نہ ہو۔ آپ یہ نہیں دیکھ سکتے کہ اس نے کس چیز کو چھوا، کس نے رسائی کی منظوری دی، یا کیوں ایک گفتگو کی قیمت دوسری سے دس گنا زیادہ تھی۔ لاگز (logs) درجن بھر سروسز میں بکھر جاتے ہیں۔ سوالات بڑھتے چلے جاتے ہیں۔
ایجنٹ نے اصل میں کون سا ٹول استعمال کیا؟ اسے اس ڈیٹا بیس تک رسائی کی اجازت کس نے دی؟ منگل کا رن چالیس ہزار ٹوکنز کیوں ختم کر گیا جبکہ پیر کو صرف پانچ استعمال ہوئے؟ ہم نے حقیقت میں کتنا خرچ کیا؟
صارفین، ماڈلز اور سروسز کے درمیان ایک مرکزی کنٹرول لیئر (control layer) کے بغیر، یہ سوالات جواب طلب رہتے ہیں۔ آپ کو ایک ایسے واحد پلیٹ فارم کی ضرورت ہے جو ہر کنکشن کو ایک بار رجسٹر کرے، صرف ان محدود فنکشنز کو ظاہر کرے جن کی ایجنٹ کو واقعی ضرورت ہے، اور ہر عمل (execution) کا مکمل ریکارڈ رکھے۔ یہ آرٹیکل deco Studio کو بطور مقامی کنٹرول پلیٹ فارم استعمال کرتے ہوئے ایک ایڈوانس لیب کے بارے میں ہے۔ آپ اسے سیٹ اپ کریں گے، ایک محفوظ Model Context Protocol سرور کو منسلک کریں گے، صرف ایک اجازت یافتہ فنکشن کو ظاہر کریں گے، اور دیکھیں گے کہ جب کوئی ایجنٹ اپنی حدود سے باہر جانے کی کوشش کرتا ہے تو کیا ہوتا ہے۔
بکھرے ہوئے کریڈنشلز کا مسئلہ
ایک عام ٹیم سیٹ اپ کا تصور کریں۔ ایک ڈویلپر ذاتی کی (key) کا استعمال کرتے ہوئے ایجنٹ کو سرچ API سے جوڑتا ہے۔ دوسرا اسی ایجنٹ کو پروڈکشن ڈیٹا بیس سے جوڑ دیتا ہے کیونکہ ڈیمو بے ضرر لگ رہا تھا۔ تیسرا ایک بلنگ لک اپ ٹول شامل کر دیتا ہے تاکہ ایجنٹ "انوائسز میں مدد" کر سکے۔ ہر کنکشن دوسروں کے لیے پوشیدہ ہے۔ اب ایجنٹ کے پاس سرچ، پروڈکشن ڈیٹا اور مالیاتی ریکارڈز تک براہ راست رسائی ہے، لیکن ٹیم کے پاس اس بات کی کوئی متحد فہرست نہیں ہے کہ کون سی چیز لائیو ہے۔
جب کریڈنشلز ایجنٹ کے اندر ہوتے ہیں، تو گورننس (governance) کا نظام ٹوٹ جاتا ہے۔ آپ مرکزی طور پر رسائی واپس نہیں لے سکتے کیونکہ کی (key) ایجنٹ کی میموری یا اس کی لوکل انوائرمنٹ فائل میں ہوتی ہے۔ آپ استعمال کا آڈٹ نہیں کر سکتے کیونکہ بیرونی سروس صرف ایک گمنام خودکار کلائنٹ کی طرف سے API کال دیکھتی ہے۔ اخراجات کا جھٹکا دنوں بعد کلاؤڈ بل میں نظر آتا ہے، اور تب تک کسی کو یاد نہیں رہتا کہ کس پرامپٹ (prompt) کی وجہ سے یہ اضافہ ہوا۔
deco Studio میں اپنا کنٹرول پلیٹ فارم بنانا
deco Studio ایک لوکل ہب کے طور پر کام کر کے اس مسئلے کو حل کرتا ہے۔ آپ اسے اپنی مشین پر چلاتے ہیں، اور یہ وہ واحد جگہ بن جاتا ہے جہاں تمام کنفیگریشنز موجود ہوتی ہیں۔ API کیز اور ٹول کی تعریفوں کو ایجنٹس میں بکھیرنے کے بجائے، آپ Studio کے اندر ایک بار کنکشن رجسٹر کرتے ہیں۔ پھر آپ فیصلہ کرتے ہیں کہ کون سا ایجنٹ کن فنکشنز کو دیکھ سکتا ہے۔
اسے ایک سوئچ بورڈ لگانے کے طور پر سمجھیں۔ تمام تاریں ایک ہی کمرے میں آتی ہیں۔ آپ منتخب کرتے ہیں کہ کون سی لائن کس شعبے سے جڑے گی، اور آپ ہر کال کا ریکارڈ رکھتے ہیں۔
deco Studio کو مقامی طور پر چلا کر شروع کریں۔ ایک بار جب یہ چل جائے، تو آپ کنفیگریشن کو مرکزی بنا دیتے ہیں۔ اب ہر ایجنٹ جو کسی ٹول کا استعمال کرنا چاہتا ہے، اسے براہ راست بیرونی سروس کے بجائے کنٹرول پلیٹ فارم سے پوچھنا ہوگا۔ یہ فوری طور پر ایک ایسا چوک پوائنٹ (chokepoint) بنا دیتا ہے جہاں آپ مشاہدہ، فلٹر اور لاگ کر سکتے ہیں۔
ایک محفوظ MCP سرور کو منسلک کرنا
اس لیب میں، آپ ایک Model Context Protocol سرور کو منسلک کرتے ہیں۔ MCP ماڈلز کو بیرونی ٹولز کے ساتھ بات چیت کرنے کی اجازت دینے کا ایک اوپن اسٹینڈرڈ ہے، لیکن اسٹینڈرڈز حفاظت کی ضمانت نہیں دیتے۔ یہاں اہم قدم انتخاب (selectivity) ہے۔ آپ اندھا دھند ہر اینڈ پوائنٹ کو ظاہر نہیں کرتے جو سرور پیش کرتا ہے۔ آپ deco Studio میں سرور کو رجسٹر کرتے ہیں، اور پھر اپنے ٹیسٹ ایجنٹ کے لیے صرف ایک اجازت یافتہ فنکشن کو ظاہر کرتے ہیں۔
مثال کے طور پر، آپ کا MCP سرور دس فنکشنز پیش کر سکتا ہے: فائل ریڈ، فائل رائٹ، ڈیٹا بیس کوئری، نیٹ ورک فیچ، اور دیگر۔ آپ ایک بے ضرر آپریشن کا انتخاب کرتے ہیں، شاید ایک سینڈ باکسڈ کیلکولیٹر یا مصنوعی ڈیٹا کے خلاف صرف ریڈ اونلی لک اپ، اور صرف اسے ہی ظاہر کرتے ہیں۔ باقی نو ایجنٹ کے لیے پوشیدہ ہو جاتے ہیں۔ اگر ایجنٹ ان کے بارے میں پوچھتا ہے، تو کنٹرول پلیٹ فارم سختی سے انکار کر دیتا ہے۔
یہ "principle of least privilege" کو میکانکی شکل دینے کا طریقہ ہے۔ ایجنٹ کو قابلیت کسی شائستہ ہدایت کے ذریعے نہیں، بلکہ سافٹ ویئر کی حد (boundary) کے ذریعے ملتی ہے۔
حد (Boundary) کا تجربہ کرنا
ایک ٹیسٹ ایجنٹ بنائیں اور اسے اپنے deco Studio کنٹرول پلیٹ فارم کی طرف موڑ دیں۔ اسے ایسا کام دیں جس کے لیے واحد اجازت یافتہ فنکشن کی ضرورت ہو۔ اسے کامیاب ہوتے ہوئے دیکھیں۔ Studio کے اندر لاگز ماڈل کی درخواست، کنٹرول پلیٹ فارم کے ذریعے ٹول کال کی روٹنگ، فنکشن کا عمل درآمد، اور ماڈل کو واپس آنے والے نتیجے کو دکھائیں گے۔ آپ پورے راستے کو ایک مسلسل ٹریس (trace) میں پڑھ سکتے ہیں۔
اب ایجنٹ کو دوسرا کام دیں جس کے لیے ایسے فنکشن کی ضرورت ہو جسے آپ نے جان بوجھ کر خارج کر دیا ہو۔ ایجنٹ اس حد کو دور کرنے کے لیے اپنی منطق استعمال کرنے کی کوشش کر سکتا ہے، یا یہ وہم کر سکتا ہے کہ وہ ٹول موجود ہے۔ بہرحال، کال کنٹرول پلین تک پہنچتی ہے، ایلو لسٹ اسے مسترد کر دیتی ہے، اور عمل (execution) ناکام ہو جاتا ہے۔ یہ ناکامی اس بات کا ثبوت ہے کہ حد سافٹ ویئر کے ذریعے نافذ کی گئی ہے، نہ کہ صرف نظریاتی طور پر۔
یہ کام پہلے مصنوعی ٹاسک کے ساتھ کریں۔ تیار کردہ یوزر پروفائلز سے بھرا ہوا ایک جعلی ڈیٹا بیس بنائیں۔ ایجنٹ کو اس پر کوئری کرنے دیں۔ ایلو لسٹ اور مسترد کیے جانے والے عمل کی تصدیق کریں۔ صرف اس وقت جب آپ کو اس حد (boundary) پر بھروسہ ہو جائے، تب ہی ایجنٹ کو پروڈکشن سسٹم کی طرف اشارہ کرنے پر غور کریں۔ دیوار کی تصدیق کرنے سے پہلے اصل ڈیٹا کی طرف لپکنا ہی راز فاش ہونے کا سبب بنتا ہے۔
ایک رن (Run) کے مکمل راستے کا جائزہ لینا
deco Studio آپ کو ایک ایگزیکیوشن کے ہر لیئر کا معائنہ کرنے کی اجازت دیتا ہے۔ آپ ماڈل کی اصل درخواست دیکھتے ہیں: پرامپٹ، کانٹیکسٹ ونڈو، فارمیٹنگ۔ آپ وہ ٹول کال دیکھتے ہیں جو ماڈل نے کرنے کا فیصلہ کیا تھا۔ آپ دیکھتے ہیں کہ کنٹرول پلین نے اس کال کو کیسے روٹ کیا، فنکشن کو کیسے ایگزیکیوٹ کیا، اور پے لوڈ کیسے واپس آیا۔ آخر میں، آپ دیکھتے ہیں کہ ماڈل اس نتیجے کو اپنا جواب بنانے کے لیے کیسے استعمال کرتا ہے۔
یہ شفافیت بنیادی آڈٹ کے سوالات کے جواب دیتی ہے۔ آپ کو معلوم ہوتا ہے کہ کون سا ٹول چلا کیونکہ کنٹرول پلین نے اسے لاگ کیا تھا۔ آپ کو معلوم ہوتا ہے کہ رسائی کس نے دی کیونکہ کنفیگریشن ریکارڈز ایک مقامی رجسٹری میں موجود ہوتے ہیں۔ آپ کو معلوم ہوتا ہے کہ رن مہنگا کیوں تھا کیونکہ آپ ٹاکنز کی گنتی کر سکتے ہیں۔
اہم چیزوں کی گنتی
ہر رن کے لیے، چار مخصوص میٹرکس کو ٹریک کریں۔ پہلا، ان پٹ اور آؤٹ پٹ ٹاکنز۔ یہ ماڈل کے اخراجات کا بڑا حصہ ہوتے ہیں، اور آپ کو درست گنتی کی ضرورت ہے، نہ کہ محض اندازوں کی۔ دوسرا، ماڈل کی لیٹنسی (latency) کو ٹول کی لیٹنسی سے الگ کریں۔ آپ کے پرامپٹ اور ماڈل کے جواب کے درمیان کا وقت اس وقت سے مختلف ہے جو بیرونی سروس ایک ٹول کال کا جواب دینے میں لیتی ہے۔ ان دونوں میں الجھن سے غلط تشخیص ہو سکتی ہے۔ تیسرا، تصدیق شدہ پرووائیڈر ریٹس کی بنیاد پر لاگت کا حساب لگائیں۔ اندازہ نہ لگائیں۔ اپنے پرووائیڈر کی پرائس شیٹ چیک کریں اور اسے ماپے گئے ٹاکنز سے ملائیں۔ چوتھا، کامیاب کالز کا موازنہ مسترد شدہ غیر مجاز کالز سے کریں۔ مسترد ہونے کی زیادہ تعداد کا مطلب ہے کہ آپ کا ایجنٹ حدود کو آزما رہا ہے یا آپ کی ایلو لسٹ جائز ضروریات کے مطابق نہیں ہے۔
یہ اعداد و شمار ایجنٹ کے آپریشنز کو ایک بلیک باکس سبسکرپشن سے ایک قابل مشاہدہ (observable) سسٹم میں بدل دیتے ہیں۔ آپ بجٹ بنا سکتے ہیں، اسے بہتر بنا سکتے ہیں، اور وضاحت کر سکتے ہیں۔
لوکل کنٹرول اور لوکل ایگزیکیوشن کے درمیان فرق
یہ ایک ایسا سبق ہے جو محتاط بنانے والوں کو بھی الجھا دیتا ہے۔ اپنی مشین پر deco Studio چلانے سے آپ کو کنفیگریشن پر لوکل کنٹرول ملتا ہے، لیکن یہ خود ماڈل کی لوکل ایگزیکیوشن کی ضمانت نہیں دیتا۔ اگر آپ ایجنٹ کو OpenAI، Anthropic، یا کسی بھی ہوسٹڈ API جیسے بیرونی پرووائیڈر کو کال کرنے کے لیے کنفیگر کرتے ہیں، تو آپ کے پرامپٹس آپ کی مشین سے باہر چلے جاتے ہیں۔ Studio گیٹ کو مینیج کرتا ہے، لیکن ڈیٹا پھر بھی نیٹ ورک کے ذریعے سفر کرتا ہے۔
ہمیشہ ان حدود کو ٹریک کریں۔ جانیں کہ پائپ لائن کے کون سے حصے localhost پر رہتے ہیں اور کون سے حصے کسی دوسرے کے سرور پر جاتے ہیں۔ اگر آپ کا ڈیٹا حساس ہے، تو ٹول لیئر کا لوکل کنٹرول کافی نہیں ہے۔ آپ کو یہ بھی جاننے کی ضرورت ہے کہ ماڈل انفرنس (inference) کہاں ہو رہا ہے۔ لوکل ڈیش بورڈ کے آرام کو ریموٹ ماڈل کی حقیقت کے ساتھ نہ ملائیں۔
ہدایات کا مطلب اجازت نہیں ہے
ایک خطرناک شارٹ کٹ ایجنٹ کو پرامپٹنگ کے ذریعے محفوظ کرنے کی کوشش کرنا ہے۔ ماڈل کو یہ کہنا کہ، "ڈیلیٹ فنکشن کو کبھی کال نہ کریں،" کوئی سیکیورٹی کنٹرول نہیں ہے۔ یہ محض ایک مشورہ ہے۔ ماڈلز ہدایات کا غلط مطلب نکال سکتے ہیں، جیل بریک پرامپٹس کا شکار ہو سکتے ہیں، یا محض منطقی غلطیاں کر سکتے ہیں۔ اصل سیکیورٹی سافٹ ویئر کی حد (boundary) پر ہوتی ہے۔
یہ متعین کرنے کے لیے کہ کون سے فنکشنز کال کرنے کے قابل ہیں، deco Studio کے اندر ایلو لسٹ کا استعمال کریں۔ ان حدود کو کنٹرول پلین کے اندر سرور سائیڈ چیکس کے ذریعے نافذ کریں۔ ایجنٹ کو اپنی صلاحیتوں کا پتہ اسی طرح چلنا چاہیے جیسے ایک صارف فائل پرمیشنز کا پتہ لگاتا ہے: ایک سخت حد سے ٹکرا کر، نہ کہ کسی دوستانہ نوٹ کو پڑھ کر۔ سیکیورٹی آرکیٹیکچر کا حصہ ہونی چاہیے، نہ کہ قدرتی زبان کا۔
چھوٹے پیمانے سے شروع کریں، شکی رہیں
اپنے کنٹرول پلین کو ایک وقت میں ایک قدم کے ساتھ بنائیں۔ ایک MCP سرور۔ ایک ظاہر کردہ فنکشن۔ ایک مصنوعی ٹاسک۔ تصدیق کریں کہ ایجنٹ وہاں کامیاب ہوتا ہے جہاں اسے ہونا چاہیے اور وہاں ناکام ہوتا ہے جہاں اسے ہونا چاہیے۔ ٹریس (trace) پڑھیں۔ ٹاکنز کی گنتی کی تصدیق کریں۔ پھر اگلا ٹول شامل کریں۔
کنٹرول کوئی ایسا سوئچ نہیں ہے جسے آپ آن کر دیں۔ یہ حدود پر بھروسہ کرنے سے پہلے انہیں ثابت کرنے کی ایک عادت ہے۔ deco Studio آپ کو اس عادت کی مشق کرنے کے لیے لوکل پلین فراہم کرتا ہے۔ اسے خود مختار ایجنٹس کے جھنڈ کو ایک منظم، قابل مشاہدہ اور محدود سسٹم میں بدلنے کے لیے استعمال کریں۔
ماصل: Controlling AI Agents in deco Studio: Tools, Permissions, and Cost
اختیاری تعلیمی کمیونٹی: Telegram پر GyaanSetu AI
