
বেশিরভাগ কোডিং এজেন্ট তাদের কনটেক্সট উইন্ডোর ৭০% অপ্রাসঙ্গিক কোডের পেছনে নষ্ট করে। একটি কম্পাইলার কখনোই এমনটা করবে না। এটি ডিপেন্ডেন্সিগুলো সমাধান করে, অ্যাক্সেস-অযোগ্য কোড বাদ দেয় এবং শুধুমাত্র সেইসব ইন্টারফেস রাখে যেগুলোর ইমপ্লিমেন্টেশনের প্রয়োজন নেই। কোডিং এজেন্টরা এর বিপরীত কাজ করে—এবং এর জন্য তাদের ঠিক সেই জিনিসটিরই মূল্য দিতে হচ্ছে, যা একটি সংকুচিত কনটেক্সট বাজেট কোনোভাবেই হারাতে পারে না।
কম্পাইলার হলো এমন এক ধরনের ফিল্টার যা জানে কী রাখতে হবে। আপনি একে একটি এন্ট্রি পয়েন্ট এবং একটি কোডবেস দিলে, এটি খুঁজে বের করে আসলে কী কল করা হচ্ছে, অপ্রয়োজনীয় অংশটুকু বাদ দিয়ে দেয় এবং পরবর্তী ধাপের জন্য প্রয়োজনীয় বিবরণসহ একটি অন্তর্বর্তীকালীন উপস্থাপনা আউটপুট হিসেবে দেয়। এর বেশি কিছু নয়।
বেশিরভাগ কোডিং এজেন্ট প্রম্পট কনস্ট্রাকশনকে কম্পাইলারের মতো করে দেখে না। তারা এক ধরনের রিপোজিটরি ম্যাপ তৈরি করে, প্রাসঙ্গিক বলে মনে হওয়া ফাইলগুলো সংগ্রহ করে এবং তুলনামূলকভাবে সামান্য কাঠামোগত হ্রাস ঘটিয়ে সেগুলোকে মডেলে পাঠিয়ে দেয়। বড় কনটেক্সট উইন্ডো সাহায্য করে, কিন্তু সেগুলো অপ্রাসঙ্গিক কনটেক্সট দূর করে না। সেই অতিরিক্ত কনটেক্সট আসল গুরুত্বপূর্ণ কোডের সাথে মনোযোগের জন্য প্রতিযোগিতা করে। আর যখন উইন্ডোর আকার ছোট হয়ে আসে, তখন এই বাড়তি অংশ কম্প্যাকশনকে সক্রিয় করে তোলে। কম্প্যাকশনকে একটি সাধারণ পরিষ্কার-পরিচ্ছন্নতার কাজ বলে মনে হয়, যতক্ষণ না এটি কোনো কাজের মাঝখানে ঘটে: এজেন্ট জায়গা খালি করার জন্য তার নিজের কনটেক্সটকে সংক্ষিপ্ত করে, তারপর পরবর্তী কয়েকটি টার্ন ধরে একটি সংক্ষিপ্তসারের ত্রুটিপূর্ণ সংক্ষিপ্তসার থেকে ইমপ্লিমেন্টেশনের বিবরণ পুনর্গঠন করার চেষ্টা করে। অর্ধেক সময় যখন একটি এজেন্ট কিছু “ভুলে যায়”, তখন আসলে তার নিজের মেমরি ম্যানেজমেন্টই তার মনে রাখার ক্ষমতাকে দুর্বল করে দেয়।
দুটি আসল পাইথন রিপোজিটরিতে এটি পরীক্ষা করা হয়েছে: এটি প্রম্পটের আকার ৬৯–৭৪% কমিয়েছে এবং ৭৫ মিলিসেকেন্ডেরও কম সময়ে চলেছে।
নীচের সমস্ত সংখ্যা সরাসরি টার্মিনাল রান থেকে নেওয়া হয়েছে। টুলটি যদি কোনো কিছু নিশ্চিতভাবে নির্ধারণ করতে না পারত, তবে এটি অনুমান না করে স্পষ্টভাবে তা চিহ্নিত করে দিত। একটি কনটেক্সট কম্পাইলার: এটি একটি তিন-ধাপের পাইপলাইন যা সম্পূর্ণরূপে পাইথন স্ট্যান্ডার্ড লাইব্রেরি দিয়ে লেখা। এটি একটি টার্গেট ফাইল আসলে কী ব্যবহার করে তা নির্ধারণ করে, সেই ডিপেন্ডেন্সিগুলোকে ছেঁটে ইন্টারফেসে পরিণত করে এবং বাকি সবকিছু বাদ দিয়ে দেয়।
দুটি বাস্তব পাইথন রিপোজিটরিতে, এটি প্রম্পটের আকার ৬৯–৭৪% কমিয়েছে এবং কম্পাইল টাইম ছিল ৭৫ মিলিসেকেন্ডেরও কম। এখানে প্রতিটি সংখ্যা প্রকৃত কোডের টার্মিনাল রান থেকে নেওয়া, কোনো আনুমানিক হিসাব নয়। আপনি সোর্স কোড দেখতে এবং ডেমোগুলো নিজে চালাতে পারেন এখানে।




Add comment