بازطراحی کنترل نسخه در Anthropic؛ وقتی سیستمهای سنتی پاسخگوی کدهای تولیدشده توسط AI نیستند — Redesigning Source Control at Anthropic
خلاصه
شرکت Anthropic به دلیل رشد انفجاری تغییرات کد با کمک هوش مصنوعی و رسیدن به ۳۰ هزار کامیت در روز، سیستم کنترل نسخه اختصاصی خود به نام Scion و ابزار بازبینی کد Antique را توسعه داده است. این مقاله چالشهای مقیاسپذیری ابزارهای سنتی مانند Git و تجربههای مهندسی این گذار را بررسی میکند.
مقدمه و زمینه
با ورود ابزارهای مبتنی بر هوش مصنوعی به چرخه توسعه نرمافزار، سرعت تولید و تغییرات کد در شرکتهای پیشرو به شکل چشمگیری افزایش یافته است. شرکت Anthropic در گزارشی اعلام کرده است که میانگین تغییرات کدهای ادغامشده روزانه این شرکت از حدود ۲۵۰۰ مورد در ماه مه، تا ماه سپتامبر به بیش از ۳۰ هزار تغییر در روز رسیده است.
این حجم عظیم از تغییرات، ابزارهای سنتی کنترل نسخه مانند Git را با بنبستهای جدی مقیاسپذیری مواجه کرد. به همین دلیل، تیم کوچکی از مهندسان Anthropic طی پنج ماه توانستند جایگزینی سفارشی برای سیستم کنترل نسخه خود طراحی و پیادهسازی کنند.
معماری سیستم جدید: Scion و Antique
سیستم کنترل نسخه جدید Scion نام دارد و ساختار آن یادآور سیستمهای کنترل نسخه متمرکز سنتی مانند Subversion است. همچنین سیستم بازبینی کد (Code Review) جدید این شرکت Antique نامگذاری شده است. مهندسان Anthropic در طراحی Scion از الگوهای موفق قبلی مانند Piper در گوگل و Sapling در متا الهام گرفتهاند؛ بهویژه ایده دادههای مشتقشده (Derived Data) که از سرور Mononoke در Sapling گرفته شده است.
مقیاس عملیاتی این سیستم جدید بسیار عظیم است:
- تاریخچه شاخه اصلی (Main Branch) نزدیک به ۱۰۰ گیگابایت حجم دارد.
- یک کپی کاری فشرده (Compressed Working Copy) بیش از ۲۵ گیگابایت است.
- روزانه در حدود ۲۵ میلیون عملیات دریافت کد (Checkout) تنها برای CI انجام میشود.
نکته جالب اینجاست که سیستم Scion فاقد پشتیبانی آفلاین است. مهندسان این شرکت دلیل آن را واضح میدانند: از آنجا که مدل Claude به عنوان کاربر اصلی این سیستم همیشه آنلاین است، نیاز به کارکرد آفلاین عملاً اهمیت خود را از دست داده است.
چالشهای کیفی و بازبینی کد
استفاده گسترده از مدلهای هوش مصنوعی برای تولید و بازبینی کد، چالشهای جدیدی را به همراه داشته است. Anthropic از فرآیند «بازبینی خصمانه» (Adversarial Review) استفاده میکند؛ به این معنا که مدلهای مختلف (مانند Claude و مدلهای رقیب) تلاش میکنند تا باگها و اشکالات کدهای تولیدشده را پیدا کنند.
با این حال، این روش معایب خاص خود را دارد. مهندسان انسانی باید مداخله کنند تا مدلها را از بیشمهندسی (Over-engineering) برای سناریوهای فرضی و لبهای (Edge Cases) بازدارند. کاربران در بحثهای Hacker News نیز به این نکته اشاره کردهاند که مدلهای هوش مصنوعی گاهی در حلقههای بیپیشنه برای رفع مشکلات تئوریک و جزئی گیر میافتند و مفهوم «به اندازه کافی خوب» (Good Enough) را به خوبی درک نمیکنند.
چرا این موضوع برای مهندسان اهمیت دارد؟
این رویداد یک نقطه عطف در مهندسی نرمافزار است. زمانی که سرعت تغییرات کد به لطف AI به صورت نمایی رشد میکند، زیرساختهای سنتی مدیریت کد (مانند Git) دیگر پاسخگو نیستند. تجربه Anthropic نشان میدهد که آینده مهندسی نرمافزار ممکن است نیازمند ابزارها، پلتفرمها و پارادایمهای کاملاً متفاوتی برای مدیریت، بازبینی و استقرار کد باشد؛ موضوعی که چالشهای تازهای را در زمینه حفظ کنترل کیفیت و سادگی سیستمها ایجاد میکند.
این مطلب بهصورت کاملاً خودکار و با هوش مصنوعی از مقالهٔ اصلی و بحث هکرنیوز تهیه شده و ممکن است خطا داشته باشد. حقوق مطلب اصلی متعلق به نویسندهٔ آن است. قوانین و گزارش مشکل