AI কোডিং সহকারী এখন ডেভেলপারদের নিয়মিত সঙ্গী। একটি ফাংশনের বর্ণনা দিলে সে কয়েক সেকেন্ডে কোড লিখে দেয়। কোড চালালে কাজও করে। তখন খুব স্বাভাবিকভাবেই মনে হয়, হয়ে গেছে, পরের কাজে যাই।
সমস্যা হলো, "চলছে" আর "ঠিক আছে" এক জিনিস নয়। AI-এর লেখা কোড প্রায়ই সাধারণ অবস্থায় কাজ করে, কিন্তু অস্বাভাবিক ইনপুটে ভেঙে পড়ে, নিরাপত্তার ফাঁক রেখে যায়, অথবা এমন কিছু করে যা আপনি চাননি। আর কোডটি আপনার প্রকল্পে ঢোকার পর তার দায় আপনার। তাই যোগ করার আগে পাঁচটি জিনিস নিজে দেখে নিন।
উদাহরণ: একটি অর্ডার ফর্মের কোড
ধরুন, সাকিব নামে একজন কাল্পনিক জুনিয়র ডেভেলপার সিলেটের একটি ছোট প্রতিষ্ঠানে কাজ করেন। তাঁকে একটি অনলাইন দোকানের অর্ডার ফর্মের পেছনের অংশ লিখতে হবে: ফর্মের তথ্য নেওয়া, মোট দাম হিসাব করা এবং ডেটাবেজে সংরক্ষণ করা। তিনি AI-কে দিয়ে কোডটি লিখিয়েছেন, এবং পরীক্ষামূলক একটি অর্ডারে সেটি কাজও করেছে।
এখন তিনি কী কী দেখবেন?
পরীক্ষা ১: আপনি কি কোডটি বোঝেন?
প্রথম এবং সবচেয়ে সহজ পরীক্ষা। কোডের প্রতিটি অংশ কী করছে, তা কি আপনি নিজের ভাষায় বলতে পারেন?
যে কোড আপনি বোঝেন না, তা প্রকল্পে রাখা বিপজ্জনক। ছয় মাস পর সেখানে একটি ত্রুটি দেখা দিলে আপনি বুঝতেই পারবেন না কোথায় খুঁজতে হবে। আর কোড পর্যালোচনায় কেউ জিজ্ঞেস করলে উত্তর দিতে পারবেন না।
না বুঝলে AI-কে জিজ্ঞেস করুন:
এই কোডটি লাইন ধরে ব্যাখ্যা করো। প্রতিটি অংশ কী করছে এবং কেন দরকার, তা সহজ ভাষায় বলো। যেখানে তুমি কোনো কিছু ধরে নিয়েছ, যেমন ইনপুট সব সময় একটি সংখ্যা হবে, সেটি আলাদা করে উল্লেখ করো।
শেষ অনুরোধটি বিশেষ কাজের। AI-এর কোডে অনেক অনুমান লুকিয়ে থাকে, আর সেই অনুমানগুলোই পরে ত্রুটির কারণ হয়।
ব্যাখ্যা শুনেও যদি কোনো অংশ জটিল মনে হয়, বলুন, "এটি আরও সহজভাবে লেখো, দরকার হলে একটু লম্বা হোক।" সহজ কোড রক্ষণাবেক্ষণ করা সহজ।
পরীক্ষা ২: অস্বাভাবিক ইনপুটে কী হয়?
AI সাধারণত "সুখী পথ"-এর জন্য কোড লেখে, অর্থাৎ যখন সব কিছু ঠিকঠাক থাকে। বাস্তবে ব্যবহারকারীরা এমন সব কাজ করেন, যা কেউ ভাবেনি।
সাকিবের অর্ডার ফর্মের জন্য এই প্রশ্নগুলো করা দরকার:
- পরিমাণের ঘরে শূন্য বা ঋণাত্মক সংখ্যা দিলে কী হয়?
- সংখ্যার জায়গায় অক্ষর লিখলে?
- কোনো ঘর ফাঁকা রাখলে?
- খুব লম্বা নাম বা ঠিকানা দিলে?
- নামে বাংলা অক্ষর, ইমোজি বা বিশেষ চিহ্ন থাকলে?
- একই অর্ডার দ্রুত দুবার জমা দিলে?
ঋণাত্মক পরিমাণের কথাটাই ধরুন। কোড যদি তা না আটকায়, তাহলে মোট দাম ঋণাত্মক হয়ে যেতে পারে। এটি শুধু ত্রুটি নয়, অপব্যবহারের সুযোগও।
AI-কে দিয়ে এই তালিকা বাড়িয়ে নিন:
এই ফাংশনের জন্য এমন ইনপুটের একটি তালিকা দাও, যেগুলোতে কোডটি ভুল ফল দিতে পারে বা ভেঙে পড়তে পারে। প্রতিটির জন্য লেখো কী হওয়া উচিত। তারপর এগুলোর জন্য পরীক্ষার কোড লেখো।
তবে পরীক্ষাগুলো নিজে চালান এবং ফল নিজে দেখুন। AI যদি বলে "সব পরীক্ষা পাস করবে", সেটি তার অনুমান, প্রমাণ নয়।
পরীক্ষা ৩: নিরাপত্তার ফাঁক আছে কি?
AI-এর কোডে নিরাপত্তার সাধারণ ভুলগুলো প্রায়ই থেকে যায়, কারণ সে যে কোড দেখে শিখেছে তার অনেকগুলোতেই এসব ভুল ছিল। কয়েকটি জিনিস বিশেষভাবে দেখুন:
- ব্যবহারকারীর ইনপুট সরাসরি ডেটাবেজের কোয়েরিতে বসানো হচ্ছে কি? এতে ডেটাবেজে অনুপ্রবেশের পথ খুলে যায়। ইনপুট সব সময় নিরাপদ পদ্ধতিতে পাঠাতে হবে।
- পাসওয়ার্ড বা গোপন কী কোডের ভেতরে লেখা আছে কি? এগুলো কোডে নয়, আলাদা সুরক্ষিত জায়গায় থাকা উচিত।
- কে এই কাজ করতে পারবেন, তা যাচাই হচ্ছে কি? যেমন, একজন ব্যবহারকারী কি অন্যের অর্ডার দেখতে বা বদলাতে পারছেন?
- দাম কোথা থেকে আসছে? ব্রাউজার থেকে পাঠানো দাম বিশ্বাস করা চলবে না। দাম সার্ভারে নিজের ডেটাবেজ থেকে নিতে হবে।
- ত্রুটির বার্তায় ভেতরের তথ্য বেরিয়ে যাচ্ছে কি?
AI-কে পর্যালোচকের ভূমিকায় বসাতে পারেন:
তুমি একজন নিরাপত্তা পর্যালোচক। এই কোডে কোন কোন নিরাপত্তার দুর্বলতা থাকতে পারে, তা খুঁজে বের করো। প্রতিটির জন্য লেখো সমস্যা কী, কীভাবে এর অপব্যবহার হতে পারে এবং সমাধান কী।
এতে অনেক সমস্যা ধরা পড়ে, তবে সব নয়। টাকা, লগইন বা ব্যক্তিগত তথ্য নিয়ে কাজ করে এমন কোড অবশ্যই একজন অভিজ্ঞ মানুষকে দিয়ে দেখিয়ে নিন।
পরীক্ষা ৪: যা ব্যবহার করছে, তা কি সত্যিই আছে?
AI কখনো কখনো এমন লাইব্রেরি, ফাংশন বা সেটিংয়ের নাম লিখে দেয়, যা বাস্তবে নেই, অথবা পুরোনো সংস্করণে ছিল, এখন বদলে গেছে। নামগুলো শুনতে এতটাই বিশ্বাসযোগ্য যে চোখে পড়ে না।
তাই:
- AI যে লাইব্রেরি যোগ করতে বলছে, সেটি আগে নিজে খুঁজে দেখুন। আসল প্রকল্প কি না, নিয়মিত রক্ষণাবেক্ষণ হয় কি না, অনেকে ব্যবহার করেন কি না।
- অচেনা নামের প্যাকেজ না দেখে ইনস্টল করবেন না। ভুল নামের প্যাকেজে ক্ষতিকর কোড থাকতে পারে।
- কোনো ফাংশন কীভাবে কাজ করে, তা লাইব্রেরির নিজস্ব নথিতে মিলিয়ে নিন।
- লাইব্রেরির লাইসেন্স আপনার প্রকল্পে ব্যবহারের অনুমতি দেয় কি না দেখুন।
আর ভাবুন, এই কাজের জন্য আদৌ নতুন লাইব্রেরি দরকার কি না। AI ছোট কাজের জন্যও অনেক সময় একটি বাড়তি নির্ভরতা জুড়ে দেয়। প্রতিটি নির্ভরতা মানে ভবিষ্যতে একটি বাড়তি রক্ষণাবেক্ষণের দায়।
পরীক্ষা ৫: প্রকল্পের সাথে মেলে কি?
AI আপনার পুরো প্রকল্প জানে না। সে যে কোড দেয়, তা নিজে ঠিক হলেও আপনার প্রকল্পের ধরনের সাথে নাও মিলতে পারে।
দেখুন:
- নামকরণ ও গঠন: প্রকল্পের বাকি কোড যেভাবে লেখা, এটিও কি সেভাবে?
- পুনরাবৃত্তি: একই কাজের একটি ফাংশন কি প্রকল্পে আগে থেকেই আছে? থাকলে সেটিই ব্যবহার করুন।
- ত্রুটি সামলানো: প্রকল্পে ত্রুটি যেভাবে সামলানো হয়, এই কোডও কি সেই নিয়ম মানছে?
- অপ্রয়োজনীয় পরিবর্তন: আপনি একটি জিনিস চেয়েছিলেন, AI কি পাশের আরও কিছু বদলে দিয়েছে?
শেষ প্রশ্নটি গুরুত্বপূর্ণ। পরিবর্তনগুলো লাইন ধরে দেখুন। যা চাননি, তা ফিরিয়ে দিন। ছোট, নির্দিষ্ট পরিবর্তন পর্যালোচনা করা সহজ এবং ভুল ধরাও সহজ।
কাজের একটি ভালো অভ্যাস
এই পাঁচটি পরীক্ষা সহজ হয়ে যায়, যদি AI-কে একবারে অল্প কাজ দেন। পুরো ফিচার একসাথে না চেয়ে একটি ফাংশন চান, পরীক্ষা করুন, তারপর পরেরটি। দুইশ লাইনের কোড একবারে পর্যালোচনা করা কঠিন, বিশ লাইন সহজ।
আর AI-কে প্রকল্পের প্রেক্ষাপট দিন: কোন ভাষা ও কাঠামো ব্যবহার করছেন, বিদ্যমান কোড কেমন, কী কী নিয়ম মানতে হবে। প্রেক্ষাপট যত ভালো, কোড তত কাছাকাছি।
একটি সাবধানতা: প্রতিষ্ঠানের গোপন কোড, গ্রাহকের তথ্য বা গোপন কী AI টুলে পেস্ট করার আগে প্রতিষ্ঠানের নিয়ম জেনে নিন।
আজই চেষ্টা করুন
- সম্প্রতি AI দিয়ে লেখানো একটি ফাংশন বেছে নিন।
- সেটি লাইন ধরে নিজের ভাষায় ব্যাখ্যা করার চেষ্টা করুন। যেখানে আটকান, সেখানে AI-কে জিজ্ঞেস করুন।
- পাঁচটি অস্বাভাবিক ইনপুট দিয়ে চালিয়ে দেখুন কী হয়।
সম্ভবত অন্তত একটি সমস্যা পাবেন। সেটি পাওয়াই এই অনুশীলনের উদ্দেশ্য। ব্যবহারকারী খুঁজে পাওয়ার আগে নিজে খুঁজে পাওয়া সব সময় ভালো।