কেন AI কোডিং এজেন্টরা ব্যর্থ হয়: ফাইল এবং লাইনের মধ্যে একটি গুরুত্বপূর্ণ ব্যবধান
যদিও AI কোডিং এজেন্টরা সফটওয়্যার বাগ সমাধান করতে ক্রমশ সক্ষম হচ্ছে, একটি নতুন গবেষণা প্রকাশ করেছে যে তারা একটি উল্লেখযোগ্য "লোকালাইজেশন" (localization) সমস্যায় ভুগছে। তারা একটি বিশাল কোডবেসের মধ্যে সঠিক ফাইলটি খুঁজে পেতে পারে, কিন্তু একটি সমাধান কার্যকর করার জন্য প্রয়োজনীয় কোডের নির্দিষ্ট লাইনগুলো শনাক্ত করতে প্রায়শই ব্যর্থ হয়।
SWE-Explore-এর পরিচিতি: রিপেয়ার রেটের (repair rates) ঊর্ধ্বে যাওয়া
ঐতিহাসিকভাবে, AI কোডিং এজেন্টদের কার্যকারিতা একটি একক, বাইনারি মেট্রিক দ্বারা পরিমাপ করা হতো: এজেন্টটি বাগটি ঠিক করেছে কি না? এই পদ্ধতিটি ব্যর্থতার পেছনের "কেন" বিষয়টি উপেক্ষা করে। একটি ব্যর্থ মেরামত (repair) এর অর্থ হতে পারে এজেন্টটি একটি ত্রুটিপূর্ণ প্যাচ (patch) লিখেছে, অথবা এর অর্থ হতে পারে এজেন্টটি প্রাসঙ্গিক লজিকটি একবারও দেখেনি।
এই সীমাবদ্ধতা দূর করতে, সাংহাই জিয়াও টং ইউনিভার্সিটির বিজ্ঞানীদের সমন্বয়ে গঠিত একটি আন্তর্জাতিক গবেষণা দল SWE-Explore তৈরি করেছে। প্রথাগত বেঞ্চমার্কের বিপরীতে, SWE-Explore আপস্ট্রিম সার্চ (upstream search) পর্যায়টিকে আলাদা করে। এটি একটি বাগের বিবরণ গ্রহণ করে এবং সমস্যার সাথে প্রকৃতপক্ষে প্রাসঙ্গিক নির্দিষ্ট কোড সেকশনগুলোর একটি র্যাঙ্ক করা তালিকা প্রদান করার ক্ষেত্রে এজেন্টের সক্ষমতা মূল্যায়ন করে। এর ডেটাসেটটি অত্যন্ত বিস্তৃত, যা ২০৩টি ওপেন-সোর্স প্রজেক্ট এবং দশটি প্রোগ্রামিং ল্যাঙ্গুয়েজের ৮৪৮টি টাস্ক থেকে নেওয়া হয়েছে, যার মধ্যে Python সবচেয়ে উল্লেখযোগ্য (৫৪৭টি টাস্ক)।
নির্ভুলতার ব্যবধান: ফাইলের সাফল্য বনাম লাইনের ব্যর্থতা
এই গবেষণার সবচেয়ে চমকপ্রদ ফলাফল হলো ফাইল-লেভেল এবং লাইন-লেভেল নির্ভুলতার মধ্যে বিশাল ব্যবধান। Claude Code, Codex, এবং OpenHands-এর মতো সাধারণ উদ্দেশ্যে ব্যবহৃত এজেন্টগুলোর বিরুদ্ধে পরীক্ষা করার পর ফলাফল ছিল স্পষ্ট:
- ফাইল-লেভেল নির্ভুলতা: এজেন্টরা ভালো পারফর্ম করে, সফলভাবে সঠিক সোর্স ফাইলগুলো শনাক্ত করে এবং সেগুলোকে উচ্চ র্যাঙ্কিং দেয়।
- লাইন-লেভেল নির্ভুলতা: পারফরম্যান্স মারাত্মকভাবে কমে যায়। সাধারণ কোডিং এজেন্টগুলো একটি সমাধানের জন্য প্রয়োজনীয় প্রকৃত কোড লাইনের মাত্র ১৪% থেকে ১৯% কভার করতে পেরেছে।
মজার বিষয় হলো, শুধুমাত্র অন্তর্নিহিত Large Language Model (LLM) আপগ্রেড করলেই এই সমস্যার সমাধান হয় না। OpenAI, Anthropic, Google, Moonshot বা Zhipu-এর মডেল ব্যবহার করা হোক না কেন, প্যাটার্নটি একই থাকে: ফাইলের ক্ষেত্রে উচ্চ হিট রেট কিন্তু লাইনের ক্ষেত্রে অত্যন্ত নিম্ন কভারেজ। গবেষণাটি উল্লেখ করেছে যে, CoSIL-এর মতো বিশেষায়িত সিস্টেমগুলো কোডকে আন্তঃসংযুক্ত বিল্ডিং ব্লকের একটি নেটওয়ার্ক হিসেবে বিবেচনা করে সাধারণ এজেন্টদের তুলনায় ভালো ফলাফল দেখিয়েছে, যা নির্দেশ করে যে মডেলের শক্তির চেয়ে আর্কিটেকচারাল পরিবর্তন বেশি গুরুত্বপূর্ণ।
থ্রেশহোল্ড ইফেক্ট: কেন "আরও বেশি পড়া" গুরুত্বপূর্ণ
নিয়ন্ত্রিত অ্যাবলেশন পরীক্ষার মাধ্যমে, গবেষকরা কনটেক্সটের ক্ষেত্রে একটি "থ্রেশহোল্ড ইফেক্ট" (threshold effect) আবিষ্কার করেছেন। মডেলকে প্রদান করা মূল কোডের পরিমাণ পরিবর্তন করে (০% থেকে ১০০% পর্যন্ত), তারা দেখতে পান যে মেরামতের উন্নতি রৈখিকভাবে ঘটে না।
সহজ কাজগুলোর ক্ষেত্রে একটি স্পষ্ট টিপিং পয়েন্ট রয়েছে: যদি কোনো এজেন্ট প্রয়োজনীয় মূল অংশের ৫০% এর কম দেখে, তবে মেরামতের সাফল্যের হার শূন্যের কাছাকাছি থাকে। সফল মেরামতের ক্ষেত্রে একটি উল্লেখযোগ্য লাফ তখনই দেখা যায় যখন এজেন্ট প্রয়োজনীয় কনটেক্সটের ৫০% থেকে ৭৫% এর মধ্যে অ্যাক্সেস পায়। গুরুত্বপূর্ণভাবে, গবেষণায় দেখা গেছে যে অপ্রাসঙ্গিক "নয়েজ" কোড প্রদান করলে পারফরম্যান্স ততটা ক্ষতিগ্রস্ত হয় না যতটা গুরুত্বপূর্ণ লাইনগুলো বাদ দিলে হয়। ডেভেলপারদের জন্য এর সারকথা স্পষ্ট: AI এজেন্টের যুগে, প্রয়োজনীয় বিবরণগুলো ফিল্টার করার ঝুঁকি নেওয়ার চেয়ে বেশি কনটেক্সট প্রদান করা অনেক ভালো।
মূল শিক্ষা
- লোকালাইজেশনই হলো মূল বাধা (bottleneck): AI এজেন্টরা সঠিক ফাইল খুঁজে পেতে দক্ষ হলেও, একটি ফিক্সের জন্য প্রয়োজনীয় কোডের নির্দিষ্ট লাইনগুলো সুনির্দিষ্টভাবে চিহ্নিত করতে উল্লেখযোগ্যভাবে হিমশিম খায়।
- মডেল স্কেলিং কোনো জাদুকরী সমাধান (silver bullet) নয়: আরও শক্তিশালী LLM-এ আপগ্রেড করা লাইন-লেভেল নির্ভুলতার ব্যবধান দূর করে না; CoSIL-এর মতো বিশেষায়িত আর্কিটেকচারাল পদ্ধতিগুলো বেশি কার্যকর।
- ৫০% কনটেক্সট নিয়ম: AI মেরামতের সাফল্য একটি থ্রেশহোল্ড প্যাটার্ন অনুসরণ করে, যেখানে সফল ফিক্স সম্ভাব্য হওয়ার জন্য প্রাসঙ্গিক কোড কনটেক্সটের অন্তত ৫০-৭৫% দৃশ্যমান হওয়া প্রয়োজন।