Anthropic বলেছে, তার অভ্যন্তরীণ মনোরেপোতে প্রতিদিন মার্জ হওয়া পরিবর্তন মে মাসের প্রায় ২,৫০০ থেকে বেড়ে ২০২৬ সালের সেপ্টেম্বরে ৩০,০০০-এর বেশি হয়েছে। ১৩ অক্টোবরের তার ইঞ্জিনিয়ারিং বিবরণ এই বৃদ্ধির বড় অংশের পেছনে থাকা এজেন্ট ও স্বয়ংক্রিয় কাজের জন্য তৈরি সোর্স-কন্ট্রোল ব্যবস্থা Scion-এর কথা বলে। এখানে কার্যকর প্রকৌশল প্রশ্নটি হলো: ইতিহাস, কমিট ও মার্জের জন্য কেন্দ্রীয় সার্ভিসে ভরসা করতে পারলে ক্লায়েন্টকে আর কোন কাজ নিজে করতে হয়।
বড় পরিবর্তন
- কী বদলেছে: পাঁচ মাসে Anthropic তার মনোরেপো Git থেকে Scion-এ সরিয়েছে। Scion ক্লায়েন্ট কেবল প্রয়োজনীয় অবজেক্ট নেয়; কমিট, মার্জ, রিবেস ও ইতিহাসের প্রশ্ন সার্ভারের হাতে ছেড়ে দেয়। মূলত অনলাইনে থাকা এজেন্ট ও কাজের চাপের জন্য Anthropic এটি তৈরি করেছে।
- কেন গুরুত্বপূর্ণ: কোনো CI কাজ স্থানীয় রিপোজিটরি না রেখেই API দিয়ে diff বা merge base চাইতে পারে। ফাইল লাগলে sparse বা virtualized checkout ডিস্কে কী যাবে তা সীমিত করে। এতে খরচ ও পরিচালনাগত দায়িত্ব কেন্দ্রীয় সার্ভিসের দিকে যায়।
- কী লক্ষ রাখতে হবে: Anthropic তার নিজস্ব ফ্লিটে দ্রুত checkout ও কম অবকাঠামো ব্যবহারের কথা জানিয়েছে, তবে এখানে স্বাধীন যাচাই হয়নি। কোম্পানির মতে, Scion একটি বিশেষায়িত অভ্যন্তরীণ ব্যবস্থা; স্থানান্তরের জন্য কোড পর্যালোচনা, সার্চ ও CI-তেও পরিবর্তন দরকার হয়েছে।
এই মনোরেপোতে Git কেন ব্যয়বহুল হয়ে উঠেছিল
Git-এর বিতরণকৃত নকশায় প্রতিটি পূর্ণ ক্লোনে অফলাইনে কাজ করার জন্য দরকারি ইতিহাস ও অবজেক্ট থাকে। Anthropic বলেছে, তার মনোরেপোর প্রধান শাখার ইতিহাস প্রায় ১০০ GB, আর সংকুচিত কাজের কপি ২৫ GB ছাড়ায়। ডেভেলপার পরিবেশ, এজেন্ট স্যান্ডবক্স ও গবেষণা কাজ বাদ দিয়েও তার CI ফ্লিট দিনে প্রায় ২ কোটি ৫০ লাখ কোড checkout করে। এগুলো Anthropic-এর কাজের চাপের পরিসংখ্যান; Git কখন আর চলে না তার সাধারণ সীমা নয়।
কোম্পানিটি আগে থেকেই shallow clone, sparse checkout, অভ্যন্তরীণ mirror ও রিপোজিটরি snapshot ব্যবহার করত। রিপোজিটরি ও মার্জের হার বাড়ার সঙ্গে কয়েক শ mirror চালানো কঠিন হয়ে পড়েছিল বলে তারা জানায়। Anthropic-এর নির্দিষ্ট নির্ণয় ছিল: বেশির ভাগ ক্লায়েন্ট এমনিতেই অনলাইনে থাকা এজেন্ট বা কাজ, তবু টুলগুলো স্থানীয় রিপোজিটরি ধরে রাখার খরচের বড় অংশ বহন করছিল।
Scion এই অনলাইন সংযোগকেই নকশার ভিত্তি ধরে। ইঞ্জিনিয়ারিং বিবরণ বলেছে, সার্ভার ইতিহাস ও blame প্রশ্নের উত্তর দেয়, কমিট তৈরি করে এবং মার্জ ও রিবেস সম্পন্ন করে। ক্লায়েন্ট সীমিত অবজেক্ট ক্যাশ রাখে, অনুরোধ করা কাজের ফাইল ডিস্কে রাখে এবং স্থানীয় ফাইলের পরিবর্তন নজরে রাখে। এই কাজগুলো স্বাধীনভাবে করার ক্ষমতা ছেড়ে দেওয়া প্রতিটি ক্লায়েন্টে কম ডেটা পাঠানোর জন্য সচেতন সমঝোতা।
Checkout ছোট হতে পারে, বা একেবারেই দরকার নাও হতে পারে
Scion তার ক্লায়েন্টের ব্যবহৃত সোর্স-কন্ট্রোল প্রশ্নগুলো API-তে দেয়। Anthropic বলেছে, merge base থেকে diff দরকার এমন CI কাজ সরাসরি সার্ভারকে জিজ্ঞাসা করতে পারে। তার স্বয়ংক্রিয় bisect ও revert pipeline-ও একই প্রোগ্রামগত পথ ব্যবহার করে। এসব কাজের জন্য কাজের কপি তৈরি নাও করতে হতে পারে।
কাজের ফাইল লাগলে Scion অনুরোধ করা ডিরেক্টরি-সহ sparse checkout এবং পড়ার সময় ফাইল তৈরি করা virtualized checkout সমর্থন করে। বড় packfile নিয়ে সমঝোতার বদলে ক্লায়েন্ট নির্দিষ্ট অনুপস্থিত tree ও blob পুনরাবৃত্তভাবে চায়। প্রতিটি চাওয়া অবজেক্টের অপরিবর্তনীয়, বিষয়বস্তু-নির্দেশিত পরিচয় আছে; তাই বিষয়বস্তু বদলেছে কি না না দেখেই ক্যাশ সেটি দিতে পারে। Anthropic ক্লায়েন্ট ও কর্তৃত্বপূর্ণ সার্ভারের মাঝে node-স্তরের daemon ও আঞ্চলিক ক্যাশের বর্ণনা দিয়েছে; সব স্তরে একই অবজেক্ট-অনুরোধ প্রোটোকল চলে।
সম্পূর্ণ স্থানীয় ক্লোনের তুলনায় এই নকশার ব্যর্থতা ও রক্ষণাবেক্ষণের সীমানা আলাদা। Git অফলাইনে যে কাজ করতে পারে, তার জন্য ক্লায়েন্ট সার্ভিসের ওপর নির্ভরশীল; আর সার্ভিসকে পুরো ফ্লিটের গতিতে অবজেক্ট ও ইতিহাসের প্রশ্নের উত্তর দিতে হয়। Anthropic বলেছে, আঞ্চলিক ক্যাশ ব্যর্থ হলে যাতে upstream সার্ভার অতিরিক্ত চাপে না পড়ে, সে কারণেও ক্যাশের স্তর নির্ধারণ করা হয়। ওই স্থাপত্যের প্রাপ্যতার পরিমাপ নিবন্ধে নেই।
সার্ভার কী জমা রাখে ও গণনা করে
Scion-এর কাজের একক হলো write-ahead log-এর একটি changeset। Anthropic বলেছে, প্রথম parent-এর তুলনায় বদলানো ফাইল এবং blob storage-এ সংকুচিত ফাইলের বিষয়বস্তুর pointer এটি নথিভুক্ত করে। প্রতিটি লেখার সময় shared branch pointer সরানো ছাড়াই সার্ভার changeset তৈরি করে। আলাদা derived কাঠামো file blame, path history ও commit ancestry-র মতো প্রশ্ন সমর্থন করে; কিছু Anthropic সঙ্গে সঙ্গে গণনা করে, বাকিগুলো পরে করে।
API নকশার জন্য এই পৃথকীকরণ গুরুত্বপূর্ণ। উত্তর স্থানীয়ভাবে গণনা করতে দরকারি সব কাঠামো সঙ্গে না নিয়েই কাজগুলো merge base বা ফাইলের ইতিহাস চাইতে পারে। এসব কাঠামো রক্ষণাবেক্ষণের খরচও Anthropic-এর সার্ভিসের দিকে যায়। কোম্পানি বলেছে, তারা রিপোজিটরির ডেটা ছড়িয়ে দেয় এবং উপাদানগুলো আলাদাভাবে বড় করে; সার্ভারেও রিপোজিটরির সম্পূর্ণ বস্তুগত কপি নেই।
Anthropic জানিয়েছে, আগের Git mirroring ব্যবস্থার তুলনায় Scion অবকাঠামো ২০০ গুণ কম CPU ও মেমরি ব্যবহার করে এবং CI ও গবেষণার checkout এখন মিনিটের বদলে কয়েক সেকেন্ড লাগে। CI-তে CPU সক্ষমতা ২৫% বাড়ার কৃতিত্ব তারা এই পরিবর্তনকে দিয়েছে। তুলনাগুলো Anthropic-এর নিজস্ব কাজের চাপে তার আগের অভ্যন্তরীণ ব্যবস্থার সঙ্গে; BIG CHANGE মাপগুলো পুনরাবৃত্তি করেনি বা মূল telemetry পরীক্ষা করেনি।
স্থানান্তরের খরচও ফলাফলের অংশ
Anthropic বলেছে, সাতজন প্রকৌশলী Scion, সঙ্গী কোড-পর্যালোচনা টুল Antique এবং সম্পর্কিত ব্যবস্থা তৈরি করেছেন, তারপর পাঁচ মাসে মনোরেপো স্থানান্তর করেছেন। বিবরণে নতুন কোড সার্চ, প্রবেশাধিকার নিয়ন্ত্রণ এবং কোড পর্যালোচনা ও জমা দেওয়ার পদ্ধতির পরিবর্তনের কথাও আছে। এই নকশা মূল্যায়নকারী প্রতিষ্ঠানের সোর্স-কন্ট্রোল সার্ভিসের পাশাপাশি এসব সংশ্লিষ্ট কর্মপ্রবাহও হিসাব করা উচিত।
Anthropic স্পষ্টভাবে বলেছে, সাধারণ Git বিকল্প হিসেবে Scion উপযুক্ত নয়। অভ্যন্তরীণ পর্যালোচনা, সার্চ ও CI উপাদানগুলো বিশেষভাবে তৈরি, আর Git ছাড়তে হলে উন্নয়ন জীবনচক্র জুড়ে পরিবর্তন দরকার হবে। তাদের বিবরণের সীমিত শিক্ষা স্থাপত্যগত: অনলাইন সার্ভিস স্বয়ংক্রিয় ক্লায়েন্টের আরও বেশি সোর্স-কন্ট্রোল প্রশ্নের উত্তর দিতে পারে, আর ক্লায়েন্ট কেবল ব্যবহৃত ফাইল রাখে। Anthropic-এর মতে, আরও সমৃদ্ধ সার্ভার API এবং Git-এর sparse ও shallow সুবিধার ভালো সমন্বয়ের মতো ধারণা Scion না নিয়েও কাজে লাগানো সম্ভব।
সূত্র ও আরও পড়ুন
- Anthropic Engineering, Redesigning source control at Anthropic (১৩ অক্টোবর ২০২৬)। Scion-এর স্থাপত্য, স্থানান্তর এবং অভ্যন্তরীণ কাজের চাপ ও কর্মক্ষমতার পরিসংখ্যান নিয়ে Anthropic-এর প্রথম-পক্ষের বিবরণ। জানানো মাপ ও পরিচালনাগত ফল BIG CHANGE স্বাধীনভাবে যাচাই করেনি; এই নিবন্ধের জন্য কোনো Scion ব্যবস্থা পরীক্ষা করা হয়নি।



