আমি কীভাবে কোড শিপ করার জন্য AI ব্যবহার করি
চতুর প্রম্পট লেখার চেষ্টা বন্ধ করুন। কনটেক্সট ইঞ্জিনিয়ারিং শুরু করুন।
বেশিরভাগ মানুষ AI ভুলভাবে ব্যবহার করে। তারা একটি বাক্যে একটি ফিচারের কথা বলে। AI এমন কোড প্রদান করে যা ভুল লাইব্রেরি ব্যবহার করে, আপনার নেমিং কনভেনশন ভেঙে ফেলে এবং পুরনো বাগ পুনরায় ফিরিয়ে আনে। আপনি আপনার পুরো বিকেল সেই বিশৃঙ্খলা ঠিক করতে ব্যয় করেন।
কনটেক্সট ছাড়া একটি AI হলো এমন একজন জুনিয়র ডেভেলপার যে আপনার কোডবেস কখনও পড়েনি। এটি গতকালের সবকিছু ভুলে যায়। আপনি একজন নতুন কর্মীকে একটি এক লাইনের টিকিট দিয়ে নিখুঁত কোড আশা করবেন না। আপনি তাকে একটি অনবোর্ডিং ডকুমেন্ট দেবেন।
আমি আমার রিপোতে একটি প্রজেক্ট মেমরি ফাইল ব্যবহার করি। এই ফাইলটি একটি অনবোর্ডিং ডকুমেন্ট হিসেবে কাজ করে যা AI প্রতিবার পড়ে। এতে প্রজেক্ট-নির্দিষ্ট নিয়মাবলী থাকে যা একজন বহিরাগত জানবে না:
• অবশ্যম্ভাবী নিয়ম (Non-negotiables): URL দেখতে কেমন হওয়া উচিত এবং স্ল্যাগ (slug) কীভাবে প্রোডাকশনের সাথে মিলতে হবে। • লজিক রুলস: সংখ্যা হার্ডকোড করার পরিবর্তে কনফিগ থেকে ভ্যালু নেওয়া। • এজ কেস (Edge cases): নির্দিষ্ট CDN সেটিংস বা ফাইল পাথ যা কোনো সতর্কতা ছাড়াই সিস্টেম ভেঙে যাওয়া রোধ করে।
আমার করা প্রতিটি ভুল এই ফাইলের একটি লাইনে পরিণত হয়। এটি ফাইলটিকে একটি ক্রমবর্ধমান সম্পদে (compounding asset) পরিণত করে। AI-এর আউটপুটের মান সময়ের সাথে সাথে উন্নত হয় কারণ আমাকে বারবার একই কথা বলতে হয় না।
আমার কাজের ধারা (workflow) এই ধাপগুলো অনুসরণ করে:
- কনটেক্সট বুটস্ট্র্যাপ করা: আপনার কোড থেকে মেমরি ফাইলটি ড্রাফট করতে AI-কে বলুন, তারপর আপনি সেটি এডিট করুন।
- কাজটি পুনরায় বলা: কোড লেখার আগে AI-কে লক্ষ্যটি সারসংক্ষেপ করতে বলুন। এটি দ্রুত ভুল ধরতে সাহায্য করে।
- প্রম্পট উন্নত করা: আপনার অনুরোধে কী অস্পষ্টতা আছে তা AI-কে জিজ্ঞাসা করুন।
এই কাজগুলোর জন্য AI ব্যবহার করুন:
- Boilerplate এবং scaffolding লেখা।
- প্যাটার্ন অনুসরণ করে রিফ্যাক্টর করা।
- অপরিচিত কোড ব্যাখ্যা করা।
- একটি রিপোর জুড়ে যান্ত্রিকভাবে অনুসন্ধান করা।
- টেস্ট এবং ফিক্সচার (fixtures) লেখা।
এই কাজগুলোর জন্য AI ব্যবহার করা এড়িয়ে চলুন:
- নতুন আর্কিটেকচার সংক্রান্ত সিদ্ধান্ত নেওয়া।
- পছন্দ বা প্রোডাক্ট সংক্রান্ত সিদ্ধান্ত নেওয়া।
- এমন কিছু যেখানে ভুল হওয়া মানে বড় ধরনের ক্ষতি।
- নিরাপত্তা-সংবেদনশীল ডিজাইন।
- শিপ করার আগের চূড়ান্ত রিভিউ।
শৃঙ্খলা বজায় রাখা সহজ:
- কাজের পরিধি ছোট রাখুন। "এই ফিচারটি তৈরি করো" না বলে বলুন "এই নির্দিষ্ট পরিবর্তনটি করো।"
- আগে থেকেই কনটেক্সট দিন।
- প্রতিটি আউটপুট যাচাই করুন। বিল্ড রান করুন এবং ডিফ (diff) পড়ুন।
- এটি একজন জুনিয়র ডেভেলপারের PR-এর মতো রিভিউ করুন। কোনো মানুষ না পড়া পর্যন্ত কোড কমিট করবেন না।
- শেখা বিষয়গুলো আপনার কনটেক্সট ফাইলে যুক্ত করুন।
প্রকৃত সুবিধা প্রম্পটে নেই। প্রকৃত সুবিধা হলো আপনার বজায় রাখা কনটেক্সটে।
Optional learning community: https://t.me/GyaanSetuAi
