گوگل سیستم آنتیگراویتی /teamwork را برای توسعهدهندگان بیرون از شرکت عرضه کرد. این سیستم با جستجوی موازی کاندیداها و تأیید خودکار از طریق Lean ۴، تستها و شبیهسازها، مسائل باز در نظریه اطلاعات و بهینهسازی کرنل را حل کرده است. این معماری عاملی شبیه به رویکرد ارکسترایتر جمینای ۴ است که با تفکیک برنامهریزی از اجرا، سهمیه مصرفی را ۲۴٪ کاهش داد.
زمینه: حلقه کشف تعاملی
تحقیق در مرزهای علم و مهندسی سیستمهای پیچیده نیازمند پیمایش ادبیات عظیم، ساخت خطلولههای محاسباتی سفارشی، آزمون طراحیها در برابر اندازهگیریهای فیزیکی، و تأیید هر گام میانی است. پیشرفت از یک حلقه کشف تعاملی میآید: محققان سوالات را تدوین و محدودیتهای نظری یا فیزیکی را تعریف میکنند. عاملهای افقبلند سپس حلکنندههای سفارشی مینویسند، فضاهای جستجوی وسیع را کاوش میکنند، و زنجیرههای طولانی منطق را بررسی میکنند. انسان شرایط مرزی را تعیین میکند؛ عاملها جستجو را در آن مرزها انجام میدهند.
دو محدودیت و راهکار /teamwork
دو محدودیت مدلهای زبانی فعلی طراحی /teamwork را توجیه میکنند.
اول: تولید غیرقابلپیشبینی
یک تلاش منفرد ممکن است از جواب صحیح دور بماند. /teamwork این شکاف را با جفت کردن کاوش موازی با تأییدکنندههای اختصاصی پر میکند. سیستم بسیاری از راهحلهای کاندیدا تولید میکند و هرکدام را به یک تأییدکننده مستقل تحویل میدهد: چککننده اثبات Lean ۴ برای ریاضیات رسمی، مجموعههای تست نرمافزاری برای کد، شبیهسازهای اجرا برای سیستمهای فیزیکی و دیجیتال، جستجوی وب برای مبناسازی، و شمارندههای سختافزاری برای ادعاهای کارایی. یک کاندیدا تنها در صورت عبور از تأیید زنده میماند. این کار تولید را از یک قمار به یک جستجوی با فیلتر تبدیل میکند و اعتماد سیستم را به شواهد نه فصاحت متصل میکند.
دوم: از دست رفتن جزئیات در وظایف چندروزه
با رشد پنجرههای بستر، توجه پراکنده شده و محدودیتهای اولیه از تصمیمهای بعدی تأثیر میگذارند. /teamwork این مسئله را با تقسیم بستر بر اساس ساخت (partitioning context by construction) رفع میکند. هر عامل تخصصی تنها فایلها و ابزارهای دقیقاً مورد نیاز برای گام خاص خود را دریافت میکند. هماهنگکنندهها وظایف را به جانشینهای تازه تحویل میدهند، نه رونوشت همیشهروبهرشد. هیچ عامل منفردی کل پروژه را در ذهن نگاه نمیدارد، و محدودیتهای مهم برای یک گام در بستر همان گام بهصورت طراحیشده حضور دارند.
تقسیم کار: بازتاب گروههای تحقیق واقعی
تقسیم کار در /teamwork نحوه عملکرد گروههای تحقیق واقعی را بازتاب میدهد. عاملهای تخصصی نقش متخصص را بازی میکنند: یکی حلکننده مینویسد، یکی آزمایش میکند، یکی ادبیات را جستجو میکند، یکی اثبات تلاش میکند. هماهنگکنندهها نقش محقق ارشد را ایفا میکنند که تصمیم میگیرد چه را در مرحله بعد امتحان کند و کی یک خط حمله را رها کند. تفاوت در سرعت و استقامت است: یک هماهنگکننده میتواند دهها متخصص را بهصورت موازی راهاندازی کند، رویکردهای شکستخورده را کنار بگذارد، و خطهای امیدوارکننده را برای روزها بکار نگه دارد. از آنجا که هر متخصص با بستر باریک و تازه آغاز میشود، شکست یک رویکرد دیگر را آلوده نمیکند و نتیجه امیدوارکننده میتواند بدون تاریخچه بیربط به عامل جدیدی تحویل داده شود. این ویژگی خودمختاری چندروزه را عملی میسازد.
نتایج در حوزههای مختلف
نظریه اطلاعات
مسائل این حوزه به ظاهر ساده بیان میشوند اما برای حمله وحشتناکاند، زیرا فضای ساختارهای ممکن وسیع است و اکثر آنها به دلایل ظریف شکست میخورند. عاملها ساختارها کاندیدا را در مقیاسی شمارش میکنند که هیچ محقق منفردی بهصورت دستی تلاش نمیکرد، در حالی که تأییدکنندهها آنهایی که محدودیتهای شناختهشده را نقض میکنند حذف میکنند. پیشرفتهای گزارششده از ترکیب وسعت و فیلتر بیرحم حاصل آمدند.
تأیید رسمی
با کار بر روی چککننده اثبات Lean ۴، عاملها اثباتها و مشخصات رسمی تولید کردند که بهصورت مکانیکی چک شدند. اثباتی که کامپایل شود، اثباتی است که برقرار است؛ ابهامی در مورد صحت استدلال وجود ندارد. روشهای رسمی طولانیمدت توسط هزینه تخصص انسانی گلوگاه شدهاند، و گلوگاه بیشتر درباره حجم مراحل خستهکننده و مستعد خطا برای بستن یک اثبات است. عاملهایی که بتوانند از آن مراحل بگذرند، با چککنندهای که هرکدام را تأیید میکند، تمرکز توجه انسانی را جابجا میکنند. مثال بارز: اثبات کورتاد-کومار با ۵۰ میلیون خط کد Lean ۴.
کشف ساختار مولکولی
اینجا تأییدکنندهها شبیهسازها و اندازهگیریهای تجربی هستند. ساختارها کاندیدا باید در تماس با فیزیک بمانند، نه تنها معقول به نظر برسند. عاملهای افقبلند میتوانند ساختارهای کاندیدا را در فضایی از جستجو پیشنهاد، بسازند و آزمون دهند که پوشش آن برای یک تیم انسانی ماهها طول میکشد، و اکثریت را بهصورت خودکار حذف کنند. نقش محقق تبدیل به مشخص کردن میشود که چه چیزی به عنوان ساختار معتبر شمارده میشود و کدام اندازهگیریها باید تطبیق یابند.
بهینهسازی کرنل و پیشرفتهای زیرساخت تولیدی
کار کارایی بهویژه برای جستجوی عاملی مناسب است چون شمارندههای سختافزاری داوری عینی، ارزان و بیابهام ارائه میدهند. یک عامل میتواند صدها نوع مختلف یک کرنل را امتحان کند و تنها آنهایی را نگه دارد که روی سختافزار واقعی قابلاندازه سریعترند. تعدادی از این بهبودها در زیرساخت تولیدی خود گوگل مستقر شدهاند، سیگنال معناداری که ابزارها در سیستمی داوری میشوند که در آن رگرسیونها پرهزینه و اندازهگیری دقیق است.
مشارکت موسسات آکادمیک
مشارکت موسسات آکادمیک شریک جزئی نیست. بسیاری از سختترین مسائل باز در حوزههایی قرار دارند که تخصص مربوطه در تعداد کمی گروه متمرکز است، و دانش ضمنی پیشرفت در هیچجا نوشته نشده است. جفت کردن عاملها با آن گروهها مسائلی تولید کرد که واقعاً باز بودند، نه آیتمهای بنچمارک که بهصورت معکوس برای حلپذیری مهندسی شده باشند. این یک آزمون صادقانهتر ایجاد کرد، چون محققان پیشفرضهای قوی درباره رویکردهای شکستخورده داشتند و میتوانستند نتیجه واقعی را بشناسند.
عرضه در آنتیگراویتی /teamwork
تصمیم به عرضه این قابلیتها در آنتیگراویتی /teamwork، در کنار /boost و عاملهای دیگر، بخشی است که خوانندگان بیرون از گوگل باید روی آن تمرکز کنند. نتایج بالا توسط تیمهای گوگل و شریکهای آکادمیک با دسترسی به مدلهای مرزی و محاسبات قابلتوجه تولید شدهاند. در دسترس قرار دادن الگوهای عاملی زیرین به عنوان یک محصول به این معنی است که متدولوژی، نه تنها یافتهها، قابل بازاستفاده است.
ایدههای قابل انتقال برای مهندسان
برای یک مهندس کارآمد، ایدههای قابل انتقال ساختار جستجوی موازی-به-علاوه-تأییدکننده و تقسیم عمدی بستر هستند. اعمال شده بر کار نرمافزاری معمولی، ایده اول پیشنهاد میدهد تأیید را به عنوان بخشی از درجه اول هر حلقه عاملی در نظر بگیریم، نه یک پیشفکر. اگر خروجی یک عامل قابل چک شدن با مجموعه تست، کامپایلر، چککننده نوع، یا شبیهساز باشد، آن چک باید بهصورت سیمکشی شده باشد تا کاندیداها بهصورت خودکار فیلتر شوند. ایده دوم پیشنهاد میدهد از وسوسه دادن همه چیز به یک عامل خودداری کنیم. وظایف باریک، خوشتعریفشده با دقیقاً فایلها و ابزارهای مورد نیاز، تمایل دارند بر ماموریتهای وسیع برتری یابند، و در پروژههای طولانی بهصورت مهربانتری تخریب میشوند.
نکات احتیاطی و سوالات باز
هیچکدام از اجزای منفرد اینجا جدید نیستند. نمونهگیری موازی، استفاده از ابزار، چککنندههای رسمی، و ارکستراسیون چندعاملی همه قبلاً کاوش شدهاند. آنچه جدید است، اصرار بر ترکیب این قطعات در یک حلقه بسته است که در آن تولید ارزان و تأیید الزامی است.
محدودیتهای تأییدکنندهها
تأییدکنندهها تنها آنچه را که برای گرفتن طراحی شدهاند میگیرند. یک مجموعه تست که یک مورد را از قلم بیندازد، یک راهحل شکسته را عبور میدهد، و یک شبیهساز که فیزیک نادرست مدل کند، بهصورت مطمئن ساختاری را تایید میکند که وجود ندارد. کیفیت لایه تأیید، کیفیت کل سیستم را محدود میکند، که به این معنی است سرمایهگذاری در چککنندهها، تستها، و زیرساخت اندازهگیری سربار نیست بلکه قلب رویکرد است. حوزههایی با تأیید ضعیف یا پرهزینه در ابتدا کمتر سود میبرند.
سوالات باز
اول، هزینه: اجرای بسیاری از کاندیداها بهصورت موازی و تأیید هرکدام محاسبات بسیار بیشتری برای هر نتیجه قابلاستفاده نسبت به یک تولید منفرد مصرف میکند. دوم، پوشش تأیید: تیمهایی که مجموعه تست قوی، شبیهساز، یا ابزار رسمی ندارند نتایج ضعیفتری خواهند دید، و ساخت آن ابزارها ممکن است پیشنیاز باشد. سوم، قضاوت درباره کی متوقف شویم: عاملهای افقبلند در دوام خوب هستند، و دوام تنها فضیلتی است وقتی مسئله حلپذیر و محدودیتها درست باشند. دانستن کدام مسائل را تحویل دهیم و کدام را رها کنیم، همچنان یک تصمیم انسانی است.
تحلیل: تغییر هدف سیستمها
اهمیت گستردهتر، تغییر در هدف این سیستمهاست. بخش زیادی از گفتگوی عمومی درباره مدلهای پیشرفته بر تولید متن، تصویر، و کدی متمرکز بوده که درست به نظر میرسند. کار توصیفشده به جایی دیگر اشاره میکند: سیستمی که اکثر محاسباتش را صرف چک کردن، حذف، و بازسازی میکند، و تنها آنچه زنده مانده را گزارش میدهد. این راهی کندتر و پرهزینهتر برای استفاده از مدل است، و همچنین تنها راهی که خروجی برای مسائلی که اشتباه پرهزینه است، قابل اعتماد باشد. برای محققان، نتیجه عملی این است که نقش چارچوبدهی ناپدید نشده؛ ارزشمندتر شده است. تصمیمگیری درباره کدام مسائل ارزش حمله دارند، کدام محدودیتها یک جواب معتبر را تعریف میکنند، و کدام اندازهگیریها یک مناقشه را تسویه میکنند، همچنان قضاوت انسانی است. آنچه تغییر میکند این است که جستجو در آن محدودیتها اکنون میتواند بسیار وسیعتر و بسیار دوامدارتر از آنچه یک شخص یا تیم کوچک میتواند تحمل کند باشد. مسائلی که سالها باز مانده بودند، نه به این دلیل تسلیم شدند که مدلها روانتر شدند، بلکه چون جستجو وسیعتر شد، تأیید خودکار شد، و بستر از بین نرفت. ابزارها اکنون در آنتیگراویتی /teamwork برای هر کسی که میخواهد این ادعا را روی مسائل خود آزماید در دسترس است، و مفیدترین قدم اول بیزینت است: محاسبه کنید چه چیزی به عنوان اثباتِ صحت یک جواب شمارده میشود. بقیه همه چیز در این رویکرد از داشتن جواب برای آن سوال پیروی میکند.
گام بعدی شما
- اگر روی پروژهای کار میکنید که خروجیاش قابل تأیید خودکار است (تست، کامپایلر، شبیهساز)، یک حلقه عاملی کوچک بسازید که کاندیداها را موازی تولید و با تأییدکننده فیلتر کند.
- بستر هر عامل را به حداقل برسانید: فقط فایلها و ابزارهای دقیقاً لازم برای آن گام را بدهید، از بسترهای عظیم پر از تاریخچه اجتناب کنید.
- قبل از مقیاسدهی، مطمئن شوید لایه تأیید شما (تستها، شبیهسازها، چککنندههای رسمی) پوشش کافی دارد؛ کیفیت کل سیستم از این لایه محدود میشود.




گفتگو