মূলত Vectors of Mind-এ প্রকাশিত।


এই পোস্ট পড়ার পর আপনি: একজন জাদুকর একটি উচ্চপ্রযুক্তির কিবোর্ডে টাইপ করছেন। কম্পিউটারটি একটি উচ্চপ্রযুক্তির মস্তিষ্ক, যার স্নায়ুপথগুলো জ্বলজ্বল করছে, এবং পর্দায় লেখা আছে ‘প্রভুকে সন্তুষ্ট করা গোপন কর্ড’। জাদুকরের আলখাল্লাটি তারা ও চাঁদ দিয়ে অলংকৃত, আর পটভূমিতে রহস্যময় ও প্রযুক্তিগত উপাদানের এক মিশ্রণ দেখা যাচ্ছে।
এই পোস্ট পড়ার পর আপনি

আমার কাজ বিপজ্জনকভাবে একজন প্রম্পট ইঞ্জিনিয়ারের কাজের কাছাকাছি চলে এসেছে1। এতে আমার আপত্তি নেই, কারণ এতে লেখালেখি, সাইকোমেট্রিক্স এবং NLP-এর প্রতি আমার ভালোবাসা একত্রিত হয়েছে। এখানে সবচেয়ে শক্তিশালী কয়েকটি প্রম্পটিং কৌশল দেওয়া হলো:

  1. স্পষ্ট ও সুনির্দিষ্ট নির্দেশনা ব্যবহার করুন
  2. চেইন-অব-থট যুক্তি
  3. কোনো কাজ করার আগে প্রয়োজনীয় তথ্য সংগ্রহ করুন
  4. কাজগুলোকে ধাপে ভাগ করুন
  5. কারিগরি পরিভাষা আপনার বন্ধু
  6. উপযোগী বাক্যাংশের সংগ্রহ

1. স্পষ্ট ও সুনির্দিষ্ট নির্দেশনা#

আইনজীবী ও কম্পিউটারবিজ্ঞানীরা স্বভাবতই এতে ভালো। প্রকৃতপক্ষে, প্রম্পটিংয়ের অন্যতম আনন্দ হলো—সাধারণ কোডের তুলনায় এতে অনেক কম নির্ভুল হলেও চলে, এবং LLM-গুলো প্রায়ই মূল বক্তব্যটি বুঝে ফেলে। তবে অনেক অনুরোধের উন্নতি করা যায় কেবল কাজটি এবং উত্তরের কাঙ্ক্ষিত বিন্যাসটি স্পষ্টভাবে উল্লেখ করার মাধ্যমে। উদাহরণস্বরূপ, সম্প্রতি আমি এই খাবারটি কোনোমতে জোগাড় করেছিলাম:

How to prompt chatGPT থেকে নেওয়া ছবি

আপনি জিজ্ঞেস করায় ধন্যবাদ—খেতে দারুণ লেগেছিল। আরও কিছু উদাহরণ:

  • “একটি অনুচ্ছেদে AI-এর ইতিহাসের সারসংক্ষেপ দাও।”

  • “বয়স অনুযায়ী সাজানো প্রাচীনতম ভাষাপরিবারগুলোর একটি সারণি তৈরি করো। সম্পূর্ণ তালিকা দাও।”2

  • “উদ্ধৃত পাঠ্যটি White and Strunk-এর রীতিতে পুনর্লিখন করো। আমাকে তিনটি বিকল্প দাও।”

  • “সংযুক্ত .csv ফাইলের 2-7 নম্বর কলামের জন্য একটি Pearson correlation matrix হিসাব করো।”

    • পরবর্তী অনুরোধ: “ফলাফলগুলোকে heat map হিসেবে দেখানোর জন্য কোড লেখো, যাতে যথেষ্ট উচ্চ রেজোলিউশন থাকে এবং সেটি পোস্টারে ব্যবহার করা যায়। নান্দনিক নির্বাচনের ক্ষেত্রে সর্বোত্তম অনুশীলন অনুসরণ করো।”

সুনির্দিষ্ট নির্দেশনায় প্রায়ই নির্দিষ্ট উদাহরণও থাকে। White and Strunk Elements of Style লিখেছিলেন। “সংক্ষিপ্ত,” “পেশাদার,” বা “চমৎকার” লেখার মতো বিশেষণ ব্যবহারের চেয়ে তাঁদের বইটির উল্লেখ করা ভালো। আংশিক কারণ, LLM-গুলো বিশেষ করে নির্দিষ্ট বিশেষণের ক্ষেত্রে প্রায়ই প্রয়োজনের চেয়ে বেশি করে ফেলে। তাই আপনি যদি রোবটটিকে একটু তীক্ষ্ণভাষী ব্যক্তিত্ব গ্রহণ করাতে চান, তাকে Veronica Mars বা Mean Girls-এর Regina George-এর মতো আচরণ করতে বলতে পারেন।

2. চেইন-অব-থট যুক্তি#

LLM-গুলো পরবর্তী শব্দের পূর্বানুমান করার জন্য বিপুল এক পাঠ্য-করপাসের ওপর প্রশিক্ষিত। আশ্চর্যের বিষয়, এর ফলে তারা যুক্তির আনুমানিক অনুকরণে ভালো হয়ে ওঠে; কিন্তু জটিল কাজের ক্ষেত্রে তা দ্রুত ভেঙে পড়ে। এখানে “জটিল” বলতে “1 নম্বর কলামের সংখ্যাগুলো যোগ করো”-এর মতো কিছুও বোঝাতে পারে। 1-shot উপায়ে এটি করা খুব কঠিন, এবং এটি এমন একটি সংখ্যা ছুড়ে দেবে যা যুক্তিসংগত বলে মনে হয় এবং সম্ভবত সঠিক পরিসরের মধ্যে থাকবে, কিন্তু সঠিক উত্তর হবে না। শেষে “ধাপে ধাপে চিন্তা করো” যোগ করলে বিস্ময়কর ফল পাওয়া যায়। প্রায়ই ধাপগুলো কী, তা আপনাকে নির্দিষ্ট করতেও হয় না; LLM-গুলো নিজেরাই অনুমান করতে পারে যে একটি কলামের যোগফল বের করতে মধ্যবর্তী ধাপগুলো হলো “n1 + n2 + n3 + … + n100 =” লেখা। মূলত এটি সমান চিহ্নের ডান পাশে আরও ভালো উত্তর পাওয়ার জন্য নিজেকেই প্রম্পট করছে। অথবা উপমা দিয়ে বলা যায়, নিজেকে বিষয়টি নিয়ে ভাবার সময় দিচ্ছে। যেকোনো সমস্যায় “ধাপে ধাপে চিন্তা করো” বাক্যাংশটি LLM-এর হ্যালুসিনেশনের মোকাবিলায় আপনার প্রতিরক্ষার প্রথম সারি। এতে কাজ না হলে ধাপগুলো নিজেই গণনা করে দিন (যে কৌশলে আমরা পরে আবার ফিরব)।

3. কোনো কাজ করার আগে প্রয়োজনীয় তথ্য সংগ্রহ করুন#

আপনি যদি chatGPT-কে একটি ব্লগ পোস্ট লিখতে বলেন (আমি কখনোই তা করব না) অথবা একটি Python ফাংশন লিখতে বলেন (আমি অবশ্যই তা করব), তাহলে আপনি আসলে কী চান তার খুঁটিনাটি না জিজ্ঞেস করেই এটি তা তড়িঘড়ি লিখে ফেলবে। “আমি এমন একটি ফাংশন লিখতে চাই, যা X করে; কোড লেখার আগে আমাকে কী কী তথ্য সংগ্রহ করতে হবে?” অথবা “এমন একটি ফাংশন লেখো, যা X করে; তবে কোড লেখার আগে প্রথমে প্রয়োজনীয় যেকোনো তথ্য জানতে চাও”—এ ধরনের কিছু বললে এর অনেকটাই এড়ানো যায়। এখানে “X” হলো কোনো অসম্পূর্ণ বিবরণ।

4. কাজগুলোকে ধাপে ভাগ করুন#

যখনই chatGPT কোনো কাজ করতে ব্যর্থ হয় এবং chain-of-thought সাহায্য করে না, তখন কাজটিকে উপকাজে ভাগ করুন। শুরুতেই এটি প্রায়ই কোনো কাজের অর্ধেক শ্রমের সমান এবং কাকতালীয়ভাবে, বর্তমানে LLM-গুলোর নিজেদের পক্ষে করা কঠিন কাজগুলোর একটি। তবে মনে রাখবেন, এটিও প্রায়ই 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 safety institute এই কৌশলটি (অন্যান্য কিছু কৌশলের পাশাপাশি) ব্যবহার করে এমন একটি সমস্যা সমাধান করেছিল, যা LLM-এর পক্ষে অসম্ভব করে নকশা করা হয়েছিল।

5. কারিগরি পরিভাষা আপনার বন্ধু#

কারিগরি পরিভাষা দক্ষ LLM আচরণের আকর্ষণ-কূপ হিসেবে কাজ করে। উদাহরণস্বরূপ, কোনো অসুস্থতার বর্ণনা দিয়ে “কী নির্দেশিত” তা জানতে চাইলে, “আমার কী করা উচিত?” জিজ্ঞেস করার চেয়ে বেশি দূর এগোনো যায়। “Indicated” শব্দটি ব্যবহার করলে LLM-কে আপনার উপসর্গগুলোকে রচিত প্রতিটি চিকিৎসাবিষয়ক পাঠ্যপুস্তকের সঙ্গে মেলাতে বলা হয়। অন্যটি তাকে চিকিৎসা/জীবনসংক্রান্ত পরামর্শ দিতে বলার সমতুল্য, যা না দেওয়ার জন্য তাকে প্রশিক্ষিত করা হয়েছে। কারিগরি বা অপ্রচলিত কথ্য পরিভাষা ব্যবহার করলে আপনি সাধারণ ব্যবহারকারীর সহকারী-পরিসর থেকে বেরিয়ে আসেন, যেখানে সবচেয়ে বেশি guardrail এবং Reddit-স্তরের পরামর্শ থাকে।

6. উপযোগী প্রম্পটের সংগ্রহ#

আমি নিজেকে কয়েকটি বাক্যাংশ ব্যবহার করতে দেখি:

  • “এটি কি সঠিক?”

    • যখনই আমি অন্য কারও কাজের সারসংক্ষেপ লিখি বা এমন কোনো ধারণা বর্ণনা করি যার সঙ্গে আমি পুরোপুরি পরিচিত নই, তখন আমার লেখা কপি-পেস্ট করে জিজ্ঞেস করি, সেটি সঠিক কি না। যেসব অংশ বিতর্কযোগ্য, সেগুলো নিয়ে আপত্তি জানাতে এটি সাধারণত বেশ ভালো।
  • “তুমি কি নিশ্চিত?”

    • একইভাবে, যখনই আমার সন্দেহ হয় যে কোনো LLM বাজে কথা বলছে, তখন জিজ্ঞেস করি সে নিশ্চিত কি না। সে যদি নিজের মত বদলায়, তাহলে দাবিটিকে অত্যন্ত সতর্কতার সঙ্গে গ্রহণ করুন।
  • “আমাকে চিন্তাভাবনা করে ধারণা তৈরি করতে সাহায্য করো।” “সৃজনশীল হও।”

    • LLM-এর অন্যতম সেরা ব্যবহার হলো ধারণার পরিসর অন্বেষণে আপনাকে সাহায্য করা। কখনো কখনো তাকে প্রচলিত উত্তর থেকে সরে আসার জন্য উৎসাহ দিতে হয়।

আপনাদের যদি নিজেদের কোনো gotos থাকে, তাহলে মন্তব্যে যোগ করুন!


  1. এটিও আমার ইচ্ছার চেয়ে অনিয়মিত হয়ে পড়েছে, তাই data science, AI, বা psychometrics-এ কোনো চুক্তিভিত্তিক কাজ থাকলে আমার সঙ্গে যোগাযোগ করুন! ↩︎

  2. স্বীকার করতেই হয়, পৃথিবীর সব 142-420টি ভাষাপরিবারের তালিকা কোনো LLM-এর পক্ষেই দেওয়া সম্ভব নয়। যেহেতু এটি “অসম্ভব” (অর্থাৎ, তার ডিফল্ট আচরণ থেকে অত্যন্ত দূরে, কোনো কঠিন token limit অতিক্রম করে), তাই “exhaustive” শব্দটি সংক্ষিপ্ত উত্তরের আকর্ষণকে প্রতিহত করে LLM-কে আরও পরিপূর্ণ হতে সাহায্য করে। এটিই প্রম্পটিংয়ের নেতিবাচক দিক—যা কখনো কখনো মিনতি, অনুনয়, ঘুষ প্রদান এবং হুমকিতে পর্যবসিত হয়। ↩︎

  3. উপকাজটি ভাগ করতে আপনি যে LLM-এর সাহায্য নিতে পারেন, সেটিই নির্দেশ করে যে এই প্রক্রিয়াটিও ক্রমশ স্বয়ংক্রিয় হয়ে উঠবে। ভবিষ্যৎ প্রজন্মগুলো কী করতে সক্ষম হবে, কে জানে। ↩︎