اصل میں Vectors of Mind پر شائع ہوا تھا۔


اس پوسٹ کو پڑھنے کے بعد آپ
آپ، اس پوسٹ کو پڑھنے کے بعد

میرا کام خطرناک حد تک پرامپٹ انجینئر1 بننے کے قریب پہنچ گیا ہے۔ مجھے اس پر کوئی اعتراض نہیں، کیونکہ اس میں میری تحریر، نفسی پیمائش، اور NLP سے محبت یکجا ہو جاتی ہے۔ پرامپٹنگ کی چند انتہائی طاقتور تکنیکیں یہ ہیں:

  1. واضح اور مخصوص ہدایات استعمال کریں
  2. سلسلۂ فکر پر مبنی استدلال
  3. کوئی کام کرنے سے پہلے مطلوبہ معلومات جمع کریں
  4. کاموں کو مراحل میں تقسیم کریں
  5. فنی اصطلاحات آپ کی دوست ہیں
  6. مفید فقروں کا ذخیرہ

1. واضح اور مخصوص ہدایات#

وکیل اور کمپیوٹر سائنس دان فطری طور پر اس کام میں اچھے ہوتے ہیں۔ درحقیقت، پرامپٹنگ کی ایک خوبی یہ ہے کہ عام کوڈ کے مقابلے میں اس میں بہت کم دقتِ نظر بھی چل جاتی ہے، اور LLMs اکثر مدعا سمجھ لیتے ہیں۔ تاہم، بہت سی درخواستوں کو محض کام اور جواب کی مطلوبہ شکل کے بارے میں صریح ہونے سے بہتر بنایا جا سکتا ہے۔ مثلاً، حال ہی میں میں نے یہ کھانا کسی طرح حاصل کیا:

ChatGPT کو پرامپٹ دینے کے طریقے سے تصویر

آپ کے پوچھنے کا شکریہ، اس کا ذائقہ بہت اچھا تھا۔ چند دیگر مثالیں:

  • “AI کی تاریخ کا ایک پیراگراف میں خلاصہ کریں۔”

  • “قدیم ترین زبان خاندانوں کا ایک جدول بنائیں، جسے قدامت کے لحاظ سے مرتب کیا گیا ہو۔ مکمل فہرست دیں۔”2

  • “اقتباس شدہ متن کو وائٹ اور سٹرنک کے اسلوب میں دوبارہ لکھیں۔ مجھے تین متبادل دیں۔”

  • “منسلک .csv کی کالم 2-7 کے لیے پیئرسن ارتباطی میٹرکس کا حساب کریں۔”

    • ضمنی درخواست: “نتائج کو heat map کی صورت میں دکھانے کے لیے کوڈ لکھیں، جس کی ریزولوشن اتنی زیادہ ہو کہ اسے پوسٹر میں استعمال کیا جا سکے۔ جمالیاتی انتخاب میں بہترین طریقۂ کار استعمال کریں۔”

مخصوص ہدایات میں اکثر مخصوص مثالیں بھی شامل ہوتی ہیں۔ وائٹ اور سٹرنک نے Elements of Style لکھی تھی۔ ان کی کتاب کا حوالہ دینا “مختصر”، “پیشہ ورانہ” یا “عمدہ” نثر جیسی صفات استعمال کرنے سے بہتر ہے۔ اس کی ایک وجہ یہ ہے کہ LLMs عموماً، خصوصاً مخصوص صفات کی صورت میں، ضرورت سے زیادہ کام کر دیتے ہیں۔ لہٰذا اگر آپ چاہتے ہیں کہ روبوٹ کسی شوخ و شنگ شخصیت کو اختیار کرے، تو اسے کہیں کہ وہ Mean Girls کی ویرونیکا مارس یا ریجینا جارج کی طرح برتاؤ کرے۔

2. سلسلۂ فکر پر مبنی استدلال#

LLMs کو اگلے لفظ کی پیش گوئی کرنے کے لیے ایک بہت بڑے متنی ذخیرے پر تربیت دی جاتی ہے۔ حیرت انگیز طور پر، اس سے وہ استدلال کی تقریب کرنے میں اچھے ہو جاتے ہیں، لیکن پیچیدہ کاموں میں یہ صلاحیت جلد ہی ٹوٹنے لگتی ہے۔ یہاں “پیچیدہ” سے مراد “کالم 1 کے اعداد جمع کرنا” جیسا کام بھی ہو سکتا ہے۔ اسے ایک ہی پرامپٹ میں درست طور پر کروانا بہت مشکل ہے، اور یہ ایسا عدد پیش کر دے گا جو معقول معلوم ہو، غالباً درست حدود میں بھی ہو، مگر صحیح جواب نہ ہو۔ آخر میں یہ جملہ شامل کرنا کہ “اس کے بارے میں مراحل کے لحاظ سے سوچو” حیرت انگیز نتائج دیتا ہے۔ اکثر آپ کو یہ بھی متعین نہیں کرنا پڑتا کہ مراحل کیا ہوں؛ LLMs خود اخذ کر سکتے ہیں کہ کالم کو جمع کرنے کے لیے درمیانی مراحل میں یہ لکھنا شامل ہے: “n1 + n2 + n3 + … + n100 =”۔ دراصل یہ اسے اس مساواتی نشان کے دائیں جانب بہتر جواب حاصل کرنے کے لیے خود کو پرامپٹ کرنے پر آمادہ کرنا ہے۔ یا تشبیہاً یوں سمجھیں کہ اسے اس بارے میں سوچنے کے لیے وقت دینا ہے۔ کسی بھی مسئلے میں “اس کے بارے میں مراحل کے لحاظ سے سوچو” کا جملہ LLM کی خیالی اختراعات سے نمٹنے میں آپ کا پہلا دفاعی طریقہ ہے۔ اگر یہ کارگر نہ ہو، تو مراحل خود شمار کر لیں (ایک ایسی تکنیک جس کی طرف ہم دوبارہ آئیں گے)۔

3. کوئی کام کرنے سے پہلے مطلوبہ معلومات جمع کریں#

اگر آپ ChatGPT سے کہیں کہ وہ ایک بلاگ پوسٹ لکھے (میں کبھی ایسا نہیں کروں گا) یا Python فنکشن لکھے (یہ کام میں ضرور کروں گا)، تو وہ یہ پوچھے بغیر فوراً لکھنا شروع کر دے گا کہ آپ دراصل کیا چاہتے ہیں۔ اس میں سے بہت کچھ یوں کہنے سے بچایا جا سکتا ہے: “میں ایسا فنکشن لکھنا چاہتا ہوں جو X کرے؛ کوڈ لکھنے سے پہلے مجھے کون سی معلومات جمع کرنی ہوں گی؟” یا “ایسا فنکشن لکھو جو X کرے، لیکن کوڈ لکھنے سے پہلے مطلوبہ معلومات کے بارے میں سوال کرو۔” یہاں “X” سے مراد کسی کام کی جزوی وضاحت ہے۔

4. کاموں کو مراحل میں تقسیم کریں#

جب بھی ChatGPT کسی کام میں ناکام ہو اور سلسلۂ فکر مددگار ثابت نہ ہو، تو کام کو ذیلی کاموں میں تقسیم کر دیں۔ کسی کام کا آغاز ہی اکثر اس کے نصف کام کے برابر ہوتا ہے، اور اتفاق سے یہی وہ چیز ہے جسے (فی الحال) LLMs اپنے طور پر انجام دینے میں مشکل محسوس کرتے ہیں۔ تاہم، یہ بات ملحوظ رہے کہ اکثر آپ یہ کام بھی LLM کے سپرد کر سکتے ہیں3۔ مثلاً، میں نے ChatGPT سے تخلیقی صلاحیت کے ایک امتحان کے لیے سوالات تیار کرنے کو کہا (آپ سرسری نظر ڈال سکتے ہیں):

میں Remote Associates Test (RAT) سے ملتے جلتے مزید سوالات تیار کرنے کی کوشش کر رہا ہوں۔ RAT میں افراد کو ایسے تین بظاہر غیر متعلقہ الفاظ کو جوڑنے والا ایک مشترک لفظ تلاش کرنا ہوتا ہے۔ الفاظ کے چند نمونہ مجموعے یہ ہیں:

  1. Cottage، Swiss، Cake (جواب: Cheese)

  2. High، Book، Chair (جواب: School)

  3. Fruit، Gaze، Traffic (جواب: Jam)

  4. Cream، Skate، Water (جواب: Ice)

  5. Ache، Hunter، Cabbage (جواب: Head)

  6. Manners، Round، Tennis (جواب: Table)

  7. Falling، Actor، Dust (جواب: Star)

  8. Light، Birthday، Stick (جواب: Candle)

  9. Salad، Head، Goose (جواب: Egg)

  10. Music، Ached، Green (جواب: Apple)

بہترین طریقۂ کار کیا ہیں؟ مجھے اس کام کے بارے میں مراحل کے لحاظ سے کیسے سوچنا چاہیے؟

اعداد جمع کرنے کا طریقہ سمجھنے کی طرح، ChatGPT کام انجام دینے کے لیے “ترکیبیں” تیار کرنے میں بہت اچھا ہے۔ اس کے جواب دینے کے بعد مجھے صرف یہ کہنا تھا:

“بہت خوب! اب اسی عمل سے گزر کر 5 نئے سوالات تیار کرو۔”

پھر مزید پانچ، اور پھر مزید پانچ۔ اس سے پہلے میں نے براہِ راست نئے سوالات مانگنے کی کوشش کی تھی، اور تجاویز نہایت خراب تھیں۔ ایک کہیں زیادہ پیچیدہ مثال کے لیے دیکھیے کہ ایک AI سیفٹی ادارے نے (دیگر حربوں کے علاوہ) اس تکنیک کو استعمال کرتے ہوئے ایک ایسا مسئلہ حل کیا جو LLMs کے لیے ناممکن بنانے کی غرض سے تیار کیا گیا تھا۔

5. فنی اصطلاحات آپ کی دوست ہیں#

فنی اصطلاحات قابلِ صلاحیت LLM رویے کے لیے جاذب حوض کا کام کرتی ہیں۔ مثلاً، کسی بیماری کی وضاحت کر کے یہ پوچھنا کہ کیا چیز “indicated” ہے، اس سوال کے مقابلے میں آپ کو زیادہ آگے لے جائے گا: “مجھے کیا کرنا چاہیے؟” لفظ “indicated” LLM کو آپ کی علامات کو اب تک لکھی جانے والی ہر طبی درسی کتاب سے مطابقت دینے کی ہدایت دیتا ہے۔ دوسرا سوال طبی یا زندگی سے متعلق مشورہ طلب کرنے کے مترادف ہے، اور اسے LLM نے ایسا مشورہ نہ دینے کے لیے تربیت حاصل کی ہے۔ فنی یا غیر روزمرہ اصطلاحات استعمال کرنے سے آپ عام صارف کے معاون کے دائرے سے باہر نکل جاتے ہیں؛ یہی وہ دائرہ ہے جس میں سب سے زیادہ حفاظتی بندشیں اور Reddit کے درجے کے مشورے پائے جاتے ہیں۔

6. مفید پرامپٹس کا ذخیرہ#

یہ چند فقرے ہیں جنہیں میں خود کو بار بار استعمال کرتے ہوئے پاتا ہوں:

  • “کیا یہ درست ہے؟”

    • جب بھی میں کسی اور کے کام کا خلاصہ لکھتا ہوں یا کسی ایسے خیال کی وضاحت کرتا ہوں جس سے میں پوری طرح واقف نہیں ہوں، تو اپنی تحریر نقل کر کے چسپاں کرتا ہوں اور پوچھتا ہوں کہ کیا یہ درست ہے۔ جب کسی حصے میں بحث کی گنجائش ہو تو یہ عموماً اختلاف کرنے میں خاصا اچھا ثابت ہوتا ہے۔
  • “کیا تمہیں یقین ہے؟”

    • اسی طرح، جب بھی مجھے شبہ ہوتا ہے کہ کوئی LLM بکواس کر رہا ہے، تو میں پوچھتا ہوں کہ کیا اسے یقین ہے۔ اگر وہ اپنی رائے بدل لے، تو اس دعوے کو بہت بڑے تحفظ کے ساتھ قبول کریں۔
  • “مجھے خیالات پیدا کرنے میں مدد دو۔” “تخلیقی بنو”

    • LLM کا بہترین استعمال یہ ہے کہ وہ خیال کے دائرے کو دریافت کرنے میں آپ کی مدد کرے۔ کبھی کبھی اسے معمول کے جوابات سے ہٹنے کے لیے حوصلہ افزائی درکار ہوتی ہے۔

اگر آپ کے پاس اپنے آزمودہ پرامپٹس ہیں، تو انہیں تبصروں میں شامل کریں!


  1. یہ کام بھی میری خواہش سے زیادہ غیر مستقل ہو گیا ہے، لہٰذا اگر ڈیٹا سائنس، AI، یا نفسی پیمائش میں آپ کے پاس کوئی معاہداتی کام ہو تو مجھ سے رابطہ کریں! ↩︎

  2. تسلیم ہے کہ دنیا کے تمام 142-420 زبان خاندانوں کی فہرست بنوانے کا کوئی امکان نہیں کہ LLM کامیابی سے انجام دے سکے۔ چونکہ یہ “ناممکن” ہے (یعنی اس کے طے شدہ رویے سے بہت دور، کسی سخت ٹوکن حد سے آگے)، اس لیے “مکمل” کا لفظ مختصر جواب کی کششِ ثقل کا مقابلہ کرتا ہے اور LLM کو زیادہ جامع ہونے پر آمادہ کرتا ہے۔ پرامپٹنگ کا یہ منفی پہلو ہے، جو کبھی کبھی گڑگڑانے، التجا کرنے، رشوت دینے اور دھمکانے تک جا پہنچتا ہے۔ ↩︎

  3. یہ حقیقت کہ آپ ذیلی کام کو تقسیم کرنے میں LLM سے مدد لے سکتے ہیں، اس امر کی طرف اشارہ کرتی ہے کہ یہ عمل بھی بتدریج خودکار ہو جائے گا۔ کون جانتا ہے کہ آنے والی نسلیں کیا کچھ کرنے کے قابل ہوں گی۔ ↩︎