এই সপ্তাহে AI কোডিং বাজারে Meta-র প্রবেশের সঙ্গে এমন একটি নির্দিষ্ট দাবি এসেছে, যা একটু ভেবে দেখার মতো। কোম্পানিটির নতুন টার্মিনাল-ভিত্তিক কোডিং এজেন্ট Muse Code শুধু একবারে একটি ফাইলের কোড লেখে না — মার্ক জাকারবার্গের উদ্বোধনী পোস্ট অনুযায়ী, কোনো কাজ যথেষ্ট বড় হলে এটি "আলাদা ওয়ার্কট্রিতে সমান্তরালভাবে কাজ করা পৃথক সাব-এজেন্টদের মধ্যে কাজ ভাগ করে দেয়", এবং Meta-র নিজস্ব পরীক্ষায় এটি নাকি কোনো সংঘর্ষ ছাড়াই একটি গেমের ছয়টি ফিচার একসঙ্গে তৈরি করেছে। এটি উদ্বোধনের দিন নিজেদের পণ্য সম্পর্কে একজন বিক্রেতার দাবি, স্বাধীনভাবে যাচাই করা ফল নয়, তাই নির্দিষ্ট সংখ্যাটিকে সংশয়ের সঙ্গে বিবেচনা করুন। কিন্তু বর্ণিত কর্মপ্রবাহের ধরনটি শুধু Meta-র নিজস্ব ধারণা নয় — সমান্তরাল, বিচ্ছিন্ন এজেন্ট এক্সিকিউশন কোডিং-এজেন্ট ক্ষেত্রজুড়ে একটি ডিফল্ট প্যাটার্ন হয়ে উঠছে, এবং এটি "এ কাজে দক্ষ হওয়া" বলতে আসলে কী বোঝায়, তা বদলে দিচ্ছে।
গত দুই বছর ধরে AI কোডিং টুলগুলোর মূল প্রচার ছিল একক ধারায় গতি নিয়ে: একজন এজেন্ট, একটি কাজ, পর্যালোচনার জন্য একটি ডিফ। এটি এমন এক দক্ষতা, যা অধিকাংশ প্রকৌশলী ইতিমধ্যে কিছুটা রপ্ত করে ফেলেছেন — ডিফ পড়ুন, টেস্ট চালান, শিপ করুন। বিচ্ছিন্ন ওয়ার্কট্রিতে কাজ করা একাধিক এজেন্টের মধ্যে কাজ ভাগ করে দেওয়া এই মডেলটি ভেঙে দেয়। আপনি আর একটি চিন্তাধারা থেকে আসা একটি সুসংহত পরিবর্তন পর্যালোচনা করছেন না। আপনি একই সঙ্গে তৈরি হওয়া, স্বাধীনভাবে যুক্তি করা একাধিক পরিবর্তন পর্যালোচনা করছেন, যেগুলোকে পরস্পরের সঙ্গে বিরোধ না করে, যুক্তির পুনরাবৃত্তি না ঘটিয়ে, কিংবা কোডবেসের কোনো অভিন্ন অংশের আচরণ নিয়ে নীরবে ভিন্নমত পোষণ না করে একটি কার্যকর সিস্টেমে একত্রিত হতে হবে।
কেন এটি সত্যিই একটি ভিন্ন দক্ষতা, পুরোনো দক্ষতার দ্রুত সংস্করণ নয়
AI-লিখিত একটি ডিফ পর্যালোচনা করা মূলত সঠিকতা যাচাই: এটি যা বলছে তা কি করছে, আশপাশের কিছু কি ভেঙে দিচ্ছে। একাধিক সমান্তরাল এজেন্টের আউটপুট পর্যালোচনা করার ক্ষেত্রে এমন একটি স্তর যুক্ত হয়, যা অধিকাংশ মানুষকে আগে কখনও অনুশীলন করতে হয়নি, কারণ সম্প্রতি পর্যন্ত কোনো একক ব্যক্তির কাজেই এর প্রয়োজন পড়ত না: ডিফগুলোর পারস্পরিক সামঞ্জস্য। দুই এজেন্ট কি একই সহায়ক ফাংশনের নিজেদের নিজস্ব সংস্করণ তৈরি করেছে? একজন এজেন্টের "বিচ্ছিন্ন" পরিবর্তন কি নীরবে এমন একটি ফাইলের ওপর নির্ভর করছে, যেটি অন্য এজেন্ট তখন পুনর্লিখন করছিল? মার্জ ধাপটি কি সত্যিই একটি প্রকৃত সংঘর্ষ শনাক্ত করেছে, নাকি নীরবে এক শাখার অনুমানকে অন্যটির ওপর বেছে নিয়েছে? এগুলো প্রচলিত অর্থে বাগ নয় — প্রতিটি পৃথক ডিফ নিজস্ব টেস্টে পাস করতে পারে, তবু একত্রিত করার পর এমন একটি সিস্টেম তৈরি হতে পারে, যার কোনো সামঞ্জস্য নেই।
এটি সেই একই সমস্যা, যা বিতরণকৃত প্রকৌশল দলগুলো মানব অবদানকারীদের নিয়ে সবসময় সামলে এসেছে, শুধু কয়েক দিনের বদলে কয়েক মিনিটে সংকুচিত হয়েছে। পার্থক্য হলো, কোনো কাজ অস্পষ্ট মনে হলে জুনিয়র প্রকৌশলীদের একটি দল স্বাভাবিকভাবেই দিকনির্দেশনা চাইবে; কিন্তু নিজের বরাদ্দকৃত অংশ শেষ করার জন্য অপ্টিমাইজ করা কোনো এজেন্ট প্রায়ই ভুল প্রশ্নের একটি আত্মবিশ্বাসী, সিনট্যাক্টিক্যালি পরিচ্ছন্ন উত্তর তৈরি করবে। এটি ধরতে এমন একজনের প্রয়োজন, যিনি কাজটিকে শুরুতেই ভেঙে দেওয়ার জন্য যথেষ্ট ভালোভাবে বুঝেছিলেন — অর্থাৎ প্রকৃত bottleneck দক্ষতা "দ্রুত কোড পর্যালোচনা করা" নয়, বরং "কাজের একটি অংশকে এমন অংশে ভাগ করা, যেগুলো নিরাপদে সমান্তরালে চলতে পারে, এবং কোন অংশগুলো তা পারে না তা জানা"।
বিশেষভাবে কোডিং টুলের বাইরে আরও বিস্তৃত প্যাটার্নটি
এটি শুধু ডেভেলপার টুলের মধ্যে সীমাবদ্ধ নয়, তা লক্ষ করা গুরুত্বপূর্ণ। একই সপ্তাহে উন্মোচিত Google-এর সার্চ বক্সের পুনর্নকশায় AI Overviews এবং AI Mode-কে একটি প্রবাহে একত্র করা হয়েছে, যেখানে ইনপুট হিসেবে টেক্সট, ছবি, PDF, ভিডিও এবং খোলা Chrome ট্যাব নেওয়া যায়, এবং কাজটি কোনো কোয়েরি পার্সারের বদলে একটি এজেন্টকে দেওয়া হয়। উভয় প্রকাশনার সাধারণ সূত্র একই: ইন্টারফেসটি "AI-কে একটি স্পষ্ট নির্দেশ দিন এবং একটি স্পষ্ট আউটপুট যাচাই করুন" থেকে সরে "AI-কে একটি মোটামুটি নির্ধারিত লক্ষ্য ও একগুচ্ছ ইনপুট দিন, এবং ধাপগুলো তাকে ঠিক করতে দিন"-এর দিকে এগোচ্ছে। এজেন্টভিত্তিক টুল যেখানে মোতায়েন হয়, সেখানেই এই প্যাটার্ন দেখা যায়, শুধু কোড এডিটরে নয় — আর এর অর্থ হলো, পর্যালোচনা ও অর্কেস্ট্রেট করার দক্ষতা ইঞ্জিনিয়ারিংয়ের বাইরেও অনেক বেশি প্রাসঙ্গিক হতে চলেছে, এমন প্রত্যেকের জন্য যাদের কাজ একক প্রম্পটের বদলে বহু-ধাপের কোনো কাজের মধ্য দিয়ে একটি AI সিস্টেমকে পরিচালনা করা।
বাস্তবে কী অনুশীলন করবেন, নির্দিষ্টভাবে
আপনি যদি কোড লেখেন বা পরিচালনা করেন, তাহলে কয়েকটি নির্দিষ্ট, যাচাইযোগ্য অভ্যাস এ বিষয়ে পড়ার চেয়ে দ্রুত এই দক্ষতা গড়ে তুলবে:
- একটি বিচ্ছিন্ন ওয়ার্কট্রি আসলে কী, তা শিখুন (git-এর
worktreeফিচারটি একসঙ্গে একাধিক শাখাকে আলাদা ডিরেক্টরিতে চেক আউট করতে দেয়) — এর আগে যে আপনি কোনো টুলের এই দাবি বিশ্বাস করবেন যে সমান্তরাল পরিবর্তনগুলো "সংঘর্ষে জড়াতে পারে না"। এক্সিকিউশনের সময় বিচ্ছিন্নতা মার্জের সময় সামঞ্জস্যের নিশ্চয়তা দেয় না — এটি আলাদা একটি ধাপ, যেটি মনোযোগ দিয়ে দেখা জরুরি। - ইচ্ছাকৃতভাবে কোনো কোডিং এজেন্টকে এত বড় একটি কাজ দিন, যাতে তাকে সেটি ভেঙে নিতে হয়, এবং তৈরি হওয়া ডিফগুলো পড়ার আগে দেখুন সে কীভাবে কাজটি ভাগ করেছে। ডিকম্পোজিশনটি আপনাকে আউটপুটটি বিশ্বাস করা যায় কি না সে সম্পর্কে কোডের চেয়েও বেশি জানায়।
- একবারে একটি করে নয়, ব্যাচে ডিফ পর্যালোচনা করার অনুশীলন করুন। একই সময়ে তিন বা চারটি সম্পর্কিত পরিবর্তন মাথায় ধরে রাখা এবং তারা কোথায় একে অপরের সঙ্গে দ্বিমত করছে তা শনাক্ত করার দক্ষতা, প্রতিটিকে আলাদাভাবে পর্যালোচনা করে নিজস্ব যোগ্যতার ভিত্তিতে অনুমোদন করার দক্ষতা থেকে ভিন্ন।
- শুধু সফলতার ক্ষেত্রে নয়, সংঘর্ষ হলে কী ঘটে তা জিজ্ঞেস করুন। স্বয়ংক্রিয় সমান্তরাল মার্জের দাবি করা যেকোনো টুলের উচিত, যখন দুই এজেন্ট সত্যিই একই যুক্তিতে হাত দেয় তখন সে কী করে তা দেখাতে পারা — এই ব্যর্থতার পথ, সফলতার স্বাভাবিক পথের চেয়ে বেশি, আপনাকে বলে দেবে যে বাস্তব কাজ তার হাতে তুলে দেওয়ার মতো টুলটি নিরাপদ কি না।
এর কোনো কিছুর জন্যই আপনার নিয়োগকর্তা নির্দিষ্ট কোনো পণ্য গ্রহণ করা পর্যন্ত অপেক্ষা করার দরকার নেই। প্যাটার্নটি — ডিকম্পোজ, ডিসপ্যাচ, পুনরায় একত্রিত করা, যাচাই — এখন একাধিক বিক্রেতার কোডিং এজেন্টে এবং ভোক্তা AI ইন্টারফেস—উভয় ক্ষেত্রেই দেখা যাচ্ছে। যারা শুধু একক-ধারার আউটপুট পর্যালোচনা না করে এই চক্র পরিচালনায় স্বচ্ছন্দ হয়ে উঠবেন, তারা এমন একটি দক্ষতা গড়ে তুলছেন, যা কোনো কোম্পানির এজেন্ট শেষ পর্যন্ত শীর্ষে থাকে তা নির্বিশেষে প্রাসঙ্গিক থাকবে।