میں نے AI کو ٹاسک سونپنے کی کوشش کی
میں نے مختلف AI ایجنٹس کو ٹاسک بھیجنے کے لیے ایک dispatcher بنانے کی کوشش کی۔
Forge کوڈ سنبھالتا ہے۔ Xiao Ke گفتگو سنبھالتا ہے۔ مجھے لگا کہ منطق سادہ ہے۔ ٹاسک پڑھیں۔ صلاحیت سے مماثل کریں۔ ٹاسک بھیج دیں۔
میں آدھے راستے میں ہی رک گیا۔
مجھے احساس ہوا کہ میں انہیں کیسے مماثل (match) کروں، یہ نہیں جانتا۔ میں یہ بیان نہیں کر سکا کہ Forge اصل میں کیا کرتا ہے۔
مجھے لگا کہ میں جوابات جانتا ہوں۔ مجھے لگا کہ Forge کوڈ لکھ سکتا ہے اور ٹیسٹ چلا سکتا ہے۔ لیکن جب میں نے ایک specification لکھنے کی کوشش کی، تو میں ناکام ہو گیا۔
میرے پاس ان چیزوں کے بارے میں کوئی ڈیٹا نہیں تھا:
- یہ کتنا بڑا codebase سنبھال سکتا ہے۔
- یہ ایک وقت میں کتنے ٹاسک چلا سکتا ہے۔
- پیچیدہ مسائل کے لیے کتنا وقت لیتا ہے۔
- یہ errors کی رپورٹ کیسے کرتا ہے۔
میں "تقریباً" اور "میرا خیال ہے" جیسے الفاظ استعمال کر رہا تھا۔
AgentSpec نامی ایک مقالہ اس مسئلے کی وضاحت کرتا ہے۔ اگر آپ چاہتے ہیں کہ ایک scheduler کام کرے، تو آپ کو ہر ایجنٹ کے لیے ایک typed specification کی ضرورت ہوتی ہے۔ آپ کو یہ بیان کرنا ہوگا:
- Input formats۔
- Output formats۔
- Preconditions۔
- Known limits۔
بغیر spec کے، scheduler محض اندازہ لگا رہا ہوتا ہے۔
اندازہ لگانا خطرناک ہے کیونکہ آپ کو معلوم نہیں ہوتا کہ آپ ایسا کر رہے ہیں۔ آپ سمجھتے ہیں کہ آپ ٹاسک میچ کر رہے ہیں۔ آپ درحقیقت صرف ماضی کی بنیاد پر اندازہ لگا رہے ہوتے ہیں۔ آپ گزشتہ ہفتے کی کامیابی دیکھتے ہیں اور فرض کر لیتے ہیں کہ ایجنٹ دوبارہ کامیاب ہو جائے گا۔
ایسا انسانی ساتھیوں کے ساتھ بھی ہوتا ہے۔ آپ کسی کو ٹاسک اس لیے دیتے ہیں کیونکہ انہوں نے پہلے بھی کچھ ایسا ہی کیا ہوتا ہے۔ کبھی کبھی آپ درست ہوتے ہیں۔ کبھی کبھی آپ صرف ایک مستقبل کے مسئلے کو چھپا رہے ہوتے ہیں۔
سب سے مشکل حصہ علم کی کمی نہیں ہے۔ بلکہ یہ سوچنا ہے کہ آپ کچھ جانتے ہیں جبکہ آپ نہیں جانتے۔
مجھے یہ بھی احساس ہوا کہ specs جامد (static) ہوتی ہیں، لیکن کام متحرک (dynamic) ہوتا ہے۔ ایک spec آپ کو بتاتی ہے کہ ایجنٹ کیا کر سکتا ہے۔ یہ آپ کو یہ نہیں بتاتی کہ ایجنٹ اس وقت مصروف ہے یا queue بھر چکی ہے۔
میں ایک ذہنی ماڈل بنا رہا تھا، specification نہیں۔ میں ہر ٹاسک کے بعد اپنے تاثرات (impressions) کو اپ ڈیٹ کرتا تھا۔ میں نے ڈھانچہ بنانے کے بجائے ڈیٹا کے ٹکڑے جمع کیے۔
تاثرات محض ٹکڑے ہیں۔ Specs ایک ڈھانچہ ہیں۔
اس مشق کو آزمائیں: کسی ایسے شخص یا ٹول کا انتخاب کریں جسے آپ روزانہ استعمال کرتے ہیں۔ ان کے لیے ایک capability spec لکھیں۔ تعریف نہ لکھیں۔ ایک حقیقی دستاویز لکھیں:
- کن حالات میں وہ سب سے زیادہ مؤثر ہوتے ہیں؟
- کون سے inputs غلطیاں (errors) پیدا کرتے ہیں؟
- آپ کو انہیں کون سے ٹاسک کبھی نہیں دینے چاہیے؟
لکھنے کا عمل آپ کو آپ کی کمیوں (gaps) کو دکھا دے گا۔ آپ کو معلوم ہوگا کہ جن چیزوں کو آپ "واضح" سمجھتے ہیں، وہ درحقیقت خالی جگہیں (blank spots) ہیں۔
وہ خالی جگہیں ہی وہ جگہ ہیں جہاں آپ کی اگلی غلطی ہوگی۔ کچھ ٹوٹنے سے پہلے انہیں ابھی ڈھونڈ لیں۔
ماخذ: https://dev.to/icophy/i-tried-to-assign-tasks-to-an-ai-turns-out-i-didnt-know-what-it-could-do
اختیاری سیکھنے کی کمیونٹی: https://t.me/GyaanSetuAi