ایجنٹ کا بنیادی ڈھانچہ اور نیا پس منظر
· 13 min read · Filippo Spinella · AI, Agents, Infrastructure, Developer Tools
ہم نے اکثر ایجنٹی فریم ورک کے بارے میں بات کی ہے۔ LangGraph، CrewAI، AutoGen، مختلف SDKs، لوپ، ٹول کالنگ، میموری، منصوبہ ساز، نقاد، سپروائزر۔ تمام مفید الفاظ، نیکی کی خاطر۔ لیکن جتنا میں اصل میں استعمال ہونے والے ایجنٹوں کو دیکھتا ہوں، اتنا ہی مجھے لگتا ہے کہ دلچسپ حصہ فریم ورک کی سطح سے نیچے چلا گیا ہے۔
سوال اب صرف یہ نہیں ہے کہ میں ایک سٹیپ ماڈل سوچنے کے لیے کون سی لائبریری استعمال کروں؟
اصل سوال یہ ہے کہ: جب یہ ایجنٹ ڈیمو بننا چھوڑ دیتا ہے تو وہ کہاں رہتا ہے؟
کیونکہ ایک سنجیدہ ایجنٹ کوئی فنکشن نہیں ہے جو ماڈل کو کال کرتا ہے اور متن واپس کرتا ہے۔ یہ ایک چھوٹا تقسیم شدہ نظام ہے۔ اسے سیاق و سباق کو پڑھنا، ٹولز استعمال کرنا، کوڈ پر عمل کرنا، فائلوں کو ٹچ کرنا، فیصلے یاد رکھنا، اجازت طلب کرنا، اچھی طرح سے ناکام ہونا، دوبارہ شروع کرنا، لاگ چھوڑنا، بجٹ کو جلانا نہیں اور پروڈکشن ریپوزٹری کے اندر بلڈوزر میں تبدیل نہیں ہونا چاہیے۔
فریم ورک اسٹیئرنگ وہیل ہے۔ بنیادی ڈھانچہ سڑک، بریک، گیراج، انشورنس اور وہ شخص ہے جو جانتا ہے کہ چابیاں کہاں ہیں۔
کیونکہ اب اس کے بارے میں بہت چرچا ہے۔
2023 اور 2024 میں بات چیت بہت ماڈل پر مبنی تھی۔ کون سی ایل ایل ایم؟ کتنا سیاق و سباق؟ اس کی قیمت کتنی ہے؟ وہ پروگرامنگ میں کتنا اچھا ہے؟
2025 اور 2026 میں بات چیت میں تبدیلی آئی ہے۔ ماڈلز حقیقی کام کرنے کے لیے کافی اچھے ہیں، لیکن اسی لیے بورنگ بٹس نظر آنے لگتے ہیں: رن ٹائم، سیکیورٹی، کنیکٹر، شناخت، مشاہدہ، کوڈ پر عمل درآمد، تعیناتی، رول بیک۔
یہ جادو سے انجینئرنگ میں قدرتی منتقلی ہے۔
جب کسی ایجنٹ کو صرف جواب پیدا کرنے کی ضرورت ہوتی ہے، تو بات چیت کافی ہوتی ہے۔ جب آپ کو پل کی درخواست کھولنے، ڈیٹا بیس سے استفسار کرنے، CRM کو کال کرنے، کوئی کام شروع کرنے، کسی سائٹ پر نیویگیٹ کرنے، Slack کو پڑھنے، کوڈ کو مرتب کرنے اور کسی دستاویز کو اپ ڈیٹ کرنے کی ضرورت ہو تو آپ کو اس کے ارد گرد آپریٹنگ سسٹم کی ضرورت ہوتی ہے۔
لفظی معنی میں نہیں۔ تنظیمی لحاظ سے۔
پہلا ٹکڑا: ایک رن ٹائم جہاں ایجنٹ چل سکتا ہے۔
ایک ایجنٹ اکثر قدموں میں کام کرتا ہے۔ ریاست کو دیکھیں، ایک عمل کا انتخاب کریں، ایک ٹول استعمال کریں، نتیجہ دیکھیں، پلان کو اپ ڈیٹ کریں، دہرائیں۔
اگر یہ لوپ ایک ہی HTTP درخواست کے اندر رہتا ہے، تو آپ کو فوری طور پر ایک مسئلہ درپیش ہے۔ کچھ اعمال سست ہیں۔ کچھ انسانی ان پٹ کے منتظر ہیں۔ کچھ ناکام ہو جاتے ہیں اور دوبارہ کوشش کی جانی چاہیے۔ کچھ کو تعیناتی یا ٹائم آؤٹ سے بچنا چاہیے۔
یہ وہ جگہ ہے جہاں پائیدار ورک فلو، قطاریں، ملازمت کے پس منظر اور ریاستی مشینیں کام میں آتی ہیں۔ وہ گلیمرس نہیں ہیں، لیکن یہ ایک ایسے ایجنٹ کے درمیان فرق ہے جو ڈیمو پر ہوشیار لگتا ہے اور ایک جسے آپ کافی لینے جاتے وقت کام چھوڑ سکتے ہیں۔
میرے لئے ایجنٹ رن ٹائم کو بہت ٹھوس سوالات کے جوابات دینے چاہئیں:
- میں ریاست کو ایک قدم اور دوسرے کے درمیان کہاں بچاؤں؟
- اگر عمل آدھے راستے میں ختم ہو جائے تو کیا ہوگا؟
- کیا میں روک سکتا ہوں اور منظوری مانگ سکتا ہوں؟
- کیا میں یہ سمجھنے کے لیے رن چلا سکتا ہوں کہ اس نے یہ انتخاب کیوں کیا؟
- کیا میں مدت، میموری، ٹولز اور لاگت کو محدود کر سکتا ہوں؟
Vercel اس محاذ پر AI SDKs، فنکشنز، ورک فلوز اور ویب ایپلیکیشنز کے اندر ایجنٹس بنانے کے لیے ٹولز کے ساتھ زور دے رہا ہے۔ لیکن بات صرف ورسل کی نہیں ہے۔ بات یہ ہے کہ ایجنٹ کو ایک آپریشنل گھر کی ضرورت ہے، نہ کہ ایک آخری نقطہ۔
دوسرا ٹکڑا: سینڈ باکس، کیونکہ ایجنٹ کو توڑے بغیر گندا ہونے کے قابل ہونا چاہیے۔
جیسے ہی کوئی ایجنٹ کوڈ لکھتا ہے یا حکم دیتا ہے، ایک سینڈ باکس کی ضرورت ہوتی ہے۔
یہ ایک تکنیکی لفظ کی طرح لگتا ہے، لیکن خیال گھریلو ہے: آپ اسے ایک ورک بینچ دیتے ہیں۔ یہ فائلیں کھول سکتا ہے، انحصار انسٹال کر سکتا ہے، ٹیسٹ چلا سکتا ہے، تجربات کر سکتا ہے، آؤٹ پٹ تیار کر سکتا ہے۔ اگر وہ اسے غلط سمجھتا ہے، تو آپ نے نقصان کو سمیٹ لیا ہے۔ اگر یہ کام کرتا ہے تو نتیجہ کو فروغ دیں۔
ایک ایجنٹ سینڈ باکس میں کچھ خصوصیات ہونی چاہئیں:
- الگ تھلگ فائل سسٹم؛
- سی پی یو، میموری اور وقت کی حد؛
- کنٹرول نیٹ ورک؛
- راز صرف اس وقت نصب کیے جاتے ہیں جب ضرورت ہو۔
- مکمل نوشتہ جات؛
- نمونے برآمد کرنے کا امکان؛
- رنز کے درمیان کلین ری سیٹ، جب ضروری ہو۔
ورسل سینڈ باکس بالکل اسی سمت جاتا ہے: کوڈ چلانے، انحصار کو انسٹال کرنے، فائلوں کے ساتھ کام کرنے اور مین ایپلیکیشن رن ٹائم میں سب کچھ چلائے بغیر نمونے تیار کرنے کے لیے الگ تھلگ ماحول۔
یہ بات اس سے کہیں زیادہ اہم ہے جتنا کہ لگتا ہے۔ بہت سے ایجنٹ پروٹوٹائپس ماڈل سے حقیقی نظام میں براہ راست چھلانگ لگاتے ہیں. ماڈل ٹول کو کال کرسکتا ہے۔ ٹولز چیزیں کر سکتے ہیں۔ یہ سب پہلی غلط کمانڈ تک خوبصورت لگتا ہے، غلط جگہ پر پہلا انحصار انسٹال ہوتا ہے، پہلا ٹوکن جو لاگ میں ختم ہوتا ہے۔
سینڈ باکس یہ کہنے کا بالغ طریقہ ہے: آگے بڑھو، لیکن یہاں۔
تیسرا حصہ: MCP اور کنیکٹر کا مسئلہ
ماڈل سیاق و سباق پروٹوکول ماحولیاتی نظام کے سب سے دلچسپ حصوں میں سے ایک بن گیا ہے کیونکہ یہ کسی ایسی چیز کو معیاری بنانے کی کوشش کرتا ہے جو بصورت دیگر فوری طور پر ناقابل انتظام ہو جاتا ہے: ایک ماڈل کس طرح بیرونی آلات کو دریافت کرتا ہے اور استعمال کرتا ہے۔
معیار کے بغیر، ہر انضمام ایک چھوٹا جزیرہ ہے۔ GitHub کے کنیکٹر نے ایک طرح سے کیا، ایک Slack کے لیے دوسرا، ایک مختلف سیمنٹکس والے ڈیٹا بیس کے لیے، ایک براؤزر آٹومیشن کے لیے جو کچھ بھی نہیں لگتا ہے۔
MCP کلائنٹ اور سرور کے درمیان ایک مشترکہ زبان تجویز کرتا ہے: ٹولز، وسائل، اشارے، اجازت، نقل و حمل، دریافت۔ یہ جادوئی طور پر حکمرانی اور سلامتی کو حل نہیں کرتا، لیکن یہ ایک گرامر دیتا ہے۔
اور گرامر کے معاملات۔ جب ایک ایجنٹ بہت سے ٹولز سے جڑ سکتا ہے، تو سوال صرف یہ نہیں ہوتا کہ "کیا وہ یہ کر سکتا ہے؟"۔ مسئلہ یہ ہے کہ "کیا وہ سمجھتا ہے کہ وہ کیا کر سکتا ہے، کن حدود کے ساتھ، کس کی طرف سے، اور کیا نشان چھوڑ رہا ہے؟"۔
میرے لئے MCP hype نہیں ہے کیونکہ یہ "ٹول کالنگ کرتا ہے"۔ ہم نے پہلے ہی ایسا کیا ہے۔ یہ ہائپ ہے کیونکہ یہ کشش ثقل کے مرکز کو واحد انضمام سے ٹولز کے آپریشنل کیٹلاگ میں منتقل کرتا ہے۔
ایک اچھے ایجنٹی فن تعمیر میں، MCP ایک قسم کا پیچ پینل بن جاتا ہے:
- کوڈ اور مسائل کے لیے گٹ ہب؛
- بات چیت کے سیاق و سباق کے لئے سست؛
- منصوبہ بند کام کے لیے لکیری یا جیرا؛
- تجزیات کے لیے صرف پڑھنے کے لیے ڈیٹا بیس؛
- بیرونی سائٹس کے لیے براؤزر یا کھرچنے والا کنٹرول؛
- دستاویز کا ذخیرہ؛
- الگ تھلگ پھانسی کے ماحول؛
- اندرونی نظام سخت اجازتوں کے ساتھ بے نقاب۔
مشکل حصہ یہ ہے کہ پالیسی فری ٹول کیٹلاگ افراتفری پیدا کرنے کا ایک زیادہ خوبصورت طریقہ ہے۔
چوتھا حصہ: شناخت اور اجازت
یہ وہ علاقہ ہے جہاں بہت سے ڈیمو آنکھیں بند کر لیتے ہیں۔
ایک ایجنٹ کسی کی طرف سے کام کرتا ہے۔ تو یہ واضح ہونا چاہیے کہ عمل کا موضوع کون ہے۔
کیا یہ صارف کی اجازت استعمال کر رہا ہے؟ سروس اکاؤنٹ کا؟ کام کی جگہ کا؟ کیا آپ کے پاس عارضی یا مستقل رسائی ہے؟ کیا آپ سب کچھ پڑھ سکتے ہیں یا صرف کچھ وسائل؟ کیا آپ لکھ سکتے ہیں؟ کیا آپ منسوخ کر سکتے ہیں؟ Can he text real people?
اگر آپ ان سوالات کے اچھے جواب نہیں دیتے ہیں، تو جلد یا بدیر آپ گھر کی چابیاں کے ساتھ ایک اسسٹنٹ بنائیں گے اور اس بات کی کوئی یاد نہیں رہے گی کہ انہیں کس نے دیا ہے۔
انگوٹھے کا اصول مجھے یہ پسند ہے: ایجنٹ کو انسان سے کم کرنے کے قابل ہونا چاہئے، انسان سے زیادہ نہیں۔ اور جب اسے کوئی خطرناک کام کرنا ہو تو اسے روک کر پوچھنا پڑتا ہے۔
اس کا مطلب ہے OAuth، ٹوکن اسکوپڈ، خفیہ انتظام، آڈٹ لاگ، ٹول پالیسی، اجازت کی فہرست، منظوری کا مرحلہ۔ بہت رومانٹک چیزیں نہیں۔ ضروری سامان۔
پانچواں ٹکڑا: یادداشت اور سیاق و سباق، لیکن کوڑا کرکٹ جمع کیے بغیر
ایجنٹوں کو میموری کی ضرورت ہوتی ہے، لیکن یادداشت خطرناک ہوتی ہے جب یہ اٹاری بن جاتی ہے۔
یادداشت کی کم از کم تین اقسام ہیں:
- میموری چلائیں: اس عمل میں کیا ہوا؛
- پروجیکٹ میموری: کنونشنز، فیصلے، رکاوٹیں؛
- ذاتی یا ٹیم میموری: ترجیحات، لہجہ، رسومات، عمل۔
ہر چیز کو پرامپٹ میں ڈالنا ہی شارٹ کٹ ہے۔ یہ اس وقت تک کام کرتا ہے جب تک کہ یہ کام نہ کرے۔ مفید میموری کا خیال رکھنا ضروری ہے: انڈیکسڈ، اپ ڈیٹ، میعاد ختم، تصدیق شدہ، قابل ذکر۔
ایک ایجنٹ جو بُری طرح یاد رکھتا ہے وہ اس ایجنٹ سے بدتر ہے جو یاد نہیں رکھتا۔ کیونکہ وہ اعتماد کے ساتھ بولتا ہے۔
اس لیے بنیادی ڈھانچے میں بازیافت، ہدایات کی فائلیں، علم کی بنیاد، ضرورت پڑنے پر سرایت کرنا، بلکہ صفائی بھی شامل ہونا چاہیے۔ ہمیں میموری کی ثقافت کی ضرورت ہے: کیا داخل ہوتا ہے، کون اسے منظور کرتا ہے، جب یہ زوال پذیر ہوتا ہے، میں اسے کیسے درست کروں۔
چھٹا ٹکڑا: مشاہدہ، ایول اور ری پلے
اگر کوئی ایجنٹ غلطی کرتا ہے، تو "ماڈل کہلاتا ہے" لاگ کافی نہیں ہے۔
آپ راستہ دیکھنا چاہتے ہیں۔ اس نے کیا سیاق و سباق حاصل کیا؟ کون سے اوزار دستیاب تھے؟ آپ نے کون سا ٹول منتخب کیا؟ کن دلائل سے؟ آپ کو کیا جواب ملا؟ اس پر کتنا خرچ آیا؟ کہاں پھنس گیا؟ کیا انسان کو کچھ منظور تھا؟ کیا ایرر ماڈل، ٹول، پرامپٹ، ڈیٹا یا اجازت کی غلطی ہے؟
یہاں ایجنٹ چیٹ بوٹس سے زیادہ تقسیم شدہ نظام کی طرح ہیں۔
آپ کو پڑھنے کے قابل نشانات کی ضرورت ہے، نہ کہ صرف ٹیکسٹ لاگز۔ آپ کو ایک رن دوبارہ چلانے کے قابل ہونے کی ضرورت ہے۔ معلوم کاموں پر ایک ہی ایجنٹ کے دو ورژن کا موازنہ کرنا ضروری ہے۔ ہمیں رجعت کی پیمائش کرنے کی ضرورت ہے: یہ نہ صرف "بہتر جواب" دیتا ہے، بلکہ یہ "غیر منقولہ فائلوں کو چھوئے بغیر صحیح ٹکٹ بند کر دیتا ہے"۔
ایجنٹی ایولز ٹیکسٹ ایولز سے زیادہ مشکل ہیں کیونکہ ان میں اعمال شامل ہیں۔ متوقع سٹرنگ کا موازنہ کرنا کافی نہیں ہے۔ آپ کو ترتیب، ضمنی اثرات، نوادرات کا معیار، وقت، قیمت، انسانی مداخلتوں کی تعداد کو دیکھنا ہوگا۔
مزے کی بات یہ ہے کہ ہم ہمیشہ وہاں واپس آتے ہیں: سافٹ ویئر انجینئرنگ۔ ٹیسٹ، ماحول، نشانات، رول بیکس۔ سوائے اس کے کہ کوڈ اب یہ بھی فیصلہ کرتا ہے کہ آگے کیا کرنا ہے۔
ساتواں ٹکڑا: انسانی انٹرفیس
ایجنٹ کو صرف چیٹ میں رہنے کی ضرورت نہیں ہے۔
کچھ ایجنٹوں کو بورڈ کی ضرورت ہوتی ہے۔ دوسروں کا اسٹیٹس اور لاگ کے ساتھ ایک صفحہ۔ "منظوری" بٹن کے دوسرے۔ مزید ان لائن تبصرے۔ اب بھی ایک CLI کے دیگر.
UI رویے کو تبدیل کرتا ہے۔ اگر ایجنٹ کو کنٹرول کرنے کا واحد طریقہ ایک لمبا پیغام لکھنا ہے، تو صارف ایجنٹ کو مبہم ہدایات دے گا۔ تاہم، اگر وہ منصوبہ، اختلاف، ذرائع، خطرات اور اگلی کارروائی دیکھتا ہے، تو وہ قطعی طور پر مداخلت کر سکتا ہے۔
ایک مہذب ایجنٹ کے بنیادی ڈھانچے میں کنٹرول سطحیں شامل ہیں:
- موجودہ حیثیت؛
- قابل تدوین منصوبہ؛
- تیار کردہ نوادرات؛
- فرق؛
- منظوری کی درخواستیں؛
- تاریخ
- سٹاپ بٹن؛
- دوبارہ کوشش کریں بٹن؛
- مرئی اجازتیں۔
یہ معمولی لگتا ہے، لیکن ایسا نہیں ہے۔ "کریپی اے آئی" اور "قابل اعتماد اسسٹنٹ" کے درمیان فرق اکثر اتنا ہوتا ہے کہ مؤخر الذکر آپ کو دکھاتا ہے کہ اس کے ہاتھ کہاں ہیں۔
ذہنی اسٹیک
اگر میں آج اسے کھینچوں تو کم از کم ایجنٹ اسٹیک یہ ہوگا:
- ماڈل: اگر ضروری ہو تو استدلال، نسل، ٹول کالنگ، ملٹی موڈل۔
- آرکیسٹریشن: لوپ، قدم، منصوبہ ساز، پالیسی، انسانی اندر کا لوپ۔
- پائیدار رن ٹائم: ورک فلو، قطار، دوبارہ کوشش، توقف، دوبارہ شروع کریں۔
- سینڈ باکس: کوڈ پر عمل درآمد، الگ تھلگ فائل سسٹم، حدود، نمونے
- ٹول پرت: MCP، اندرونی API، براؤزر، ڈیٹا بیس، ذخیرہ۔
- شناختی پرت: OAuth، دائرہ کار، خفیہ، آڈٹ، پالیسی۔
- میموری پرت: پراجیکٹ سیاق و سباق، بازیافت، ہدایات، میعاد ختم ہونا۔
- مشاہدہ: ٹریس، ری پلے، ایول، لاگت اور کوالٹی میٹرکس۔
- پروڈکٹ کی سطح: جب کافی ہو تو چیٹ کریں، ضرورت پڑنے پر ڈیش بورڈ، جب اہم ہو تب جائزہ لیں۔
ایجنٹ کا فریم ورک بنیادی طور پر پوائنٹس 2 اور پوائنٹ 1 کے ایک ٹکڑے کا احاطہ کرتا ہے۔ باقی اصل کام ہے۔
میں عملی طور پر کیا کروں گا۔
اگر کسی ٹیم نے مجھے بتایا کہ "ہمیں پروڈکشن میں ایجنٹ چاہیے،" میں دس ایجنٹوں سے شروعات نہیں کروں گا۔
میں ایک چھوٹے، بار بار اور قابل مشاہدہ ورک فلو کے ساتھ شروع کروں گا۔ مثال کے طور پر: اوپن مینٹیننس پی آرز، بند ایشوز سے دستاویزات کو اپ ڈیٹ کریں، ہفتہ وار جائزہ تیار کریں، ڈپلیکیٹ کیڑے کو ٹرائیج کریں، متاثرہ فائلوں کے لیے ٹیسٹ تیار کریں۔
پھر میں بہت واضح حدود مقرر کروں گا:
- شاخوں یا سینڈ باکس کے بغیر کوئی تحریر؛
- پرامپٹ میں کوئی راز نہیں؛
- اجازت کی فہرست میں اوزار؛
- بیرونی اعمال کے لیے انسانی منظوری؛
- لازمی لاگ اور ٹریس؛
- فی رن بجٹ؛
- آؤٹ پٹ ہمیشہ قابل معائنہ۔
تب ہی میں توسیع کروں گا۔
ایجنٹ صرف اس وجہ سے ناکام نہیں ہوتے کہ ماڈلز اسے غلط سمجھتے ہیں۔ وہ ناکام ہو جاتے ہیں کیونکہ ہم انہیں مبہم ماحول میں رکھتے ہیں، مبہم اجازتوں اور تھیٹر کی توقعات کے ساتھ۔
میرا پڑھنا
ایجنٹ کا بنیادی ڈھانچہ بہترین طریقے سے بورنگ ہے۔
یہ وہ حصہ نہیں ہے جو آپ کو ڈیمو میں تالیاں بجانے پر مجبور کرتا ہے۔ یہ وہ حصہ ہے جو آپ کو حقیقی لوگوں، حقیقی اعداد و شمار اور حقیقی نتائج کے ساتھ پیر کی صبح ڈیمو کو درحقیقت استعمال کرنے دیتا ہے۔
ایجنٹوں کے مستقبل کا فیصلہ صرف اس بات سے نہیں ہوگا کہ بہترین رول ماڈل کون ہے۔ اس کا فیصلہ وہ کرے گا جو بہترین جگہ بناتا ہے جس میں اسے کام کرنا ہے: جب وہ تجربہ کرے تو الگ تھلگ، ضرورت پڑنے پر جڑا، ہمیشہ قابل مشاہدہ، معیار کے ساتھ مجاز اور جب اسے معلوم نہ ہو تو رکنے کے لیے کافی شائستہ۔
یہی وہ جگہ ہے جہاں ایجنٹ کھلونا بننا چھوڑ کر انفراسٹرکچر بن جاتے ہیں۔