پروڈکشن سے پہلے ایک AI ایجنٹ پلے گراؤنڈ بنانا
ایک کوڈنگ ایجنٹ نے ایک بار صفائی کا اسکرپٹ (cleanup script) اس ڈیٹا بیس پر چلایا جسے وہ اسٹیجنگ (staging) سمجھ رہا تھا۔ درحقیقت وہ پروڈکشن (production) ڈیٹا بیس تھا۔ ایجنٹ نے چار ماہ کے کسٹمر آرڈرز حذف کر دیے کیونکہ اس نے غلط کریڈنشلز (credentials) کے ساتھ بالکل وہی کیا جو اسے بتایا گیا تھا۔
یہ ناکامی ایجنٹس سے بچنے کی وجہ نہیں ہے۔ بلکہ یہ ایک پلے گراؤنڈ بنانے کی وجہ ہے۔
آپ کسی نئے انجینئر کو اس کے پہلے دن پروڈکشن ڈیٹا بیس تک رسائی نہیں دیں گے۔ آپ اسے اسٹیجنگ انوائرمنٹ، صرف پڑھنے کی رسائی (read-only access)، اور نگرانی شدہ کام دیتے ہیں۔ ایجنٹس کو بھی اسی طرح کے آن بورڈنگ (onboarding) کی ضرورت ہوتی ہے۔ وہ ایک منٹ میں ہزاروں اقدامات کر سکتے ہیں، اس لیے پلے گراؤنڈ کو نظر انداز کرنے کی قیمت ہزار گنا زیادہ ہو سکتی ہے۔
ایک حقیقی پلے گراؤنڈ کو تین کام کرنے چاہئیں:
- ایجنٹ کو اپنا مکمل فیصلہ سازی کا لوپ (decision loop) چلانے دیں۔
- تمام ضمنی اثرات (side effects) کو حقیقی سسٹمز تک پہنچنے سے روکیں۔
- معائنے کے لیے ہر چیز کو ریکارڈ کریں۔
صرف پرامپٹ (prompt) کو ٹیسٹ نہ کریں۔ پرامپٹ کو ٹیسٹ کرنے کا مطلب ہے ایک سوال پوچھنا اور جواب پڑھنا۔ ایک ایجنٹ کا طرزِ عمل ٹول کالز (tool calls) کا ایک تسلسل ہوتا ہے۔ اصل ناکامیاں لوپ کے درمیان میں ہوتی ہیں جب کوئی ٹول غیر متوقع ڈیٹا واپس کرتا ہے۔
آپ کو ماڈل کو سینڈ باکس (sandbox) کرنے کی ضرورت نہیں ہے۔ آپ کو ایگزیکیوٹر (executor) کو سینڈ باکس کرنے کی ضرورت ہے۔
وہاں ایک جوڑ (seam) بنائیں جہاں ٹول کالز ایکشنز میں تبدیل ہوتی ہیں۔ لائیو ایگزیکیوٹر کے بجائے مِکس (mocks) استعمال کرنے والا پلے گراؤنڈ ایگزیکیوٹر استعمال کریں۔ ایجنٹ لوپ کو اس فرق کا علم نہیں ہونا چاہیے۔ اگر آپ کا ایجنٹ براہ راست ڈیٹا بیس کلائنٹ کو کال کرتا ہے، تو آپ کے پاس نہ تو کوئی جوڑ ہے اور نہ ہی کوئی تحفظ۔
تین مخصوص شعبوں کا ٹیسٹ کریں:
- طرزِ عمل (Behavior): کیا ایجنٹ صحیح ترتیب میں صحیح ٹول کا انتخاب کرتا ہے؟
- ٹول کالز (Tool calls): کیا آرگومنٹ (arguments) درست ہیں اور محفوظ حدود کے اندر ہیں؟
- ناکامی کے طریقے (Failure modes): جب کوئی API ٹائم آؤٹ ہو جائے یا غلط ڈیٹا (garbage) واپس کرے تو کیا ہوتا ہے؟
ایک مِک (mock) جو ہمیشہ کامیاب ہو جائے، ایجنٹ کو کچھ نہیں سکھاتا۔ آپ کے پلے گراؤنڈ کو آپ کو نیٹ ورک ٹائم آؤٹ یا غلط فارمیٹ والے ڈیٹا (malformed data) جیسی ناکامیاں شامل کرنے کی اجازت دینی چاہیے۔ اسی طرح آپ دیکھ سکتے ہیں کہ آیا ایجنٹ سمجھداری سے دوبارہ کوشش کرتا ہے یا وہ وہم (hallucinating) کرنے لگتا ہے۔
اگر آپ کا ایجنٹ کوڈ چلاتا ہے، تو آپ کو مضبوط علیحدگی (isolation) کی ضرورت ہے۔ غیر قابل اعتماد کوڈ کے لیے microVMs استعمال کریں۔ صرف اس لیے سادہ کنٹینرز (containers) سے آغاز نہ کریں کہ وہ آسان ہیں۔ ایک آسان سیٹ اپ ایک بڑے سیکیورٹی حادثے کا سبب بن سکتا ہے۔
یاد رکھیں کہ ایجنٹس غیر حتمی (non-deterministic) ہوتے ہیں۔ ایک بار پاس ہونے والا ٹیسٹ اس بات کی ضمانت نہیں ہے کہ ایجنٹ قابل اعتماد ہے۔ آپ کو ایک ہی کام کو کئی بار چلانا ہوگا۔ اگر ایک ایجنٹ 10 میں سے 7 بار کامیاب ہوتا ہے، تو وہ آپ کے تقریباً 30% حقیقی صارفین کے لیے ناکام ہو جائے گا۔ تسلسل (Consistency) آپ کا سب سے اہم پیمانہ ہے۔
آخر میں، مخالفانہ ٹول آؤٹ پٹس (adversarial tool outputs) سے بچاؤ کریں۔ ایک ایجنٹ ٹول ڈیٹا کو ہدایات کے طور پر لیتا ہے۔ ایک بدنیتی پر مبنی صارف ایجنٹ کو گمراہ کرنے کے لیے پرامپٹ انجیکشن (prompt injection) کے ذریعے ڈیٹا بیس میں غلط معلومات ڈال سکتا ہے۔ پلے گراؤنڈ میں ایجنٹ کو جارحانہ پی لوڈز (hostile payloads) دے کر اسے ٹیسٹ کریں۔
ایک گریجویشن پاتھ (graduation path) بنائیں، لانچ بٹن نہیں:
- مِکس (mocks) اور مکمل سینڈ باکسنگ سے شروع کریں۔
- کئی بار چلانے کے بعد تسلسل (consistency) کا ٹیسٹ کریں۔
- مخالفانہ ان پٹس (adversarial inputs) کے خلاف ٹیسٹ کریں۔
- پروڈکشن نما ڈیٹا کے خلاف ڈرائی رن (dry-run) موڈ پر منتقل ہوں۔
- صرف اس کے بعد محدود، باحجاب (gated)، اور نگرانی شدہ رسائی دیں۔
اپنے ایجنٹ کو سستی قیمت پر غلط ہونے کی جگہ دیں۔ پھر وہ وہاں درست ہو سکتا ہے جہاں اس کی اہمیت ہے۔
Source: https://dev.to/nazar_boyko/building-an-ai-agent-playground-before-giving-it-production-access-4glh
Optional learning community: https://t.me/GyaanSetuAi
