آنتروپیک در پی جهش تولید کد با هوش مصنوعی، گیت را با سامانه اختصاصی اسکیون جایگزین کرد

the420.in

انتشار در منبع: انتشار در سایت ما:

مقاله اصلی · English

آنتروپیک سامانه گیت را برای مخزن کد مشترک اصلی خود با سامانه‌ای اختصاصی به نام «اسکیون» (Scion) جایگزین کرده است. این تصمیم پس از آن گرفته شد که حجم تغییرات روزانه کد در این شرکت از حدود ۲۵۰۰ مورد در ماه مه به بیش از ۳۰ هزار مورد در سپتامبر رسید. گسترش سریع عامل‌های هوش مصنوعی خودمختار برای برنامه‌نویسی، مبتنی بر مدل کلود (Claude)، سرعت توسعه را چنان افزایش داد که مدیریت، بازبینی و آزمایش تغییرات به گلوگاه اصلی فرایند تبدیل شد و از خودِ نوشتن کد پیشی گرفت. گروهی متشکل از هفت مهندس طی پنج ماه، اسکیون و سامانه مکمل آن برای بازبینی کد، موسوم به «آنتیک» (Antique)، را توسعه دادند. در این فرایند، کلود بخش قابل‌توجهی از کدها را با نظارت و هدایت مهندسان انسانی تولید کرد.

انتقال گلوگاه از تولید کد به زیرساخت

این تغییر زمانی رخ داد که عملیات موردنیاز برای پشتیبانی از هر بار ارسال کد، فشار فزاینده‌ای بر زیرساخت داخلی توسعه نرم‌افزار آنتروپیک وارد می‌کرد. سامانه‌های آزمایش خودکار این شرکت روزانه حدود ۲۵ میلیون بار کد را از مخازن دریافت می‌کنند تا تغییرات پیشنهادی را اعتبارسنجی کنند. نگهداری صدها نسخه آینه‌ای محلی از مخزن گیت، با این حجم از تغییرات، به فرایندی شکننده تبدیل شده بود و همگام‌سازی آن‌ها منابع و هزینه عملیاتی زیادی می‌طلبید.

اسکیون با انتقال اجرای بارهای کاری به سرورهای متمرکز، این سربار عملیاتی را کاهش می‌دهد و به خط لوله‌های خودکار و مهندسان اجازه می‌دهد فقط فایل‌ها یا فراداده‌های موردنیاز خود را درخواست کنند. ابزارهای خودکار می‌توانند تاریخچه تغییرات را بررسی کنند یا تفاوت میان نسخه‌ها را بسازند، بی‌آنکه لازم باشد نسخه‌ای کامل از مخزن را به‌صورت محلی دریافت کنند. آنتروپیک پس از راه‌اندازی این سامانه گزارش داد که زمان عملیات دریافت کد از چند دقیقه به چند ثانیه کاهش یافته است. همچنین، میزان مصرف پردازنده و حافظه به یک‌دویستم منابع موردنیاز زیرساخت قبلی مبتنی بر نسخه‌های آینه‌ای گیت رسیده است.

نظارت انسانی و محدودیت‌های معماری

با وجود آنکه کلود حجم زیادی از کدهای اجرایی را تولید کرد، مهندسان انسانی همچنان مسئول تعیین مرزهای معماری، یکپارچه‌سازی سامانه‌ها و مدیریت موارد خاص بودند. راهول پاتیل، مدیر ارشد فناوری آنتروپیک، در لینکدین توضیح داد که اعضای تیم باید موازنه‌های اصلی طراحی را مشخص می‌کردند؛ این کار در بسیاری از مواقع مستلزم کنار گذاشتن پیشنهادهای کلود بود، زیرا مدل گاهی راهکارهایی ارائه می‌داد که با قواعد حیاتی طراحی سازگار نبودند. در یکی از این موارد، کد تولیدشده تلاش می‌کرد کل تاریخچه نسخه‌ها را بررسی کند تا به داده‌هایی دست یابد که از قبل مستقیماً از طریق بستر بازبینی در دسترس بودند.

در ادامه، تمرکز مهندسان از بررسی جزءبه‌جزء خطوط کد به ارزیابی هدف کلی تغییرات، مرزهای امنیتی و انسجام معماری منتقل شد. تیم برای حفظ پایداری سامانه در شرایط افزایش سریع تعداد ثبت تغییرات، محیط‌های شبیه‌سازی ایزوله، خط لوله‌های آزمون فازینگ و سازوکارهای محدودسازی نرخ درخواست‌ها را ایجاد کرد. این سامانه همچنین مجوزهای دسترسی دقیق در سطح پوشه‌ها و ابزارهای بازبینی‌ای ارائه می‌دهد که تغییرات ظاهری، مانند ویرایش توضیحات داخل کد، را از تغییرات در منطق اصلی کسب‌وکار متمایز می‌کنند.

راهکاری اختصاصی برای مقیاس عملیاتی، نه جایگزینی همگانی

آنتروپیک تأکید کرده است که اسکیون به‌طور ویژه برای پاسخ‌گویی به محیط عملیاتی پرترافیک این شرکت طراحی شده است؛ محیطی که با حجم عظیمی از فعالیت عامل‌های هوش مصنوعی و مخزنی مشترک با ابعادی غیرمعمول سروکار دارد. استفاده از این پلتفرم در خارج از آنتروپیک مستلزم بازطراحی گسترده ساختارهای موجود برای جست‌وجو، بازبینی کد و آزمایش خودکار خواهد بود.

این شرکت روشن کرده است که گیت همچنان گزینه بهینه برای کنترل نسخه در تیم‌های نرم‌افزاری معمولی است. اسکیون نه با هدف جایگزینی عمومی گیت طراحی شده و نه قرار است به‌عنوان محصولی آماده و عمومی برای توسعه‌دهندگان عرضه شود. آنتروپیک به‌جای انتشار این پلتفرم به‌صورت ابزار متن‌باز، یافته‌های طراحی و روش‌های معماری خود را به اشتراک می‌گذارد تا سامانه‌هایی که از نسخه‌های استاندارد گیت استفاده می‌کنند نیز بتوانند از این رویکردها برای متمرکزسازی پردازش‌ها و کاهش انتقال‌های تکراری داده بهره ببرند.