সফটওয়্যার ডেভেলপারদের জন্য এআই ( AI ) প্রম্পটিং ( prompting )

Hasan Ali Haolader
6 min readJun 23, 2024

--

আমরা আমাদের রেগুলার ডেভেলপমেন্ট এ AI কে ব্যাবহার করে আমরা আমাদের কাজের efficiency বাড়ানো ও ডেভেলপমেন্ট সময় কমিয়ে ফেলতে পারি । কিন্তু এই efficiency ডেভেলপমেন্ট সময় কতটুকু কমাবে সেটা নির্ভর করে আপনি AI কে দিয়ে ঠিক ঠাক ভাবে কাজ করাতে পারছেন কিনা তার উপর ।

AI কি

AI এমন একটি ক্ষেত্র যা আমাদের তৈরি “স্মার্ট” অ্যালগরিদম, যে অ্যালগরিদম নিজে থেকে তার কাছে দেওয়া ডেটা ব্যাবহার করে “শিখতে” পারে।

AI কে দিয়ে ঠিক ঠাক ভাবে কাজ করাতে হলে, AI কে আপনি কি চান তা সঠিক ভাবে বুজাতে হবে। AI কে বুজানোর অথবা instruction দেওয়ার কাজ টা ই হচ্ছে প্রম্পটিং ( prompting ) । AI থেকে আপনি কতটা সঠিক আনসার (answer) পাবেন তার অনেক টা নির্ভর করে প্রম্পটিং (prompting) এর উপর । তাহলে আসুন আমারা জানার চেষ্টা করি কিভাবে, আমরা আমাদের prompting ইম্প্রুভ করব ও একজন ডেভেলপার এর রেগুলার কাজের efficiency কিভাবে বাড়ানো যেতে পারে AI ব্যাবহার করে ?

প্রম্পটিং ( Prompting ) কি ?
প্রম্পটিং ( Prompting ) হচ্ছে ইউজারের দেওয়া ইনপুট অথবা প্রশ্ন যা AI এর মাধ্যমে উল্লেখিত প্রশ্ন এর আনসার ( answer ) পাওয়া যায়।

প্রম্পটিং ( prompting ) ইম্প্রুভ করার জন্য আমারা যে বিষয় গুলো অনুসরণ করতে পারি

১ ) এসাইন ( Assign) রোল ( role ):

AI কে আপনার প্রশ্ন ও কিভাবে আনসার চান তার উপর একটা রোল এসাইন করুন। ধরেন আপনার প্রশ্ন টা হচ্ছে PHP রিলেটেড এবং আনসার ও চান PHP রিলেটেড, তাহলে AI কে আমরা একটা রোল বলতে পারি । সেক্ষেত্রে সে আপনার দেওয়া রোল অনুযায়ী সে আনসার দেওয়ার চেষ্টা করবে। যেমন নিচের প্রশ্নতে আমরা AI কে বলেছি Act as a PHP developer. তাকে কিন্তু PHP তে প্রোগ্রাম লেখার কথা বলিনি। কিন্তু সে যেহেতু Act as a PHP PHP প্রোগ্রামার তাই সে PHP তে প্রোগ্রাম টি লিখেছে ।

Prompt: Act as a PHP developer. Please write the code to 3 arrays of 6 
items each: prepositions, verbs and nouns and g2enerate some sentences
using this array.

AI:
<?php

// Arrays of 6 items each
$prepositions = ["on", "in", "under", "over", "between", "beside"];
$verbs = ["jumps", "runs", "flies", "swims", "reads", "writes"];
$nouns = ["cat", "dog", "bird", "fish", "book", "pen"];

// Function to generate sentences
function generateSentences($prepositions, $verbs, $nouns) {
$sentences = [];

for ($i = 0; $i < 6; $i++) {
$preposition = $prepositions[array_rand($prepositions)];
$verb = $verbs[array_rand($verbs)];
$noun1 = $nouns[array_rand($nouns)];
$noun2 = $nouns[array_rand($nouns)];

// Ensure noun1 and noun2 are not the same
while ($noun1 == $noun2) {
$noun2 = $nouns[array_rand($nouns)];
}

$sentences[] = "The $noun1 $verb $preposition the $noun2.";
}

return $sentences;
}

// Generate and display sentences
$sentences = generateSentences($prepositions, $verbs, $nouns);

foreach ($sentences as $sentence) {
echo $sentence . "<br>";
}

?>

২ ) Clear এবং Specific প্রশ্ন করুন :

AI কে এমনভাবে প্রশ্ন করুন যাতে পরিষ্কার ভাবে বুঝতে পারা যায় যে আপনি কি রকম আনসার চান । যেমন ধরুন, আপনি আসলে জানতে চান php ফাংশন কিভাবে তৈরি করে এবং কিভাবে ব্যাবহার করে, সাথে একটা উদাহরণ ( example ) দিলে ভাল হয় । তাহলে প্রশ্ন টা কিভাবে করবেন ?

আপনি যদি প্রশ্ন এইভাবে করেন “Explain PHP functions” ? তাহলে AI অনেক কিছু বলবে ফাংশন এর ব্যাপারে কিন্তু হতে পারে আপনি আপনার আনসার ই পেলেন না কিন্তু যদি প্রশ্ন টা এইভাবে করেন “Explain how to create and use functions in PHP with an example” তাহলে আপনি AI এর কাছে থেকে সঠিক আনসার পাওয়া যাবে।

৩ ) Step-by-Step আনসার দিতে বলুন:

AI এর কাছে যখন প্রশ্ন করেন পাশাপাশি এইটা ও বলে দিতে পারেন যে আপনি আনসার কীভাবে চান। অনেকসময়ই AI এমন ভাবে আনসার দেয়, আনসার বুঝতে অসুবিধা হয়। তাই অসুবিধা এড়াতে আমারা AI কে যদি বলি আনসার স্টেপ বাই স্টেপ দিবা তাহলে আনসার বুঝতে সুবিধা হবে।

prompt: Can you outline the steps to create a RESTful API in PHP ?

AI: নিচের দেওয়া পিকচার টি দেখুন

৪ ) প্রশ্ন করার সময় আনসার কীভাবে চান তার উদাহরণ দিন

আপনি কি ধরনের আনসার চান সে অনুযায়ী প্রশ্ন এর মধ্যে উদাহরণ ( example ) দিয়ে দিতে পারলে আনসার এর একুরেছি ( accuracy ) অনেক ভাল পাওয়া যাবে । যেমন :

prompt: Write a PHP function that takes a list of numbers and returns 
the average. For instance, for [1, 2, 3], it should return 2.0

AI: নিচের দেওয়া পিকচার টি দেখুন

উল্লেখিত কাজে আমারা AI কে কাজে লাগানোর মাধ্যমে আমাদের ডেভেলপমেন্ট efficiency বাড়ানো ও ডেভেলপমেন্ট সময়ই কমাতে পারি ।
১। Code Generation
২ । Reformatting Code
৩ । Debugging
৪। Optimizing Code
৫। Translating Between Programming Languages
৬ । Concept Explanation
৭ । Code Review, anylizing, explain
৮। Best Practices
৯। Generating Unit Tests
১০ । Documentation

চলুন কিছু উদাহরণ দেখা যাক :

১। Code Generation:

আমাদের একটা crud অপারেশান করতে কেমন সময় লাগত ? AI কে বলে দেখুন কিছু second এর ভেতরে AI আপনাকে কোড করে দিবে, আপনি আপনার প্রয়োজন মত কিছুটা পরিবর্তন করে নিতে পারেন । এতে করে আপনার ডেভেলপমেন্ট সময় 2X কমে আসবে ।

prompt: Act as a PHP developer and provide the outline of steps of a crud 
operation for the user using the following instructions.

1. Store the first and last name in a different column instead of the
full name with username and password.
2. <username> should be unique
3. Follow the repository pattern.
4. Of course, comments should be maintained during write migration.
5. Use Laravel.

AI: আনসার দেখতে
https://chatgpt.com/share/103d8769-c9f7-4165-ab3f-6f73c9f2abd9 এই
লিঙ্ক এ ক্লিক করুন (আনসার অনেক বড় হওয়াতে এখানে উল্লেখ করা সম্ভব হইনি )

২ । Generating Unit Tests:

আমরা অনেকেই সময় এর অভাবে অথবা প্রায়োরিটি ( priority ) অভাবে Unit Test লিখি না যার কারণে পরবর্তী সফটওয়্যার টেস্ট করতে বেশি সময় লাগে ও সফটওয়্যার টেস্ট করে কনফিডেন্টও পাওয়া যায় না । কিন্তু AI এর কারণে ব্যাপার টা অনেক সহজ হয়ে গেল। আপনি AI কে বলে দেখুন, AI আপনার জন্য Unit Test লিখে দিবে। নিচের উদাহরণ ( example ) টি দেখা যাক:

prompt: Act as senior PHP developer. Suppose you are done a API, 
The endpoint is <base_url>/api/v1/login and the request is as follows:

curl - location 'http://localhost:5000/api/v1/login'
- header 'Content-Type: application/json'
- data '{ "username":"admin", "password":"secret" }'

The response is :
{
"code": 200,
"message": "Token generation successfully",
"data":
{ "token": "X" }
}
Please test the use of Laravel for this API with edge case coverage.


AI: আনসার দেখতে
https://chatgpt.com/share/1c11436f-6a01-44fe-a304-e98a8c86b4c4 এই
লিঙ্ক এ ক্লিক করুন (আনসার অনেক বড় হওয়াতে এইখানে উল্লেখ করা সম্ভব হইনি )

৩ । Documentation এ AI:

prompt: Act as senior PHP developer. Suppose you are making a API and 
the endpoint is <base_url>/api/v1/login and the request is as follows:

curl - location 'http://localhost:5000/api/v1/login'
- header 'Content-Type: application/json'
- data '{ "username":"admin", "password":"secret" }'

And the response is :

{
"code": 200,
"message": "Token generation successfully",
"data": {
"token": "X"
}
}
Please make documentation for this API using the following instructions:
1 ) In the documentation, mention 404, 500 and 423.
2 ) Of course, mention sample request and sample response
3 ) Mention which field is required or not, <username> and <password>
are mandatory field.

AI: আনসার দেখতে
https://chatgpt.com/share/ab9b6915-3b19-4195-be64-059b0877b710 এই
লিঙ্ক এ ক্লিক করুন (আনসার অনেক বড় হওয়াতে এইখানে উল্লেখ করা সম্ভব হইনি )

আপনি যদি সঠিক ভাবে প্রম্পটিং করতে পারেন তাহলে আপনি অনেক একুরেছি ( accuracy ) সহ আনসার পাবেন। তবে AI এর আনসার অনুযায়ী কাজ / কোড করার আগে অবশ্যই ভালোভাবে দেখে নিবেন । কারণ AI এর accuracy যেমন প্রম্পটিং এর উপর অনেক টা নির্ভর করে, তেমনি নির্ভর করে AI অ্যালগরিদম ও AI এর কাছে দেওয়া ডাটা ( Data ) সেট এর উপর । AI এর কাছে দেওয়া ডাটা যদি ভুল অথবা পুরাতন ( Legacy ) তথ্য ( information ) থাকে তাহলে সে আপনাকে ভুল অথবা পুরাতন ( Legacy ) তথ্য ( information ) তথ্য দিবে। তাই আপনি কি করছেন আপনি ভালভাবে দেখে বুঝে করবেন। https://chatgpt.com/ হচ্ছে বর্তমানে AI এর ফ্রি টুলস যেখান থেকে আমারা এই সুবিধা গুলো পেতে পারি ।

--

--

Hasan Ali Haolader
Hasan Ali Haolader

Written by Hasan Ali Haolader

Sr. software engineer at Brain station 23| ZCE | AWS certification solution architect

Responses (1)