Anthropic এই মাসে Claude Code সংস্করণ 2.1.207 প্রকাশ করেছে, এবং এর রিলিজ নোটের গভীরে এমন একটি পরিবর্তন রয়েছে যা AI-সহায়তা সম্পন্ন ডেভেলপমেন্টের নিয়ম বদলে দিচ্ছে। এই এজেন্টটিকে হোস্ট করা তিনটি প্রধান ক্লাউড প্ল্যাটফর্ম—Amazon Bedrock, Google Vertex AI, এবং Microsoft Azure Foundry—এর ক্ষেত্রে এখন Auto mode ডিফল্ট হিসেবে সেট করা হয়েছে। এই একটি পরিবর্তন নির্ধারণ করে দেয় যে, যখন মেশিন-লিখন কোড আপনার রিপোজিটরিতে পৌঁছায়, তখন অনুমোদন প্রক্রিয়ার মালিক কে হবে।

পুরনো পদ্ধতিটি ত্রুটিপূর্ণ ছিল

এই রিলিজের আগে পর্যন্ত, Claude Code ডিফল্টভাবে ম্যানুয়াল মোডে চলত। এজেন্টটি একটি ফাইল এডিট স্টেজ করত, একটি শেল কমান্ড প্রস্তুত করত, অথবা একটি git commit কিউতে রাখত, এবং তারপর থেমে যেত। এটি একজন মানুষের জন্য অপেক্ষা করত যাতে তিনি diff দেখে, কমান্ডটি পরীক্ষা করেন এবং অনুমোদন (approve) বাটনে ক্লিক করেন। তত্ত্বটি সঠিক ছিল: কোনো মানুষের স্বাক্ষর বা অনুমোদন ছাড়া কখনোই AI-কে প্রোডাকশন কোড স্পর্শ করতে দেবেন না।

বাস্তবতা ছিল ভিন্ন। Anthropic দেখতে পেয়েছে যে ম্যানুয়াল মোডে থাকা ৯৩% ব্যবহারকারী প্রম্পট না পড়েই সেগুলো অনুমোদন দিচ্ছিলেন। ডেভেলপাররা অনুমোদন স্ক্রিনটিকে একটি চেকপয়েন্ট হিসেবে নয়, বরং একটি বিরক্তির কারণ হিসেবে দেখতেন। কাজের ধারা (flow) বজায় রাখতে তারা দ্রুত একের পর এক "yes" ক্লিক করতেন, যা ম্যানুয়াল গেট বা নিয়ন্ত্রণ ব্যবস্থাকে অকেজো করে তুলত। একটি নিরাপত্তা নিয়ন্ত্রণ ব্যবস্থা যা সবাই এড়িয়ে যায়, তা আসলে কোনো নিয়ন্ত্রণ নয়; এটি নিরাপত্তার ছদ্মবেশে একটি বাধা মাত্র।

কীভাবে Auto mode মানুষের ক্লিকের প্রয়োজনীয়তা দূর করে

Auto mode মানুষের সেই যান্ত্রিক অনুমোদনকে একটি দ্বিতীয় AI মডেল দ্বারা প্রতিস্থাপন করে। এই ক্লাসিফায়ারটি এজেন্ট যে প্রতিটি পদক্ষেপ নেওয়ার চেষ্টা করে, তা কার্যকর করার আগে পর্যালোচনা করে। এটি পরীক্ষা করে দেখে যে পদক্ষেপটি মূল কাজের সাথে সামঞ্জস্যপূর্ণ কি না এবং এজেন্ট কি লক্ষ্যচ্যুত হচ্ছে কি না। যদি ক্লাসিফায়ার পদক্ষেপটি অনুমোদন করে, তবে এজেন্ট অবিলম্বে এগিয়ে যায়। কোনো পিন নেই, কোনো পপআপ নেই, এমনকি আপনার দুপুরের খাবার শেষ হওয়ার জন্য অপেক্ষা করার প্রয়োজনও নেই।

এটি এক ভিন্ন ধরনের সুরক্ষা কবচ। একটি ক্লাসিফায়ার রাত ২টায় ক্লান্ত হয় না। কোনো ডেডলাইনের চাপে পড়ে এটি পড়া বাদ দেয় না। এবং এটি প্রথম পদক্ষেপের মতো ১০০তম পদক্ষেপের ক্ষেত্রেও একই সূক্ষ্মতা বজায় রাখে। একজন ক্লান্ত ইঞ্জিনিয়ার একই কথা বলতে পারবেন না।

একটি গভর্নেন্স সংক্রান্ত পরিবর্তন

এখানে মূল পরিবর্তনটি হলো ডিফল্ট সেটিংস এবং দায়িত্ববোধ নিয়ে। ২.১.২০৭ সংস্করণের আগে, টিমগুলোকে সক্রিয়ভাবে Auto mode বেছে নিতে হতো। এখন বোঝাটি উল্টে গেছে: আপনাকে এটি বন্ধ করার জন্য স্পষ্টভাবে পদক্ষেপ নিতে হবে। আপনার প্রতিষ্ঠান যদি ফিন্যান্স বা হেলথকেয়ারের মতো নিয়ন্ত্রিত ডেটা নিয়ে কাজ করে, তবে এটি কেবল একটি ছোট UX পরিবর্তন নয়; এটি একটি নীতিগত ঘটনা। আপনার কমপ্লায়েন্স টিমের জানা প্রয়োজন যে, কেউ যদি স্পষ্টভাবে এই ফিচারটি বন্ধ না করে থাকেন, তবে স্বায়ত্তশাসিত কমিট (autonomous commits) ইতিমধ্যেই আপনার রিপোজিটরিতে জমা হতে পারে।

আপনার এখন যা করা উচিত

প্রথমত, আপনার বর্তমান অবস্থা অডিট করুন। আপনার সাম্প্রতিক লগ এবং git হিস্ট্রি পরীক্ষা করুন। যদি আপনি Claude Code-এর মাধ্যমে করা কমিট দেখতে পান কিন্তু সেশন রেকর্ডে তার বিপরীতে কোনো মানুষের অনুমোদনের প্রম্পট না পান, তবে বুঝবেন Auto mode ইতিমধ্যেই চালু হয়ে গেছে। আপনার পুরনো কনফিগারেশনটি বজায় থাকবে বলে ধরে নেবেন না।

যদি আপনার ম্যানুয়াল কন্ট্রোল বা নিয়ন্ত্রণ ফিরে পেতে হয়, তবে জেনে রাখুন যে পুরনো পদ্ধতিগুলো আর কাজ করবে না। Anthropic এই আচরণ পরিবর্তন করার জন্য ব্যবহৃত পূর্ববর্তী এনভায়রনমেন্ট ভেরিয়েবলগুলোর সাপোর্ট বন্ধ করে দিয়েছে। এখন আপনাকে আপনার ম্যানেজড সেটিংস ফাইলে disableAutoMode সেট করতে হবে। আপনার শেল কনফিগ বা কন্টেইনার ইমেজে থাকা যেকোনো পুরনো সমাধান (legacy workarounds) কাজ করবে না, তাই আপগ্রেড করার পর আপনার ডিপ্লয়মেন্ট পাইপলাইনগুলো স্ক্যান করুন।

আপনি ক্লাসিফায়ারটিকে ফাইন-টিউন করতে পারবেন না। এর আক্রমণাত্মকতা বা ঝুঁকির সীমা (risk threshold) নিয়ন্ত্রণের জন্য কোনো ডায়াল নেই। আপনার একমাত্র ব্যবহারিক নিয়ন্ত্রণ হলো অ্যাক্সেস কন্ট্রোল। ক্ষতির পরিধি (blast radius) কমিয়ে আনুন। এজেন্টকে নির্দিষ্ট ডিরেক্টরির মধ্যে সীমাবদ্ধ রাখুন। তাকে শুধুমাত্র প্রয়োজনীয় ন্যূনতম পারমিশনসহ স্বল্পমেয়াদী ক্রেডেনশিয়াল প্রদান করুন। যদি ক্লাসিফায়ার কখনো কোনো ভুল পদক্ষেপ শনাক্ত করতে ব্যর্থ হয়, তবে একটি সীমিত পরিসরের এজেন্ট অ্যাডমিন কি (admin keys) থাকা এজেন্টের তুলনায় অনেক কম ক্ষতি করতে পারবে।

যেখানে Auto mode তার উপযোগিতা প্রমাণ করে

এর সুবিধা হলো সেই কাজগুলোতে সরাসরি গতি প্রদান করা যা মানুষের হস্তক্ষেপের প্রয়োজন নেই। Auto mode সেই সমস্ত সীমাবদ্ধ এবং পুনরাবৃত্তিমূলক কাজে চমৎকার কাজ করে যেখানে ঝুঁকি কম এবং কাজের ধরন স্পষ্ট। যেমন, লিন্টার রুলস আপডেট করার পর শত শত ফাইলের ওপর ফরম্যাটিং পাস চালানো। অথবা কোনো সিকিউরিটি অ্যাডভাইজরি আসার পর প্যাচ-লেভেল ডিপেন্ডেন্সি আপডেট করা। একজন ইঞ্জিনিয়ারকে তার গভীর মনোযোগ (deep focus) থেকে সরিয়ে না এনেই এজেন্টটি বারবার কাজ করতে, প্রয়োগ করতে, পরীক্ষা করতে এবং কমিট করতে পারে।

এটি গুরুত্বপূর্ণ কারণ ইঞ্জিনিয়ারিংয়ের সময় সীমিত। একটি হোয়াইটস্পেস ফিক্সের জন্য "approve" ক্লিক করতে ব্যয় করা প্রতিটি মিনিট আর্কিটেকচার, ইনসিডেন্ট রেসপন্স বা সেই কঠিন ২০% কাজের সময় চুরি করে নেয় যার জন্য মানুষের বিচারবুদ্ধির প্রয়োজন। Auto mode সেই সময় ফিরিয়ে দেয়।

কিন্তু শৃঙ্খলা ছাড়া গতি কেবল দ্রুততর টেকনিক্যাল ডেট (technical debt) তৈরি করে। ক্লাসিফায়ার পরীক্ষা করে যে একটি পদক্ষেপ প্রম্পটের সাথে মিলছে কি না। কিন্তু এটি পরীক্ষা করে না যে ফলাফলস্বরূপ আসা কোডটি আপনার ইন্টিগ্রেশন স্যুট পাস করে কি না, আপনার ডোমেইন ইনভ্যারিয়েন্টস মেনে চলে কি না, বা আপনার স্টাইল গাইড অনুসরণ করে কি না। প্রোডাকশনে কিছু পৌঁছানোর আগে আপনার এখনও CI গেটস, কোড রিভিউ এবং স্বয়ংক্রিয় পরীক্ষার প্রয়োজন রয়েছে।

মাল্টি-ক্লাউড জটিলতা

যেহেতু এই ডিফল্টটি Bedrock, Vertex AI এবং Azure Foundry-তে একই সাথে চালু করা হয়েছে, তাই মাল্টি-ক্লাউড সেটআপ ব্যবহারকারী প্রতিষ্ঠানগুলোকে সামঞ্জস্যের (consistency) কথা ভাবতে হবে। আপনি যদি প্রতিটি প্ল্যাটফর্ম সুচিন্তিতভাবে কনফিগার না করেন, তবে GCP-তে এটি লকড রেখে AWS-এ ঢিলেঢালা পারমিশন দিয়ে auto mode চলতে দিতে পারেন না। আপনি যদি এই তিনটি ক্লাউডকে একটি একক অপারেশনাল মেশ (operational mesh) হিসেবে বিবেচনা করেন, তবে এখনই আপনার disableAutoMode পলিসি এবং আইডেন্টিটি বাউন্ডারিগুলো (identity boundaries) স্ট্যান্ডার্ডাইজ করে নিন। প্ল্যাটফর্মগুলোর মধ্যে এই বিচ্যুতি (drift) ততক্ষণ পর্যন্ত বোঝা যায় না যতক্ষণ না এটি কোনো বিল্ড নষ্ট করে—অথবা তার চেয়েও খারাপ কিছু ঘটায়।

ক্লাসিফায়ার (classifier) কী দেখতে পায় না, সেটিও মনে রাখা জরুরি। এটি মূল্যায়ন করে যে এজেন্টটি তার টাস্ক বা কাজের মধ্যে থাকছে কি না, কিন্তু একটি রিফ্যাক্টর (refactor) আপনার কোডবেসে কোনো পার্শ্বপ্রতিক্রিয়া (ripple effects) তৈরি করছে কি না, তা দেখে না। একটি শেয়ার্ড ইউটিলিটি (shared utility) এক্সট্র্যাক্ট করার সময় এজেন্টটি তার প্রম্পটের সাথে পুরোপুরি সামঞ্জস্যপূর্ণ মনে হতে পারে, কিন্তু এটি এমন একটি ইন্টারফেসকে সূক্ষ্মভাবে পরিবর্তন করে দিতে পারে যার ওপর দশটি ডাউনস্ট্রিম সার্ভিস নির্ভর করছে। ক্লাসিফায়ার কোনো সিনিয়র আর্কিটেক্ট নয়। এটি কেবল একটি টাস্ক চেকার।

পরবর্তী স্প্রিন্টের জন্য একটি চেকলিস্ট

আপনি যদি এই পরিবর্তনের ব্যবস্থাপনা করেন, তবে এই সপ্তাহে নেওয়ার মতো কিছু সুনির্দিষ্ট পদক্ষেপ নিচে দেওয়া হলো:

  • দুই সপ্তাহের লগ অডিট করুন। প্রতিটি Claude Code কমিট ম্যাপ করুন। কোনোটি মানুষের অ্যাপ্রুভাল প্রম্পট ছাড়াই সম্পন্ন হয়েছে কি না তা চিহ্নিত করুন।
  • ক্রেডেনশিয়ালগুলোর পরিধি নির্ধারণ করুন। এজেন্টের জন্য একটি ডেডিকেটেড সার্ভিস অ্যাকাউন্ট তৈরি করুন। এটি শুধুমাত্র সেই ডিরেক্টরিগুলোতে রাইট অ্যাক্সেস (write access) পাবে যেগুলোর আসলে প্রয়োজন। কখনোই একে প্রোডাকশন ডাটাবেস, ডিপ্লয়মেন্ট কী (deployment keys) বা কাস্টমার ডাটা স্টোরে অ্যাক্সেস দেবেন না।
  • আপনার ডকুমেন্টেশন আপডেট করুন। পুরনো এনভায়রনমেন্ট ভেরিয়েবল টগলগুলোর (environment variable toggles) রেফারেন্স সরিয়ে ফেলুন। অন-কল ইঞ্জিনিয়ারদের নতুন disableAutoMode ম্যানেজড সেটিংয়ের দিকে নির্দেশ করুন।
  • ঝুঁকি অনুযায়ী ভাগ করুন। ফরম্যাটিং এবং ছোটখাটো ডিপেন্ডেন্সি আপডেটের মতো শুধুমাত্র ডেভেলপমেন্টের জন্য প্রয়োজনীয় হাইজিন টাস্কগুলোতে auto mode ব্যবহার করতে দিন। বিজনেস লজিক, অথেন্টিকেশন বা ডাটা হ্যান্ডলিং কোড স্পর্শ করে এমন যেকোনো কাজের জন্য ম্যানুয়াল মোড বা সম্পূর্ণ মানুষের রিভিউ প্রয়োজন হবে।
  • আপনার কমপ্লায়েন্স টিমকে ব্রিফ করুন। তাদের বুঝিয়ে বলুন যে ক্লাসিফায়ার একটি স্বয়ংক্রিয় চেক, মানুষের দেওয়া সাইন-অফ নয়। নতুন অপ্ট-আউট ডিফল্ট (opt-out default) আপনার বিদ্যমান চেঞ্জ-কন্ট্রোল পলিসির সাথে কীভাবে কাজ করে তা তাদের দেখান।

গার্ডরেলগুলো রাখুন, আনুষ্ঠানিকতা বাদ দিন

ম্যানুয়াল মোড যে অ্যাপ্রুভাল রীতির (approval ritual) মধ্যে আটকে গিয়েছিল, auto mode তা সরিয়ে দিয়ে AI-সহায়তা প্রাপ্ত কোডিংকে আরও দ্রুত করে তোলে। মাঝরাতে ক্লান্ত একজন ডেভেলপার কেবল "yes" বাটনে ক্লিক করার চেয়ে একটি দ্বিতীয় মডেল দ্বারা এজেন্টকে রিভিউ করানো অনেক বেশি নিরাপদ। কিন্তু একটি ডিফল্ট হলো আগে থেকে নেওয়া একটি সিদ্ধান্ত, আর এটি ধরে নেয় যে আপনি নিজে থেকে না বলা পর্যন্ত আপনি স্বায়ত্তশাসন (autonomy) চান।

২.১.২০৭-কে একটি ইনফ্রাস্ট্রাকচার পরিবর্তন হিসেবে বিবেচনা করুন, কেবল একটি সুবিধার আপগ্রেড হিসেবে নয়। আপনার পারমিশনগুলো রিভিউ করুন, রানবুকগুলো (runbooks) পুনরায় লিখুন এবং সুচিন্তিতভাবে বেছে নিন কোন ওয়ার্কফ্লোগুলো স্বয়ংক্রিয় থাকবে এবং কোনগুলো মানুষের মাধ্যমে হবে। এজেন্টকে কঠিন ও একঘেয়ে কাজগুলো (grunt work) করতে দিন। আপনার কাজ হলো নিশ্চিত করা যে সেই কাজের চারপাশের সুরক্ষা দেয়ালগুলো যেন যথেষ্ট মজবুত হয়।

GyaanSetu AI Community on Telegram-এ আলোচনায় যোগ দিন।