Anthropic با هجوم کدهای تولیدشده توسط کلود، کنترل نسخه را از نو طراحی کرد

نویسنده: توماس کلابِرن، گزارشگر هوش مصنوعی و نرمافزار
مدلهای کلود شرکت Anthropic آنقدر کد تولید کردهاند که زیرساخت کدنویسی این شرکت دیگر توان هماهنگ شدن با این حجم تولید را نداشته است.
این وضعیت نشانهای از روند گستردهتر استفاده از هوش مصنوعی برای برنامهنویسی و دسترسی گسترده به پردازش استنتاجی محسوب میشود. شرکت مایکروسافت در ماه آوریل در یک مطلب وبلاگی اعلام کرد که برخی مشکلات دسترسی اخیر GitHub به رشد تصاعدی درخواستهای ادغام (pull request) و ثبت تغییرات (commit) مرتبط بوده است. پژوهشگران دانشگاهی نیز به این افزایش سیلآسای تولید کد اشاره کردهاند.
برای Anthropic، نوشتن کد دیگر گلوگاه بهرهوری نیست. مشکل اصلی اکنون مدیریت کدی است که پس از تولید باقی میماند؛ از طریق کنترل نسخه، سامانه ساخت نرمافزار و یکپارچهسازی مداوم (CI).
Anthropic در مطلبی در وبلاگ خود که روز سهشنبه منتشر شد، اعلام کرد: «در ماه مه ۲۰۲۶، Anthropic بهطور میانگین حدود ۲۵۰۰ تغییر کد را در روز ادغام میکرد؛ اما تا سپتامبر، این رقم به بیش از ۳۰ هزار مورد در روز رسید.»
این شرکت افزود: «انتظار نداریم این نرخ رشد در آینده نزدیک کاهش پیدا کند؛ تقاضای پنهان برای ادغام کد عملاً نامحدود است و هر گلوگاهی که برطرف میکنیم، بلافاصله به افزایش بیشتر حجم کدی منجر میشود که تولید میکنیم.»
پس از چند ماه آزمایش با مدلها و پنج ماه مهاجرت، نتیجه این تلاشها یک سامانه کنترل نسخه اختصاصی به نام Scion است؛ یک معماری مخزن یکپارچه (monorepo) که شباهتهایی به Subversion، سامانه کنترل نسخه متمرکز شرکت Apache، دارد.
Anthropic نخستین سازمانی نیست که فراتر از معماری توزیعشده Git به سمت کنترل نسخه متمرکز حرکت کرده است. گوگل از Piper، یک سامانه monorepo، استفاده میکند و در کنار آن برای بازبینی کد مبتنی بر Git از Gerrit بهره میگیرد. مایکروسافت نیز برای کمک به حل برخی مشکلات مقیاسپذیری Git، سامانه Virtual File System for Git را که پیشتر GVFS نام داشت، توسعه داده است. متا هم از Sapling استفاده میکند.
اما به گفته Anthropic، توانایی کلود در تولید کد هم عامل ایجاد این مشکل بوده و هم راهحلی برای آن فراهم کرده است. این شرکت علاوه بر Scion، با کمک کلود ابزارهای دیگری مانند Antique (رابط بازبینی کد)، یک ابزار جستوجوی کد و یک سامانه مدیریت هویت و دسترسی (IAM) برای کنترل نسخه ایجاد کرده است.
Anthropic معتقد است رویکرد غیرمتمرکز Git برای بیشتر مخازن کد همچنان انتخاب درستی است. با این حال، شاخه اصلی کد این شرکت حدود ۱۰۰ گیگابایت حجم دارد و یک نسخه کاری فشردهشده آن نیز بیش از یکچهارم این مقدار است.
Anthropic اعلام کرد: «ما روزانه در حدود ۲۵ میلیون بار برای CI عملیات دریافت کد (checkout) انجام میدهیم؛ این رقم بدون در نظر گرفتن محیطهای توسعهدهندگان، محیطهای آزمایشی عاملهای هوش مصنوعی و کارهای پژوهشی است. اگر این حجم به شکل ساده با Git دریافت شود، بیش از ۶۰۰ پتابایت ترافیک Git در روز ایجاد خواهد کرد.»
این شرکت میگوید حتی با وجود ابزارهایی که Git برای کار با بخشهایی از یک پایگاه کد ارائه میدهد، مدیریت عملیات همچنان دشوار بوده است.
Scion با هدف پاسخگویی به نیازهای عاملهای هوش مصنوعی طراحی شده است؛ به همین دلیل، کلاینت بخش زیادی از پردازش را به سرور واگذار میکند. درخواستهای مربوط به کنترل نسخه از طریق API در دسترس هستند تا ابزارهای داخلی بتوانند بدون نیاز به یک مخزن محلی پاسخ دهند. این معماری همگامسازی کمتری نیاز دارد، اما وابستگی بیشتری به سرعت سرور ایجاد میکند.
Anthropic توضیح میدهد: «در Scion، واحد کار یک “changeset” است؛ ورودیای در یک گزارش ثبت پیشنویس (write-ahead log). یک changeset بیشتر اطلاعاتی را که انتظار دارید از یک commit در Git ببینید، ذخیره میکند. اما در جایی که یک commit در Git فقط به درخت کد اشاره میکند، یک changeset فهرستی از فایلهایی را که نسبت به والد نخست تغییر کردهاند، همراه با اشارهگرهای مبتنی بر محتوا به محتوای فشرده فایلها در فضای ذخیرهسازی blob نگه میدارد.»
کار روی Scion در ژانویه آغاز شد و زمانی که پیشنمایش داخلی Claude Mythos در دسترس قرار گرفت، توسعهدهندگان Anthropic از این مدل خواستند یک خط لوله اولیه انتقال از Git به Scion را بازنویسی کند. این مدل که توجه زیادی را به خود جلب کرده بود، نسخهای تولید کرد که ۲۰ برابر حافظه کمتری مصرف میکرد و چهار برابر سریعتر اجرا میشد. وقتی به لطف سرمایهگذاری گسترده شرکت امکان صرف هزینه زیاد برای توکنها وجود دارد، چنین مصرفی از منابع منطقی به نظر میرسد.
به نظر میرسد توسعهدهندگان Anthropic با احتمال کنار رفتن تدریجی نقش خود به دلیل هوش مصنوعی کنار آمدهاند. طبق گفته این شرکت، توسعهدهندگانی که روی Scion کار کردهاند، معتقدند کلود بهتر از آنها کد مینویسد. با این حال، آنها همچنان درک سطح بالاتری دارند که به آنها اجازه میدهد نقش منتقد را ایفا کنند.
Anthropic گفت: «اغلب اوقات متوجه شدیم نقش مهندسان این بود که به کلود بگویند “نه”. عاملها گاهی برای برآورده کردن یک الگو، محدودیتهای اصلی سیستم را نقض میکنند؛ حتی زمانی که آن الگو از ابتدا نباید اجازه داده میشد.»
«فقط نه بگویید.» این شعار، همچنان ماندگار است و شاید هرگز به اندازه امروز مرتبط نبوده باشد.
Anthropic میگوید سامانه اختصاصی آن برای استفاده عمومی مناسب نیست و قصد ندارد آن را متنباز کند. با این حال، این شرکت معتقد است مشکلات مقیاسپذیری کد که خود با آن روبهرو شده، در ماههای آینده برای سازمانهای دیگر نیز رایج خواهد شد؛ به همین دلیل رویکرد خود را به اشتراک گذاشته است، زیرا توان مالی لازم برای ساخت ابزارهای زیرساختی سفارشی را در اختیار دارد.
هوش مصنوعی | Anthropic | AI و یادگیری ماشین | Claude | DevOps
