কেন একটি দ্বি-মস্তিষ্ক (two-brain) আর্কিটেকচার?
বেশিরভাগ কোড-রাইটিং অ্যাসিস্ট্যান্ট একটি মাত্র মডেল ব্যবহার করে যা কী তৈরি করতে হবে এবং সোর্স কোড কী হবে তা নির্ধারণ করতে হয়। দীর্ঘ সময় ব্যবহারের ফলে মডেলের কনটেক্সট উইন্ডো পূর্ণ হয়ে যায়, যার ফলে "context drift" ঘটে – এটি আগের সিদ্ধান্তগুলো ভুলে যায় এবং পরস্পরবিরোধী বা ডুপ্লিকেট কোড তৈরি করে। Cursor এই মানসিক শ্রমকে ভাগ করে দিয়ে এই সমস্যার সমাধান করে:
- Planner agents সবচেয়ে শক্তিশালী মডেলগুলোর ওপর চলে (ড্রাফটে Opus 4.8 বা Fable 5-এর কথা উল্লেখ করা হয়েছে)। তারা একটি উচ্চ-স্তরের অনুরোধকে টাস্ক হায়ারার্কিতে বিভক্ত করে, অস্পষ্টতা দূর করে এবং ডিজাইনের সিদ্ধান্তগুলো রেকর্ড করে।
- Worker agents দ্রুতগতির এবং উচ্চ-থ্রুপুট মডেলগুলোর (Composer 2.5) ওপর চলে। তারা প্ল্যানারদের কাছ থেকে সুনির্দিষ্ট কাজ গ্রহণ করে এবং কোড স্নিপেট তৈরি করে।
"কী করতে হবে" (what) এবং "কীভাবে করতে হবে" (how)-কে আলাদা রাখলে সিঙ্গেল-মডেল সিস্টেমের ওপর অতিরিক্ত চাপ পড়া বন্ধ হয়। প্রতিটি মডেল তার ভূমিকার উপযোগী একটি নির্দিষ্ট কনটেক্সট সাইজের মধ্যে থাকে, যা টোকেন-বাজেট অতিরিক্ত বেড়ে যাওয়া রোধ করে এবং ডিজাইনারদের প্রম্পট ছোট করতে বাধ্য হওয়া থেকে বাঁচায়।
সোয়ার্ম (swarm) স্কেলিং করা
Cursor-এর সোয়ার্মের প্রাথমিক সংস্করণগুলো প্রতি ঘণ্টায় প্রায় এক হাজার কমিট সম্পন্ন করত। স্প্লিট-ব্রেইন রিডিজাইনের পর সিস্টেমটি প্রতি সেকেন্ডে প্রায় এক হাজার কমিট করার ক্ষমতা অর্জন করে। এই গতি একটি নতুন প্রতিবন্ধকতা (bottleneck) সামনে নিয়ে আসে: ভার্সন-কন্ট্রোল টুলগুলো এমন তীব্র প্রতিযোগিতার জন্য তৈরি করা হয়নি। যখন দুইজন প্ল্যানার একই ধরনের বা ওভারল্যাপিং নির্দেশনা প্রদান করত, তখন রিপোজিটরিতে ডুপ্লিকেট লজিক তৈরি হওয়ার সম্ভাবনা থাকত – এই সমস্যাটিকে টিম "split-brain errors" বলে অভিহিত করে।
Cursor তিনটি সুরক্ষাকবচ দিয়ে এই বিশৃঙ্খলা নিয়ন্ত্রণ করেছে:
- Shared design documents – প্রতিটি প্ল্যানার তাদের সিদ্ধান্তগুলো একটি কেন্দ্রীয় ডকুমেন্টে লিখে রাখে যা জেনারেট করা কোডের সাথে লিঙ্ক করা থাকে। ওয়ার্কাররা সেই লিঙ্কগুলো অনুসরণ করে, ফলে একই ডিজাইন অন্য কোথাও পুনরায় তৈরি হয় না।
- Multi-angle reviews – তিনটি এজেন্ট কাজের প্রতিটি ভিন্ন অংশ পরীক্ষা করে (সম্পূর্ণ ট্রান্সক্রিপ্ট, শুধুমাত্র আউটপুট, অথবা শুধুমাত্র কোড)। এই ক্রস-চেকিংয়ের মাধ্যমে এমন অসঙ্গতিগুলো ধরা পড়ে যা একটি একক দৃষ্টিভঙ্গিতে এড়িয়ে যাওয়া সম্ভব হতো।
- Self-maintained field guides – এজেন্টরা অপ্রত্যাশিত প্রাপ্তি এবং ভুলত্রুটিগুলোর একটি "knowledge folder" বা জ্ঞান ভাণ্ডার বজায় রাখে। যখন কোনো নতুন ওয়ার্কার কাজ শুরু করে, সে পরিচিত ভুলগুলো এড়াতে সেই ফোল্ডারটি দেখে নেয়, যা পুরো সোয়ার্মের মধ্যে একটি স্বল্পমেয়াদী স্মৃতি (short-term memory) হিসেবে কাজ করে।
এই পদক্ষেপগুলো পরিবর্তনের প্রবল স্রোত সত্ত্বেও কোডবেসকে সুসংগত রাখে।
গুরুত্বপূর্ণ বেঞ্চমার্কসমূহ
Cursor একটি হাইব্রিড সোয়ার্মের কার্যকারিতা পরীক্ষা করার জন্য পুরো SQLite ম্যানুয়ালটি পুনরায় তৈরি করেছিল – যা ছিল ৮৩৫ পৃষ্ঠার একটি Rust ইমপ্লিমেন্টেশন – এই কাজটি নির্ভুলতা এবং আকার (size) উভয় ক্ষেত্রেই বড় চ্যালেঞ্জ। ফলাফল ছিল চমকপ্রদ:
- Accuracy – হাইব্রিড কনফিগারেশন (planner + Composer workers) ১০০% নির্ভুলতা অর্জন করেছে, যা উল্লিখিত সবচেয়ে উন্নত মডেলের (GPT-5.5) একক রানের চেয়েও ধারাবাহিকভাবে ভালো ফলাফল দিয়েছে।
- Code size – হাইব্রিড সোয়ার্ম ৯,৯০৮ লাইন ইঞ্জিন কোড তৈরি করেছে, যেখানে পুরনো মনোলিথিক সোয়ার্ম তৈরি করেছিল ৬৪,৩০৫ লাইন।
- Cost – একটি একক GPT-5.5 ইনস্ট্যান্স চালাতে খরচ হয়েছে প্রায় ১০,৫৬৫ ডলার। হাইব্রিড পদ্ধতিতে ওয়ার্কার ফ্লিটের জন্য খরচ হয়েছে মাত্র ৪১১ ডলার।
এই খরচের পার্থক্যের মূল কারণ হলো Composer 2.5, যা ড্রাফট অনুযায়ী ফ্ল্যাগশিপ মডেলগুলোর সমতুল্য পারফরম্যান্স প্রদান করে অথচ প্রতি মিলিয়ন টোকেনের জন্য অনেক কম চার্জ করে। বেশিরভাগ টোকেন ব্যবহার এই সাশ্রয়ী মডেলে স্থানান্তর করার মাধ্যমে, সোয়ার্ম গুণমান বজায় রেখেই সামগ্রিক খরচ কম রাখে।
সারকথা
- একটি শক্তিশালী প্ল্যানারের সাথে একটি সাশ্রয়ী এক্সিকিউটর (executor) যুক্ত করলে গতি, কোডের সংক্ষিপ্ততা এবং খরচে বহুগুণ উন্নতি সম্ভব।
- এই ডিজাইনটি "কী করতে হবে" (what) ফ্রন্টিয়ার মডেলগুলোর ওপর এবং "কীভাবে করতে হবে" (how) স্পেশালিস্ট মডেলগুলোর ওপর অর্পণ করার মাধ্যমে context drift দূর করে।
- অপারেশনাল ওভারহেড এবং অবকাঠামোগত চাহিদা ব্যাপক প্রসারের ক্ষেত্রে এখনও সবচেয়ে বড় বাধা হিসেবে রয়ে গেছে।
