𝗬𝗼𝘂𝗿 𝗔𝗴𝗲𝗻𝘁 𝗗𝗲𝗺𝗼 𝗪𝗼𝗿𝗸𝘀. 𝗬𝗼𝘂𝗿 𝗔𝗴𝗲𝗻𝘁 𝗗𝗼𝗲𝘀𝗻'𝘁. آپ کے ایجنٹ کا ڈیمو تو کام کرتا ہے، لیکن آپ کا ایجنٹ نہیں۔

زیادہ تر ایجنٹ آرکیٹیکچرز (architectures) حقیقی کام کے دوران ناکام ہو جاتے ہیں۔

ایک ڈیمو ایک واحد ٹاسک اور تیز رفتار جواب کے ساتھ اچھا لگتا ہے۔ حقیقی کام میں انشورنس کلیمز، سیلز سیکوئنسز، یا ڈیٹا ری کنسلی ایشن (data reconciliation) شامل ہوتے ہیں۔ ان کاموں میں وقت اور کئی مراحل درکار ہوتے ہیں۔

مسئلہ اسٹیٹ لیس نیس (statelessness) کا ہے۔ زیادہ تر ایجنٹس ہر بار بات چیت کے دوران سیاق و سباق (context) کو صفر سے دوبارہ بناتے ہیں۔ وہ استدلال کی زنجیر (reasoning chain) اور کی گئی پیش رفت کو کھو دیتے ہیں۔ نتیجہ ایک ایسے شائستہ AI کی صورت میں نکلتا ہے جو صورتحال جاننے کا صرف ڈھونگ رچاتا ہے۔

Google Cloud کے ماہرین Addy Osmani اور Shubham Saboo نے اس مسئلے کو حل کرنے کے لیے پانچ پیٹرنز (patterns) شیئر کیے ہیں۔ ان کی تفصیل درج ذیل ہے:

  • Checkpoint-and-Resume اپنے ایجنٹ کے ساتھ ایک سرور کی طرح پیش آئیں۔ کام کے ہر چند یونٹس کے بعد پیش رفت کو محفوظ کریں۔ اگر کوئی ایجنٹ 1,000 میں سے 201 ویں ٹاسک پر ناکام ہو جاتا ہے، تو وہ 201 سے دوبارہ شروع کرے۔ اسے صفر سے شروع نہ کریں۔

  • Delegated Approval انسانی منظوری کے لیے Slack یا ای میل کا استعمال بند کریں۔ یہ ٹولز سیاق و سباق (context) کو توڑ دیتے ہیں۔ ایجنٹ کو وہیں روک دیں۔ مکمل اسٹیٹ (state) کو برقرار رکھیں تاکہ انسانی جواب ملتے ہی وہ فوری طور پر دوبارہ شروع ہو سکے۔ درخواستوں اور غلطیوں کے لیے ایک منظم ان باکس (inbox) استعمال کریں۔

  • Memory-Layered Context لانگ ٹرم میموری (long-term memory) کو ورکنگ میموری (working memory) سے الگ کریں۔ لانگ ٹرم میموری مختلف سیشنز کے دوران علم کو محفوظ رکھتی ہے۔ ورکنگ میموری موجودہ ٹاسک کو سنبھالتی ہے۔ آپ کو میموری ڈرفٹ (memory drift) سے بچنا ہوگا جہاں ایجنٹس غیر معمولی حالات (edge cases) سے بری عادتیں سیکھ لیتے ہیں۔ غلط ڈیٹا کو روکنے کے لیے آئیڈینٹیٹی مینجمنٹ اور گورننس لیئر (governance layer) کا استعمال کریں۔

  • Ambient Processing ایسے ایجنٹس بنائیں جو ڈیٹا اسٹریمز جیسے کہ سپورٹ ٹکٹس یا ڈیٹا بیس کی تبدیلیوں پر نظر رکھیں۔ ایجنٹ کے اندر رولز (rules) کو ہارڈ کوڈ نہ کریں۔ رولز کو ایک بیرونی گورننس لیئر میں رکھیں۔ اس طرح، آپ ایک جگہ رولز اپ ڈیٹ کریں گے اور پورا فلیٹ (fleet) ان پر عمل کرے گا۔

  • Fleet Orchestration اسپیشلسٹ ایجنٹس کو مینیج کرنے کے لیے ایک کوآرڈینیٹر ایجنٹ استعمال کریں۔ ہر اسپیشلسٹ کے اپنے ٹولز اور شناخت ہوتی ہے۔ یہ ڈسٹری بیوٹڈ سسٹمز (distributed systems) میں استعمال ہونے والے ورکر پیٹرن کی پیروی کرتا ہے۔ آپ پورے سسٹم کو خراب کیے بغیر ایک اسپیشلسٹ کو اپ ڈیٹ کر سکتے ہیں۔

سب سے بڑا خطرہ میموری ڈرفٹ (memory drift) ہے۔

لوگ پرامپٹس (prompts) پر توجہ دیتے ہیں لیکن اس بات کو نظر انداز کر دیتے ہیں کہ وقت کے ساتھ ایجنٹ کا رویہ کیسے بدلتا ہے۔ اگر کوئی ایجنٹ غلط یا عجیب و غریب تعاملات سے سیکھتا ہے، تو وہ اس کوڈ کی طرح کام کرنا چھوڑ دیتا ہے جو آپ نے لکھا تھا۔

آپ کو ایجنٹس کے ساتھ مائیکرو سروسز (microservices) کی طرح پیش آنا چاہیے۔ انہیں شناخت، ایک رجسٹری، اور سخت پالیسی نفاذ کی ضرورت ہوتی ہے۔

خود سے پوچھیں: وہ طویل ترین ٹاسک کیا ہے جو میرے ایجنٹ کو بغیر رکے کرنا ہوگا؟ اگر جواب گھنٹوں یا دنوں میں ہے، تو آپ کو ان پیٹرنز کی ضرورت ہے۔

آپ کے ایجنٹ کا ڈیمو تو کام کرتا ہے، لیکن آپ کا ایجنٹ نہیں

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

لیکن پھر، آپ اسے حقیقی دنیا کے صارفین کے لیے ریلیز کرتے ہیں، اور سب کچھ بکھر جاتا ہے۔

یہاں مسئلہ یہ نہیں ہے کہ آپ کا کوڈ غلط ہے؛ مسئلہ یہ ہے کہ آپ کا ڈیمو اور آپ کا پروڈکشن سسٹم دو بالکل مختلف چیزیں ہیں۔

ڈیمو کا جال (The Demo Trap)

ڈیمو میں، آپ ایک کنٹرول شدہ ماحول میں ہوتے ہیں۔ آپ جانتے ہیں کہ صارف کیا پوچھے گا، آپ کے پاس بہترین ڈیٹا ہوگا، اور آپ کے ٹولز ہمیشہ دستیاب ہوں گے۔ آپ صرف "ہیپی پاس" (happy path) دکھا رہے ہوتے ہیں۔

لیکن پروڈکشن میں، حقیقت کچھ اور ہوتی ہے:

  • غیر متوقع ان پٹ (Unpredictable Inputs): صارفین وہ نہیں پوچھتے جو آپ چاہتے ہیں کہ وہ پوچھیں۔ وہ عجیب و غریب، غیر منطقی اور پیچیدہ سوالات پوچھتے ہیں۔
  • ٹول کی ناکامی (Tool Failures): آپ کا ایجنٹ جس API یا ڈیٹا بیس پر انحصار کرتا ہے، وہ ہمیشہ کام نہیں کرے گا۔ نیٹ ورک کی خرابی یا ٹائم آؤٹ آپ کے ایجنٹ کو مفلوج کر سکتے ہیں۔
  • ہیلوسینیشنز (Hallucinations): ڈیمو میں، LLM شاید کبھی غلطی نہ کرے، لیکن پروڈکشن میں، وہ خود اعتمادی کے ساتھ غلط معلومات فراہم کر سکتا ہے۔
  • لیٹنسی اور لاگت (Latency and Cost): ایک ڈیمو میں، 10 سیکنڈ کا انتظار کوئی مسئلہ نہیں، لیکن ایک حقیقی صارف کے لیے، یہ بہت زیادہ ہے۔ اسی طرح، ہر ٹرائی پر آنے والی لاگت بھی ایک بڑا مسئلہ بن جاتی ہے۔

ڈیمو اور پروڈکشن کے درمیان فرق

خصوصیت ڈیمو (Demo) پروڈکشن (Production)
ان پٹ کنٹرول شدہ اور متوقع غیر متوقع اور متنوع
ٹولز ہمیشہ دستیاب اور تیز ناکامی اور تاخیر کا امکان
مقصد متاثر کرنا (Impress) کام مکمل کرنا (Solve)
توجہ کامیابی کے راستے پر غلطیوں کو سنبھالنے پر

ڈیمو سے پروڈکشن تک کا سفر

اگر آپ اپنے ایجنٹ کو صرف ایک ڈیمو سے نکال کر ایک قابل اعتماد پروڈکٹ بنانا چاہتے ہیں، تو آپ کو ان چیزوں پر توجہ دینی ہوگی:

1. ایویلیوایشن (Evaluation)

صرف "یہ کام کر رہا ہے" کہنا کافی نہیں ہے۔ آپ کو ایک منظم ایویلیوایشن فریم ورک کی ضرورت ہے جو یہ جانچ سکے کہ آپ کا ایجنٹ کتنی بار صحیح اور کتنی بار غلط ہوتا ہے۔ آپ کو یہ جاننا ہوگا کہ آپ کا ایجنٹ کن حالات میں ناکام ہو رہا ہے۔

2. ایرر ہینڈلنگ (Error Handling)

آپ کا ایجنٹ صرف "ہیپی پاس" کے لیے نہیں ہونا چاہیے۔ اسے یہ معلوم ہونا چاہیے کہ اگر کوئی ٹول کام نہ کرے یا LLM غلط جواب دے، تو اسے کیا کرنا ہے۔ اسے "گریس فل فیلنگ" (graceful failing) کی ضرورت ہے۔

3. مانیٹرنگ اور مشاہدہ (Monitoring and Observability)

آپ کو یہ جاننے کی ضرورت ہے کہ پروڈکشن میں ایجنٹ کیا کر رہا ہے۔ وہ کہاں پھنس رہا ہے؟ وہ کون سے ٹولز استعمال کر رہا ہے؟ مانیٹرنگ کے بغیر، آپ اندھیرے میں تیر رہے ہیں۔

خلاصہ

ایک کامیاب ڈیمو صرف آغاز ہے۔ ایک کامیاب ایجنٹ وہ ہے جو غیر متوقع حالات میں بھی مستقل مزاجی اور درستگی کے ساتھ کام کر سکے۔


Optional learning community: https://t.me/GyaanSetuAi