Anthropic گیت رو کنار گذاشت و Scion رو ساخت
خلاصهٔ کاملتر
تیم Anthropic تو این پست میگه دیگه نوشتن کد گلوگاه نیست؛ گلوگاه زیرساختهاییه که برای مقیاس انسانی ساخته شدن، مثل source control، build و CI. تعداد mergeهای روزانه از حدود ۲۵۰۰ تو مه ۲۰۲۶ به بیشتر از ۳۰ هزار تو سپتامبر رسیده. برای همین یه سیستم کنترل نسخهٔ داخلی به اسم Scion ساختن و کل مونوریپو رو تو پنج ماه از git بهش منتقل کردن. همزمان یه ابزار code review به اسم Antique، جستجوی کد و یه سیستم دسترسی هم ساختن.
مشکل اینجاست که git یه سیستم غیرمتمرکزه و هر clone یه کپی کامل از ریپوئه. تاریخچهٔ برنچ main حدود ۱۰۰ گیگ و یه working copy فشرده بیشتر از ۲۵ گیگه. روزانه حدود ۲۵ میلیون checkout فقط برای CI انجام میشه که اگه ساده fetch بشه، بیشتر از ۶۰۰ پتابایت ترافیک میشه. اونا چند صد mirror داخلی git راه انداخته بودن ولی با بالا رفتن نرخ merge نگهداشتنشون سختتر شد. تیم میگه عملاً git رو متمرکز استفاده میکردن، در حالی که تقریباً همهٔ کلاینتها ایجنت و jobهایی بودن که همیشه آنلاینن.
اصول Scion، با الهام از Piper گوگل و Sapling متا، اینان: کلاینت همیشه آنلاینه و فقط دادهای رو که لازم داره میگیره. سرور کارهای سنگین مثل blame، ساخت commit، merge و rebase رو انجام میده و کلاینت فقط یه کش محدود نگه میداره. همهٔ کوئریها از طریق API هم در دسترسن، پس خیلی از jobها اصلاً ریپوی محلی لازم ندارن. هیچ کپی کاملی از ریپو حتی روی سرور وجود نداره و packfile (یعنی بستههای فشردهٔ آبجکتها تو git) هم در کار نیست، پس نگهداری ریپو هم لازم نیست.
واحد کار تو Scion یه changeset هست، یعنی یه ورودی تو یه write-ahead log. به جای اشاره به کل درخت فایلها، فقط لیست فایلهای عوضشده نسبت به parent اول رو نگه میداره. ساختارهایی مثل blame و تاریخچهٔ مسیر به اسم derived data از روی changesetها و بهصورت بازگشتی ساخته میشن و میشه هر کدوم رو فوری یا با تأخیر حساب کرد. جابهجا کردن یه ref هم فقط یه compare-and-swap روی یه ردیف Spanner هست، یعنی ساختن commit هیچ قفل یا هماهنگی بین سرورها لازم نداره.
کلاینت scn به سرور نمیگه چی داره؛ فقط treeها و blobهایی رو که لازم داره یکییکی میخواد. چون دادهها content-addressed هستن (یعنی آدرسشون از روی محتواشون ساخته میشه و هیچوقت عوض نمیشن)، هر کشی میتونه جواب بده. معماری سه لایه داره: scion-daemon روی هر نود، scion-cache تو هر منطقه و scion-server اصلی. هر لایه نرخ cache hit بالای ۹۹٪ داره. نتیجه: زیرساخت از نظر CPU و حافظه ۲۰۰ برابر کوچیکتر از mirrorهای قبلی شده، checkout به جای چند دقیقه چند ثانیه طول میکشه و CI بهتنهایی ۲۵٪ ظرفیت CPU آزاد کرده.
تیم هفتنفرهای که اینو ساخت میگه Claude تو نوشتن کد از همهشون بهتره، ولی نقش مهندسها اغلب «نه» گفتن به Claude بوده، وقتی محدودیتهای اصلی سیستم رو زیر پا میذاشت یا زیادی پیچیدهکاری میکرد. مثلاً Claude Mythos Preview بدون هیچ دستور اضافهای pipeline انتقال از git رو با ۲۰ برابر حافظهٔ کمتر و ۴ برابر سرعت بیشتر بازنویسی کرد. Anthropic تأکید میکنه Scion جایگزین عمومی git نیست و فقط به درد مونوریپوهای خیلی بزرگ میخوره. هدفشون اینه که با GitHub، GitLab و جامعهٔ متنباز ایدههایی مثل RPCهای سمت سرور رو به خود git بیارن.
نکات کلیدی:
- merge روزانه تو Anthropic از حدود ۲۵۰۰ در مه به بیشتر از ۳۰ هزار در سپتامبر ۲۰۲۶ رسید
- مهاجرت کامل مونوریپو از git به Scion تو پنج ماه و با یه تیم هفتنفره انجام شد
- زیرساخت Scion از نظر CPU و حافظه ۲۰۰ برابر کوچیکتر از mirrorهای git قبلیه
- checkout در حد ثانیه شده و CI ۲۵٪ ظرفیت CPU آزاد کرده
- Scion جایگزین عمومی git نیست و فقط برای مونوریپوهای خیلی بزرگ معنی داره




