ایجنٹک ورک فلو کے ڈیزائن کے 4 پہلو
لوگ اکثر AI ایجنٹس اور AI ورک فلو میں فرق نہیں کر پاتے۔ کچھ کا کہنا ہے کہ ٹولز کے ساتھ کوئی بھی LLM ایک ایجنٹ ہے۔ دوسرے کہتے ہیں کہ ایک ایجنٹ کو طویل عرصے تک خود مختار طور پر کام کرنا چاہیے۔ یہ بحثیں آپ کو بہتر سسٹم بنانے میں مدد نہیں دیتیں۔
یہ پوچھنا چھوڑ دیں کہ آیا کوئی سسٹم ایجنٹک ہے یا نہیں۔ اس کے بجائے، ان چار ڈیزائن پہلوؤں پر غور کریں:
- اگلا قدم کون طے کرتا ہے؟
- کوڈ پر مبنی (Code-driven): کوڈ ترتیب کو کنٹرول کرتا ہے۔ اسے ان اہم کاموں کے لیے استعمال کریں جن کے اصول واضح ہوں۔
- ماڈل پر مبنی (Model-driven): LLM مراحل کی منصوبہ بندی کرتا ہے۔ اسے کھلے سرے کے (open-ended) کاموں کے لیے استعمال کریں۔
- ہائبرڈ (Hybrid): کوڈ فریم ورک طے کرتا ہے اور LLM چھوٹے فیصلے کرتا ہے۔ یہ سب سے عملی انتخاب ہے۔
- کیا راستہ مقررہ ہے؟
- مقررہ (Fixed): مراحل ایک طے شدہ ترتیب پر عمل کرتے ہیں۔
- مشروط (Conditional): سسٹم نتائج کی بنیاد پر شاخوں (branches) یا دوبارہ کوشش (retries) کا استعمال کرتا ہے۔
- موافق (Adaptive): راستہ رن ٹائم پر بدل جاتا ہے۔ اسے تحقیق یا ڈی بگنگ کے لیے استعمال کریں۔
- ایجنٹس مل کر کیسے کام کرتے ہیں؟
- سنگل ایجنٹ (Single Agent): ایک ایجنٹ متعدد ٹولز استعمال کرتا ہے۔ یہ سادہ ہے لیکن سیاق و سباق (context) الجھ سکتا ہے۔
- مینیجر-ورکر (Manager-Worker): ایک ایجنٹ کاموں کو تقسیم کرتا ہے اور دوسروں کو سونپ دیتا ہے۔
- ہینڈ آف (Handoff): ایک ایجنٹ کنٹرول کسی ماہر (specialist) کو منتقل کر دیتا ہے۔
- پیئر (Peer): متعدد ایجنٹس کسی مرکزی لیڈر کے بغیر مل کر کام کرتے ہیں۔ اسے ڈی بگ کرنا سب سے مشکل ہے۔
- انسان کہاں مداخلت کرتے ہیں؟
- انسانی مداخلت سے شروع ہونے والا (Human-triggered): آپ ہر بڑے عمل کی منظوری دیتے ہیں۔
- چیک پوائنٹڈ (Checkpointed): سسٹم خود کام کرتا ہے لیکن زیادہ خطرے والے مراحل پر منظوری کے لیے رک جاتا ہے۔
- گارڈ ریلز کے ساتھ مقصد پر مبنی (Goal-driven with guardrails): آپ مقصد طے کرتے ہیں اور سسٹم بجٹ اور اجازت ناموں جیسی حدود کے اندر کام کرتا ہے۔
صرف دکھاوے کے لیے ایجنٹس کا اضافہ نہ کریں۔ ایجنٹ شامل کرنے سے لیٹنسی (latency)، لاگت اور ڈی بگنگ کی مشکل بڑھ جاتی ہے۔ متعدد ایجنٹس کا استعمال صرف تب کریں جب آپ کاموں کو متوازی (parallel) چلا سکیں یا اگر ایک ایجنٹ کے پاس بہت زیادہ سیاق و سباق (context) ہو۔
اپنے آرکیٹیکچر کو کام کے مطابق ڈھالیں۔ اگر کام پرخطر ہے تو چیک پوائنٹس استعمال کریں۔ اگر کام سادہ ہے تو کوڈ استعمال کریں۔
بنانے سے پہلے خود سے یہ چھ سوالات پوچھیں:
- کیا عام کوڈ اس کا حل نکال سکتا ہے؟
- ان پٹ میں کتنی تبدیلی (variation) ہے؟
- کیا کام کو تقسیم کیا جا سکتا ہے؟
- ناکامی کی قیمت کیا ہوگی؟
- کیا آپ دیکھ سکتے ہیں کہ یہ کہاں ٹوٹتا ہے؟
- کیا اضافی پیچیدگی نتیجے کے قابل ہے؟
ایک اچھا ورک فلو جہاں ضرورت ہو وہاں لچکدار رہتا ہے اور جہاں ضرورت ہو وہاں قابلِ پیش گوئی (predictable) رہتا ہے۔
Source: https://dev.to/whchi/4-design-dimensions-of-agentic-workflows-1i0m
Optional learning community: https://t.me/GyaanSetuAi
