যখন কেউ আপনাকে বলে যে তারা একা কাজ করে মাত্র ২৯ দিনে ২৬টি রিপোজিটরিতে ৩৩৫টি লাইভ পেজ শিপ করেছে, তখন স্বাভাবিকভাবেই প্রশ্ন জাগে তারা এত দ্রুত কীভাবে কাজ করল। কিন্তু আরও ভালো প্রশ্ন হলো, এত দ্রুত কাজ করার সময় কী কী ভেঙে পড়েছে বা সমস্যা হয়েছে।
সংখ্যাগুলো বাস্তব: ১,৫৪৯টি কমিট, ২৬টি রিপো, ২৯ দিন, এবং Claude Code ব্যবহারকারী একজন ডেভেলপার। কিন্তু গতি নিজে খুব বেশি কিছু শেখায় না। আসল বিষয় হলো ব্যর্থতার ধরন বা প্রকৃতি, কারণ এগুলো এমন কোনো সমস্যা ছিল না যা আপনি একটি stack trace-এ ধরতে পারবেন। এগুলো ছিল কাঠামোগত ফাটল (structural fractures)। আপনি কেবল তখনই এগুলো দেখতে পাবেন যখন আপনি এডিটর থেকে সরে এসে প্রোডাকশনে পুরো সিস্টেমটি কীভাবে কাজ করছে তা পর্যবেক্ষণ করবেন।
যা কাজ করেছে
এই গতি কোনো বিভ্রম ছিল না। যখন আপনি কোনো কাজ এমন একটি AI-এর হাতে তুলে দেন যা কখনো ঘুমায় না, তখন নির্দিষ্ট কিছু কাজের সময়সীমা নাটকীয়ভাবে কমে আসে।
টেক্সটবুক অ্যালগরিদমগুলো কয়েক সপ্তাহের বদলে মাত্র কয়েক দিনে শিপ করা ফিচারে পরিণত হয়েছে। একটি 2048 solver এবং minimax-ভিত্তিক গেমগুলো দ্রুত তৈরি হয়ে গিয়েছিল কারণ এগুলোর ইমপ্লিমেন্টেশন প্যাটার্ন খুব ভালোভাবে নথিভুক্ত। মডেলটি একাডেমিক পেপার নিয়ে বিভ্রান্ত হয় না; এটি সার্চ ট্রি (search tree), হিউরিস্টিক ইভ্যালুয়েশন (heuristic evaluation), মুভ স্কোরিং (move scoring) লিখে ফেলে এবং পরবর্তী কাজে চলে যায়। এগুলো সমাধান করা সমস্যা, আর একজন AI pair programmer এই ধরনের সমাধান করা সমস্যাগুলো অত্যন্ত দক্ষতার সাথে সামলাতে পারে।
ক্লান্তিকর অডিটগুলো সহনীয় হয়ে উঠেছিল। লিঙ্ক গ্রাফ ক্রল করা, রিডাইরেক্ট চেইন যাচাই করা, শত শত পেজে ক্যানোনিকাল ট্যাগ (canonical tags) চেক করা — এই কাজগুলো মানুষের মনোযোগ নষ্ট করে দেয়, কিন্তু একটি ল্যাঙ্গুয়েজ মডেল কোনো অভিযোগ ছাড়াই বারবার তা করতে পারে। এটি একই প্যাটার্ন তিনশ বার চেক করে এবং রিপোর্ট দেয়।
আসল বিস্ময় ছিল ধারাবাহিকতা (consistency)। যখন আপনি একটি AI-কে ডজন ডজন ল্যান্ডিং পেজ তৈরি করতে বলেন, তখন আপনি যদি তাকে নির্দিষ্ট কোনো গাইডলাইন না দেন, তবে কাজের মানের বিচ্যুতি (drift) অনিবার্য। আমি একটি ব্র্যান্ড সিস্টেমকে নির্দিষ্ট করে রাখতে ছোট মেমরি ফাইল ব্যবহার করেছি: ভয়েস রুলস (voice rules), কালার টোকেন নাম (color token names), কম্পোনেন্ট রেস্ট্রিকশন (component restrictions) এবং পেজ আর্কিটাইপ (page archetypes)। মডেলটি প্রতিটি প্রাসঙ্গিক কাজের শুরুতে সেই সীমাবদ্ধতাগুলো পড়ে নিত এবং এমন কাজ উপহার দিত যা দেখে মনে হতো এটি ২৯টি ভিন্ন ভিন্ন মেজাজের বদলে একজন মানুষের হাত থেকে এসেছে।
যা আসলে ভেঙে পড়েছে
ব্যর্থতাগুলো ছিল আর্কিটেকচারাল। কোনো সেমিকোলন মিসিং হওয়ার কারণে কোনো বিল্ড ফেইল করেনি। বরং, সিস্টেমটি আমাকে ধীরে ধীরে এই বিশ্বাসে বিভ্রান্ত করছিল যে সবকিছু ঠিক আছে।
প্রথমে SEO cannibalization দেখা দিল। একটি নতুন URL-এর অধীনে AI একটি নতুন টুল হাব তৈরি করেছিল, যেখানে পুরনো টুল হাবটি তার আসল পাথে (path) তখনও বিদ্যমান ছিল। প্রতিটি আলাদা পেজ অপ্টিমাইজ করা ছিল। টাইটেলগুলো ছিল যথাযথ। মেটা ডেসক্রিপশনগুলো ছিল ইউনিক। কন্টেন্ট ছিল দরকারী। কিন্তু তারা সবাই একই সার্চ ইনটেন্ট (search intent) টার্গেট করছিল। সার্চ ইঞ্জিন একই বিষয়ের ওপর দুটি অথরিটি দেখতে পাচ্ছিল এবং কোনোটিকেই র্যাঙ্ক করছিল না। নিখুঁত পেজগুলো একে অপরকে বাতিল করে দিচ্ছিল কারণ কেউ সাইটটিকে ফাইলের সংগ্রহ হিসেবে না দেখে একটি পোর্টফোলিও হিসেবে দেখছিল না।
এরপর দেখা দিল URL mismatch। একই লজিক্যাল কন্টেন্টের জন্য বিভিন্ন রিপোজিটরি সামান্য ভিন্ন ভিন্ন ফোল্ডার স্ট্রাকচার গ্রহণ করেছিল। একটি রিপোজিটরি /tools/utility-name-এর অধীনে টুলগুলোকে সাজিয়েছিল; অন্যটি সেগুলোকে ফ্ল্যাট করে /utility-name করে ফেলেছিল। CDN উভয়টি দেখতে পাচ্ছিল, সেগুলো সমাধান করতে রিডাইরেক্ট চেইন তৈরি করছিল এবং এজ (edge)-এ এরর দেখাতে শুরু করেছিল। পেজগুলো শেষ পর্যন্ত লোড হচ্ছিল, কিন্তু প্রতিটি রিডাইরেক্ট ক্রল বাজেট (crawl budget) এবং ব্যবহারকারীর ধৈর্য কমিয়ে দিচ্ছিল। কোড ছিল সঠিক, কিন্তু টপোলজি ছিল বিশৃঙ্খল।
তারপর এলো sync trap। আমি একটি মিরর সাইট—একটি স্টেজিং বা ব্যাকআপ ইনস্ট্যান্স—আপডেট করেছিলাম, কিন্তু সেই পরিবর্তনগুলো সোর্স রিপোজিটরিতে ফিরিয়ে নিতে ভুলে গিয়েছিলাম। পরে যখন আমি AI-কে এনভায়রনমেন্টগুলো সিঙ্ক (sync) করতে বললাম, এটি মিরর সাইটটিকেকেই মূল সত্য (ground truth) হিসেবে ধরে নিল। একটি সাধারণ সিঙ্ক কমান্ড প্রোডাকশন ডাটাবেস বা ফাইল সেটকে পুরনো মিরর ডেটা দিয়ে ওভাররাইট করে দিতে পারত। AI ঠিক সেটাই কার্যকর করেছিল যা আমি বর্ণনা করেছিলাম, যা আমি করতে চেয়েছিলাম তা নয়। উদ্দেশ্য (intentions) ডিফ (diff) করা যায় না; ফাইল ডিফ করা যায়।
অডিট টুলগুলো নিজেই মিথ্যা বলছিল। যেহেতু আমি অডিটিং অটোমেট করেছিলাম, আমি ধরে নিয়েছিলাম আউটপুটটি নির্ভুল। কিন্তু তা ছিল না। AI-লিখন অডিট স্ক্রিপ্টগুলোতে সূক্ষ্ম বাগ (bug) ছিল: off-by-one চেক, রিডাইরেক্ট স্ট্যাটাস কোড সম্পর্কে ভুল ধারণা, এবং রিয়েল মিসকনফিগারেশনের বদলে টাইমিং বা হেডার দ্বারা ট্রিগার হওয়া ফ্যান্টম এরর (phantom errors)। সেগুলো এমন সমস্যা রিপোর্ট করছিল যা আসলে ছিল না, যার ফলে আমি অহেতুক সমস্যা খুঁজতে থাকলাম। আমি শিখেছি যে ম্যানুয়ালি লাইভ সাইট পরীক্ষা না করা এবং ব্রাউজার বা সরাসরি curl-এর মাধ্যমে লক্ষণগুলো নিশ্চিত না করা পর্যন্ত স্ট্যাটিক অ্যানালাইসিসের (static analysis) ওপর ভরসা করা বন্ধ করতে হবে।
লুকানো খরচ
এখানে এমন একটি সংখ্যা আছে যা নিয়ে কেউ কথা বলে না: আমার টোকেন খরচের ৯৩ শতাংশ ব্যয় হয়েছে ক্যাশড কনটেক্সট (cached context) পুনরায় পড়ার পেছনে।
In a long Claude Code session, every new request forces the model to revisit the previous conversation history, file buffers, and working memory. The first task in a session might be cheap. By the tenth task, the model is digesting everything that came before just to understand the next sentence. The cost curve bends upward fast. Long sessions turn into expensive rereading exercises, and the context window fills with debris from earlier jobs that have nothing to do with the current one.
This is not a quirk. It is a direct tax on poor session hygiene.
How to Fix It
The fixes were simple once I named the problems.
Treat one session as one task. When the job changes, start fresh. The temptation to keep the context warm is strong — you feel like you are saving setup time — but you are actually renting memory at compounding interest.
Keep knowledge in small, dedicated memory files. Do not let the model carry brand guidelines, component libraries, or SEO rules inside conversational context. Write them to disk in concise files and reference them explicitly. This moves information from expensive volatile context to cheap persistent storage.
Between different jobs, clear the decks. Close the session. Open a new one. The thirty seconds of setup saves dollars and hallucinations later.
Lessons for Scaling
If you are going to work at this volume, you need guardrails that treat the system, not the file, as the unit of review.
Benchmark before you publish. Do not assume a page works because it renders. Check load time, mobile layout, and core metrics on the deployed URL. A beautiful component in local dev can collapse under real network conditions.
Diff before you copy. Never run a bulk sync or copy operation blindly. Look at the delta. Understand which direction the data is flowing. The AI will not warn you that you are about to overwrite live customer data.
Probe live sites before trusting audits. Static analysis is a hypothesis. A live request is evidence. When an audit tool reports a broken link or a redirect loop, verify it with a direct request. Tools have bugs too, especially tools written by an AI operating on inferred patterns.
Write conventions down before you scale. URL structure, folder hierarchy, canonical patterns, and content taxonomy need to be documented in a place the AI can read before it generates a single new page. Memory files are not optional at
