مائیکروسافٹ نے 15 جولائی کو Python کے لیے ایک مستحکم Agent Skills فریم ورک جاری کیا۔ یہ ڈویلپرز کو اس قابل بناتا ہے کہ وہ صلاحیتیں (capabilities) صرف اس وقت حاصل کریں جب کسی LLM سے چلنے والے ایجنٹ کو واقعی ان کی ضرورت ہو۔ ایک واحد اور مسلسل بڑھتے ہوئے سسٹم پرامپٹ (system prompt) کی جگہ ضرورت کے مطابق اسکل لوڈنگ (on-demand skill loading) کا استعمال کرتے ہوئے، یہ طریقہ کار پرامپٹ کے سائز کو کم کرتا ہے، ٹوکن کے اخراجات میں کمی لاتا ہے اور ایجنٹ کی منطق (reasoning) کو زیادہ واضح رکھتا ہے۔
پرامپٹس کیوں بڑھتے ہیں اور یہ کیوں اہم ہے
LLM ایجنٹس ایک "سسٹم پرامپٹ" پر انحصار کرتے ہیں جو ان پالیسیوں، رن بکس (runbooks) اور حوالہ جاتی مواد کو یکجا کرتا ہے جسے ماڈل کو ہر مرحلے پر دیکھنا چاہیے۔ چند پالیسی دستاویزات شامل کرنے سے پرامپٹ بڑھ کر کئی ہزار ٹوکنز تک پہنچ جاتا ہے۔ بڑے پرامپٹس سے انفرنس (inference) کے اخراجات بڑھ جاتے ہیں—ماڈل جو بھی ٹوکن پروسیس کرتا ہے اس کے پیسے لگتے ہیں—اور یہ ہدایات کے اثر (instruction signal) کو کمزور کر دیتے ہیں، جس سے ایجنٹ کا آؤٹ پٹ غیر واضح ہو جاتا ہے۔ انسیڈنٹ ٹریاج (incident triage) یا تعمیل کی جانچ (compliance checking) کے دوران، ایک غیر واضح پرامپٹ ایک مددگار اسسٹنٹ کو غلط معلومات (misinformation) کا ذریعہ بنا سکتا ہے۔
Agent Skills پیٹرن: بتدریج انکشاف (progressive disclosure)
نیا فریم ورک ایک ہی بڑے (monolithic) پرامپٹ کی جگہ چار مرحلہ وار ورک فلو (workflow) متعارف کرواتا ہے:
- اسکل کا اشتہار (Advertise the skill) – ایک ہلکا پھلکا میٹا ڈیٹا اندراج جو روٹنگ لیئر کو اسکل کا نام بتاتا ہے۔
- ہدایات لوڈ کرنا (Load instructions) – ایک مختصر وضاحت جسے ایجنٹ یہ فیصلہ کرنے کے لیے پڑھتا ہے کہ آیا اسکل درخواست کے مطابق ہے یا نہیں۔
- وسائل پڑھنا (Read resources) – اختیاری پالیسی یا حوالہ جاتی فائلیں جو صرف اس وقت حاصل کی جاتی ہیں جب ایجنٹ اسکل کا انتخاب کر لیتا ہے۔
- اسکرپٹس چلانا (Run scripts) – کوڈ کا وہ عمل جو کارروائی کو انجام دیتا ہے، اور جسے واضح منظوری کی ضرورت ہوتی ہے۔
صرف مختصر SKILL.md فائل ہی بنیادی پرامپٹ میں ہوتی ہے۔ تمام بڑی دستاویزات اور اسکرپٹس ایک فائل پر مبنی اسکل پیکیج میں ہوتی ہیں جسے رن ٹائم (runtime) ضرورت کے مطابق حاصل کرتا ہے۔ ڈائریکٹری کا ڈھانچہ سادہ رہتا ہے:
SKILL.md– مختصر انسانی طور پر پڑھنے کے قابل وضاحت۔references/– پالیسی یا رہنمائی کی فائلیں۔scripts/– قابلِ عمل (executable) کوڈ۔
چونکہ ایجنٹ references/ یا scripts/ کے مکمل مواد کو اس وقت تک نہیں دیکھتا جب تک وہ یہ فیصلہ نہ کر لے کہ اسکل بالکل درست ہے، اس لیے آپ جتنی بھی اسکلز رجسٹر کریں، بنیادی پرامپٹ ہلکا پھلکا رہتا ہے۔
فریم ورک میں شامل حفاظتی اقدامات (Safety guards)
فریم ورک یہ فرض کرتا ہے کہ اسکل لوڈ کرنا خطرناک ہو سکتا ہے اور وہ ایسے قواعد نافذ کرتا ہے جن پر ڈویلپرز کو عمل کرنا چاہیے:
- اسکل کے نام کا اشتہار – خودکار، جو صرف روٹنگ کے لیے استعمال ہوتا ہے۔
- ہدایات لوڈ کرنا – منتخب کردہ فہرستوں کے لیے خودکار؛ غیر معائنہ شدہ ہدایات غیر ارادی طور پر رویے کو تبدیل کر سکتی ہیں۔
- پالیسی پڑھنا – جب ڈیٹا حساس نہ ہو تو خودکار؛ حساس مواد کو اضافی رسائی کے کنٹرولز (access controls) کے پیچھے رکھیں۔
- اسکرپٹ کا عمل – ہمیشہ واضح منظوری کی ضرورت ہوتی ہے۔ ایک اسکرپٹ ایجنٹ کو "تجویز" سے "عمل" کی طرف لے جاتا ہے، اس لیے کسی انسان یا پالیسی چیک کا مداخلت کرنا ضروری ہے۔
- بیرونی سسٹم کالز – محدود اجازتوں والے علیحدہ ٹولز کے ذریعے ہونی چاہئیں؛ ایک اسکل بذاتِ خود اتھارزیشن (authorization) کا طریقہ کار نہیں ہے۔
یہ قواعد ڈویلپرز کو اس بات پر آمادہ کرتے ہیں کہ وہ ڈیٹا بیس اپ ڈیٹس یا کوڈ ڈیپلائمنٹ جیسی تحریری (write-oriented) کارروائیوں کی کوشش کرنے سے پہلے صرف پڑھنے والے (read-only) ورک فلو—جیسے انسیڈنٹ ٹریاج، پالیسی تلاش، اسٹیٹس کی查询—سے آغاز کریں۔
آپریشنل ہائیجین: لاگنگ اور ورژننگ
جب کوئی اسکل چلتی ہے، تو فریم ورک درج ذیل چیزوں کی لاگنگ (logging) کی حوصلہ افزائی کرتا ہے (اور بہت سے استعمال میں اسے لازمی قرار دیا جاتا ہے):
- اصل درخواست اور منتخب کردہ اسکل آئی ڈی (skill ID)۔
- استعمال شدہ اسکل پیکیج کا ورژن۔
- آیا ایجنٹ نے صرف وضاحت لوڈ کی یا کوئی ریسورس فائل بھی حاصل کی۔
- اسکرپٹ کے عمل کے لیے منظوری کا فیصلہ۔
- فراہم کردہ تمام ٹول آرگومنٹ (tool arguments) اور واپس ملنے والے نتائج۔
اگر ایجنٹ غلط اسکل کا انتخاب کرتا ہے، تو اس غلط انتخاب کو ایک ٹیسٹ کیس میں بدل دیں۔ اس سے اسکل کے پروڈکشن میں پہنچنے سے پہلے ریگریشن چیک (regression check) ہو جاتا ہے۔
ہر اسکل کو پرامپٹس کے ایک غیر منظم فولڈر کے بجائے ایک واضح حد کے ساتھ ورژن شدہ ڈیپینڈنسی (versioned dependency) کے طور پر سمجھیں۔ ورژننگ آپ کو ایجنٹ کے باقی نالج بیس کو متاثر کیے بغیر کسی غلط اسکرپٹ کو واپس (roll back) کرنے کی اجازت دیتی ہے۔
آغاز کیسے کریں: ایک عملی چیک لسٹ
- ایک ریڈ-اونلی (read-only) ورک فلو منتخب کریں – مثلاً، "حالیہ سیکیورٹی انسیڈنٹ گائیڈ لائنز تلاش کریں"۔
- ہدایات اور اسکرپٹس کو الگ الگ پیک کریں –
SKILL.mdکو مختصر رکھیں؛ بھاری پالیسی فائلوں کوreferences/میں رکھیں۔ - ایک کیٹلاگ تیار کریں – منظور شدہ اسکلز کی فہرست برقرار رکھیں اور کسی بھی اسکرپٹ کے لیے لازمی منظوری کا نفاذ کریں۔
- سینڈ باکس کی حدود مقرر کریں – اسکرپٹ کے عمل کے لیے CPU، میموری اور نیٹ ورک کی حدود متعین کریں؛ ہر رن (run) کو لاگ کریں۔
- پرانے میگا-پرامپٹ کے مقابلے میں بینچ مارک کریں – لاگت کی بچت کی تصدیق کے لیے ٹوکن کے استعمال، لیٹنسی (latency) اور کامیابی کی شرح کا موازنہ کریں۔
آگے کیا دیکھنا ہے
مائیکروسافٹ کا یہ ریلیز فی الحال Python کی ایک مستحکم امپلیمنٹیشن (implementation) ہے۔
خلاصہ (Bottom line)
Agent Skills، LLM پر مبنی اسسٹنٹ کو پالیسیز اور اسکرپٹس کی بڑھتی ہوئی لائبریری تک رسائی برقرار رکھتے ہوئے بھی ہلکا پھلکا رہنے کا ایک طریقہ فراہم کرتے ہیں۔ صرف تفصیل کو شروع میں لوڈ کرنے اور ضرورت پڑنے پر بھاری وسائل حاصل کرنے سے، پرامپٹس مختصر رہتے ہیں، انفرنس کے اخراجات کم ہو جاتے ہیں، اور ایجنٹ کا استدلال مرکوز رہتا ہے۔
