Prompt Engineering কী? অ-ডেভেলপারদের জন্য একটি ব্যবহারিক গাইড
Prompt engineering হলো AI মডেলের জন্য নির্দেশনা লেখা ও পরিমার্জন করার অভ্যাস, যাতে সে নির্ভরযোগ্যভাবে আপনার চাওয়া ফল তৈরি করে। Prompt হলো মডেলকে যা কিছু দেন তা: একটি প্রশ্ন, একটি কাজ, কিছু প্রেক্ষাপট, উদাহরণ। আর একে engineer করা মানে কী ঢুকছে সে সম্পর্কে সচেতন থাকা, কী বের হচ্ছে তা পরীক্ষা করা এবং সমন্বয় করা। এটি জাদুকরী শব্দের খেলা কম, স্পষ্ট যোগাযোগের বিষয় বেশি।
AI দিয়ে বানানোর সময় এটি কেন গুরুত্বপূর্ণ
AI অ্যাপ builder-এ আপনার prompt-ই স্পেসিফিকেশন। AI শুধু সেটাই বানাতে পারে যা আপনি বর্ণনা করেন, আর আপনার অনুরোধে ফাঁক থাকলে সে যুক্তিসঙ্গত মনে হওয়া অনুমান দিয়ে সেই ফাঁক ভরে। কখনো অনুমান ভালো হয়। প্রায়ই তা আপনার উদ্দেশ্যের সাথে মেলে না: ফর্মে ভুল ফিল্ড, এমন একটি ফিচার যা আপনি চাননি, বা আপনার শ্রোতার সাথে না মেলা ডিজাইন।
একটি স্পষ্ট prompt আপনাকে অনেক দফা সংশোধন থেকে বাঁচায়, আর প্রতিটি দফায় সময় ও সাধারণত ক্রেডিট খরচ হয়। আপনি যদি অ্যাপের ভেতরে AI যোগ করেন তবেও prompt গুরুত্বপূর্ণ: আপনি সেই মডেলকে যে নির্দেশনা দেন তা ঠিক করে আপনার চ্যাটবট গ্রাহকদের সাথে কীভাবে কথা বলবে, কী প্রত্যাখ্যান করবে, এবং আপনার তথ্যে অটল থাকবে কি না। অ্যাপ বানানোর জন্য নির্দিষ্টভাবে দেখুন AI অ্যাপ builder-এর জন্য prompt কীভাবে লিখবেন।
একটি দৈনন্দিন উপমা
একজন দক্ষ ফ্রিল্যান্সারকে ব্রিফ দেওয়ার কথা ভাবুন, যে আপনাকে কখনো দেখেনি, আপনার ব্যবসা সম্পর্কে কিছু জানে না, এবং আপনি কথা থামানোর মুহূর্তেই কাজ শুরু করবে।
"আমাকে একটা লোগো বানিয়ে দাও" বললে আপনি একটা লোগো পাবেন। "দুবাইয়ের একটি শিশুদের সাঁতার স্কুলের জন্য লোগো; বন্ধুত্বপূর্ণ, কিন্তু শিশুসুলভ নয়; নীল ও কমলা; ছোট আকারে সাঁতারের ক্যাপে কাজ করতে হবে; এখানে দুটি আমাদের পছন্দ, একটি না" বললে আপনি যা চান তার কাছাকাছি কিছু পাবেন।
AI মডেল হলো সেই ফ্রিল্যান্সার: প্রতিভাবান, দ্রুত, আর সম্পূর্ণভাবে আপনার ব্রিফের উপর নির্ভরশীল। Prompt engineering হলো একটি ভালো ব্রিফ লিখতে শেখা।
মূল কৌশলগুলো
| কৌশল | এর মানে | উদাহরণ |
|---|---|---|
| লক্ষ্য নিয়ে নির্দিষ্ট হন | কী চান এবং কেন চান তা বলুন। | "একটি বুকিং পেজ যেখানে নতুন ক্লায়েন্টরা ৩০ বা ৬০ মিনিটের সেশন বেছে নিতে পারেন।" |
| প্রেক্ষাপট দিন | কারা ব্যবহার করবে, আগে কী আছে, কী গুরুত্বপূর্ণ। | "ব্যবহারকারীরা বেশির ভাগই ফোনে থাকা বয়স্ক ক্লায়েন্ট।" |
| 'সম্পন্ন' সংজ্ঞায়িত করুন | চূড়ান্ত ফল বর্ণনা করুন। | "সম্পন্ন মানে ক্লায়েন্ট বুক করতে পারবেন, আর আমি একটি ইমেইল পাব।" |
| সীমা নির্ধারণ করুন | কী করা যাবে না, এবং সীমা। | "এখনই লগইন যোগ কোরো না। আগের রং রাখো।" |
| উদাহরণ দেখান | ভালো কেমন দেখায় তার একটি নমুনা দিন। | "উত্তরটি এই ধরনে লেখো: …" |
| ফরম্যাট চান | আউটপুট কীভাবে সাজাতে হবে বলুন। | "X, Y, Z কলামসহ একটি টেবিল হিসেবে উত্তর দাও।" |
| ধাপে ভাগ করুন | বড় কাজ একবারে একটি অংশ করে। | "প্রথমে ডেটা মডেল, তারপর ফর্ম, তারপর ইমেইল।" |
| আগে প্রশ্ন বা পরিকল্পনা চান | পরিবর্তনের আগে একটি পরিকল্পনা নিন। | "বানানোর আগে তোমার প্রশ্নগুলো ও একটি পরিকল্পনা লিখো।" |
| বারবার পরিমার্জন | ফল যাচাই করে উন্নত করুন। | "ফর্মটি কাজ করছে। এখন তারিখ বাছাইকারী বড় করো।" |
একটি কাজের উদাহরণ: আগে এবং পরে
আগে:
একটা জিম অ্যাপ বানাও।
AI-কে সবকিছু অনুমান করতে হবে: সদস্য না কর্মী? ক্লাস না ব্যক্তিগত প্রশিক্ষণ? পেমেন্ট? আপনি হয়তো একটি সাধারণ ড্যাশবোর্ড পাবেন, বানানো ওয়ার্কআউট সহ।
পরে:
একটি ছোট বক্সিং জিমের জন্য একটি ওয়েব অ্যাপ বানাও, যেখানে প্রায় ১৫০ জন সদস্য।
কারা ব্যবহার করবে: সদস্যরা ফোনে ক্লাস বুক করেন। মালিক Sam ল্যাপটপে সময়সূচি পরিচালনা করেন।
সদস্যরা পারবেন: এই সপ্তাহের ক্লাস দেখতে (সময়, কোচ, খালি জায়গা) এবং শুরুর ২ ঘণ্টা আগে বুক বা বাতিল করতে।
Sam পারবেন: ক্লাস যোগ, সম্পাদনা ও বাতিল করতে, এবং প্রতিটি ক্লাসে কে বুক করেছে দেখতে।
নিয়ম: প্রতি ক্লাসে সর্বোচ্চ ১২ জন। একই স্লটে দুবার বুকিং নয়।
এখন নয়: পেমেন্ট, ওয়ার্কআউট ট্র্যাকিং, মোবাইল অ্যাপ।
স্টাইল: গাঢ় পটভূমি, লাল অ্যাকসেন্ট, বড় ট্যাপ এলাকা।
বানানোর আগে যা অস্পষ্ট তা তালিকাভুক্ত করো এবং তুমি যে পেজগুলো বানাবে তা বর্ণনা করো।
দ্বিতীয় prompt চতুর নয়; এটি সম্পূর্ণ। এতে ব্যবহারকারী, কাজ, নিয়ম, কী বাদ দিতে হবে, এবং কীভাবে শুরু করতে হবে সব নাম করা আছে। শেষ লাইনটি AI-কে পরিকল্পনা করতে ও প্রশ্ন করতে আমন্ত্রণ জানায়, যা কোড লেখার আগেই ভুল বোঝাবুঝি ধরে ফেলে।
আপনার অ্যাপের ভেতরের prompt
আপনার অ্যাপ নিজেই যখন একটি LLM কল করে, তখন এমন prompt লেখেন যা অনেক ব্যবহারকারীর জন্য বহুবার চলে। একই মূলনীতি প্রযোজ্য, সাথে আরও কিছু:
- System prompt: স্থায়ী নির্দেশনা যা প্রতিটি উত্তর গঠন করে: ভূমিকা, সুর, নিয়ম। "তুমি Leaf & Pot-এর সহকারী, একটি উদ্ভিদের দোকান। শুধু অর্ডার, গাছ ও ডেলিভারি নিয়ে উত্তর দাও।"
- Grounding: মডেলের ব্যবহার করা উচিত এমন তথ্য দিন, যেমন আপনার নীতি বা পণ্যের তালিকা, এবং সেগুলোর উপর নির্ভর করতে বলুন। কেন এটি গুরুত্বপূর্ণ তা দেখুন LLM কী-এ।
- বিকল্প ব্যবস্থা: অনিশ্চিত হলে কী করতে হবে বলুন: "দেওয়া তথ্যে উত্তর না থাকলে সেটি জানান এবং সাপোর্ট ইমেইল দিন।"
- আউটপুট ফরম্যাট: আপনার কোড উত্তর পড়লে কঠোর ফরম্যাট চান, যেমন JSON।
- পরীক্ষা: আসল ব্যবহারকারীদের আগে কঠিন ইনপুট দিয়ে দেখুন: অভদ্র বার্তা, বিষয়বহির্ভূত প্রশ্ন, এবং নির্দেশনা উপেক্ষা করানোর চেষ্টা (যাকে prompt injection বলে)।
মূল শব্দাবলি
| শব্দ | এর অর্থ |
|---|---|
| Prompt | AI মডেলকে দেওয়া ইনপুট। |
| System prompt | কথোপকথনের আগে সেট করা স্থায়ী নির্দেশনা। |
| Context | প্রম্পটে যোগ করা পটভূমি তথ্য। |
| Zero-shot / few-shot | কোনো উদাহরণ ছাড়া জিজ্ঞাসা, বা চাওয়া ফলের কয়েকটি উদাহরণসহ জিজ্ঞাসা। |
| Chain of thought | উত্তর দেওয়ার আগে মডেলকে ধাপে ধাপে সমস্যাটি ভাবতে বলা। |
| Grounding | মডেলকে উৎস উপাদান দেওয়া এবং সেগুলোর উপর ভিত্তি করে উত্তর দিতে বলা। |
| Prompt injection | মডেলের নির্দেশনা উল্টে দিতে চাওয়া লেখা, যেমন "আগের নির্দেশ উপেক্ষা করো"। |
| Context window | মডেল একসাথে কতটা লেখা বিবেচনা করতে পারে। |
| Iteration | ফিরে আসা ফলের উপর ভিত্তি করে prompt পরিমার্জন করা। |
সাধারণ ভুল ও ভুল ধারণা
- জাদুকরী শব্দ খোঁজা। "তুমি একজন বিশ্বমানের বিশেষজ্ঞ" বলার চেয়ে আপনার আসলে কী দরকার তা বলা অনেক বেশি গুরুত্বপূর্ণ।
- একবারে সবকিছু চাওয়া। ২০টি ফিচারের অনুরোধ মানে ২০টি অর্ধেক-কাজ করা ফিচার। ছোট ছোট অংশে বানান।
- সমাধান বর্ণনা করা, সমস্যা নয়। "তিনটি কলামসহ একটি টেবিল যোগ করো" এর চেয়ে "Sam-কে এক নজরে দেখতে হবে কে কোন ক্লাসে বুক করেছে" বেশি কাজের।
- কী করা যাবে না তা না বলা। লগইন, পেমেন্ট বা নতুন ডিজাইন এখন না চাইলে সেটি বলুন।
- ফল না পড়া। পরের ধাপে যাওয়ার আগে যা বানানো হয়েছে তা আপনার "সম্পন্ন" সংজ্ঞার সাথে যাচাই করুন।
- পরিমার্জনের বদলে নতুন করে শুরু করা। সাধারণত একটি ছোট ফলো-আপ ("এটা প্রায় ঠিক আছে; X বদলাও") পুরো prompt নতুন করে লেখার চেয়ে ভালো।
- prompt-এ গোপন তথ্য পেস্ট করা। টুলের কাছে নিরাপদ সংরক্ষণের ব্যবস্থা না থাকলে চ্যাটে পাসওয়ার্ড বা লাইভ API key দেবেন না।
আপনার AI builder-এর কাছে কী চাইবেন
- "বানানোর আগে আমাকে যেকোনো প্রশ্ন করো এবং তোমার পরিকল্পনা দেখাও।"
- "আমি কী চাই তা তিন বাক্যে আবার বলো।"
- "শুধু বুকিং ফর্ম বদলাও; অন্য কিছুতে হাত দিও না।"
- "আমি উল্লেখ না করলেও তুমি কী ধরে নিয়েছ?"
- "আমার নোটগুলোকে সদস্য, ফিচার, নিয়ম এবং 'এখন নয়' তালিকাসহ একটি সংক্ষিপ্ত স্পেক-এ রূপ দাও।" দেখুন AI দিয়ে প্রোডাক্ট রিকোয়ারমেন্ট ডকুমেন্ট কীভাবে লিখবেন।
- "ওই অনুরোধটি আরও ভালোভাবে কীভাবে বলা যেত তা পরামর্শ দাও।"
Mythex-এ prompt লেখা
Mythex-এর তিনটি চ্যাট মোড আছে যা এই কাজের ধরনের সাথে মানায়: Plan, কিছু বদলানোর আগে পদ্ধতি ঠিক করতে; Build, পরিবর্তন করতে; আর Ask, যা ফাইল সম্পাদনা না করে প্রশ্নের জন্য। প্রেক্ষাপট হিসেবে স্ক্রিনশট বা মক-আপ সংযুক্ত করতে পারেন, আর কোনো পরিবর্তন ভুল হলে একটি চেকপয়েন্টে ফিরে যেতে পারেন। কার্যকর prompt এবং পুনরাবৃত্তি ডকস পৃষ্ঠায় আরও উদাহরণ আছে, আর AI-বানানো অ্যাপে পুনরাবৃত্তি গাইডটি ফলো-আপ প্রক্রিয়া ব্যাখ্যা করে।
প্রশ্নোত্তর
সহজ ভাষায় prompt engineering কী?
Prompt engineering হলো AI মডেলের জন্য নির্দেশনা লেখা ও পরিমার্জন করার অভ্যাস, যাতে সে আপনার চাওয়া ফল নির্ভরযোগ্যভাবে তৈরি করে। এতে থাকে আপনি কী চান, কী প্রেক্ষাপট দেন, উদাহরণ, সীমাবদ্ধতা এবং কোন ফরম্যাটে ফল চান।
আমার কি বিশেষ কৌশল বা জাদুকরী শব্দ লাগে?
তেমন না। আধুনিক মডেল সবচেয়ে ভালো সাড়া দেয় স্পষ্ট, নির্দিষ্ট ও সুগঠিত নির্দেশনায়, যা একজন মানুষ সহকর্মীর জন্যও কাজে লাগে। প্রেক্ষাপট, উদাহরণ এবং চূড়ান্ত ফল কেমন হবে তার স্পষ্ট বর্ণনা বিশেষ শব্দের চেয়ে অনেক বেশি গুরুত্বপূর্ণ।
System prompt কী?
System prompt হলো কথোপকথনের আগে মডেলকে দেওয়া স্থায়ী নির্দেশনা, যেমন তার ভূমিকা, নিয়ম ও সুর। অ্যাপ এটি দিয়ে প্রতিটি উত্তরের ধরন ঠিক করে, আর ব্যবহারকারীর বার্তা আসে পরে।
AI আরও স্মার্ট হলেও কি prompt engineering লাগবে?
ভালো মডেলের কম কৌশল লাগে, কিন্তু তারা তবু আপনার মন পড়তে পারে না। আপনার লক্ষ্য, শ্রোতা, সীমাবদ্ধতা এবং 'সম্পন্ন' বলতে কী বোঝায় তা বলা সবসময় ফল উন্নত করবে, কারণ মডেল শুধু যা আপনি বলেন তার উপরই কাজ করতে পারে।