مهندسان لینکدین اخیراً از جزئیات یک سیستم بازبینی خودکار کد (Code Review) مبتنی بر هوش مصنوعی رونمایی کردهاند که هدف آن تسریع فرایند بازبینی و بهبود کیفیت کد در مقیاس سازمانی است. این ابزار با بهرهگیری از مدلهای زبانی بزرگ (LLMs)، تغییرات اعمالشده در پولریکوئستها (Pull Requests) را پیش از بررسی توسط همکاران تحلیل کرده و بازخوردهای عملی و دقیق ارائه میدهد.
فرایند بررسی کد یکی از ارکان اساسی چرخه توسعه نرمافزار در لینکدین به شمار میرود، اما همزمان میتواند به یکی از گلوگاههای اصلی در بهرهوری مهندسان تبدیل شود. با افزایش مقیاس تیمهای مهندسی، زمان انتظار برای دریافت بازخورد بر روی تغییرات کد افزایش مییابد. لینکدین با توسعه این سیستم هوشمند در پی آن است که بار کاری بازبینهای انسانی را کاهش داده و زمان چرخه بازبینی (Review Cycle Time) را به حداقل برساند.
معماری و نحوه عملکرد سیستم
سیستم جدید لینکدین صرفاً یک فراخوانی ساده مدل زبانی به همراه کل فایلهای تغییریافته نیست، بلکه شامل یک خط لوله (Pipeline) چندمرحلهای پیشرفته است:
- استخراج بافت و تغییرات (Context Extraction): در مرحله نخست، سیستم تفاوتهای کد (Diffs)، پیامهای کامیت و توضیحات پولریکوئست را پردازش کرده و وابستگیهای مرتبط را شناسایی میکند.
- فیلترسازی و اولویتبندی: به منظور جلوگیری از ارسال نظرات کمارزش و ایجاد خستگی ناشی از هشدارهای زیاد (Alert Fatigue)، خطاهای جزئی سبکنگارش (Style issues) که ابزارهای Linter استاندارد قادر به شناسایی آنها هستند فیلتر میشوند و تمرکز بر روی منطق برنامه، باگهای پنهان، نقصهای امنیتی و بهینهسازی عملکرد قرار میگیرد.
- تولید پرامپت پویا (Dynamic Prompting): پرامپتها بر اساس زبان برنامهنویسی، ماهیت پروژه و الگوهای اختصاصی معماری لینکدین تنظیم میشوند تا بازخوردی دقیق و متناسب با استانداردهای سازمانی ارائه شود.
- ارزیابی کیفی پیش از ارسال: پیش از انتشار کامنت روی پولریکوئست، یک لایه اعتبارسنجی ارزیابی میکند که آیا پیشنهاد تولیدشده از دقت و ارزش کافی برخوردار است یا خیر.
نتایج و پذیرش از سوی مهندسان
بر اساس گزارش منتشرشده، پذیرش این سیستم از سوی توسعهدهندگان بسیار مثبت بوده است. درصد قابل توجهی از پیشنهادات ارائهشده توسط هوش مصنوعی توسط نویسندگان کد پذیرفته شده و پیش از بازبینی نهایی توسط همکاران اعمال میشوند. این امر باعث شده است که بازبینهای انسانی بتوانند تمرکز خود را بر روی معماری کلی سیستم، تصمیمات طراحی و الزامات کلیدی کسبوکار معطوف کنند، بهجای اینکه وقت خود را صرف یافتن ایرادات جزئی منطقی یا خطاهای رایج نمایند.
لینکدین همچنین تأکید کرده است که این ابزار به عنوان یک دستیار برای مهندسان طراحی شده است و نه جایگزینی کامل برای تخصص و قضاوت انسانی. حلقههای بازخورد مداوم از سوی کاربران به تنظیم دقیقتر مدلها و بهبود مستمر نرخ مفید بودن نظرات کمک میکند.
برنامههای آینده
تیم مهندسی لینکدین قصد دارد قابلیتهای درک معنایی عمیقتر از کل مخزن کد (Repository-level Context) را به سیستم اضافه کند تا هوش مصنوعی بتواند اثرات جانبی تغییرات کد را در سرویسهای متصل و وابستگیهای دورتر نیز با دقت بالاتری پیشبینی کند.
برای مطالعه متن کامل و جزئیات فنی بیشتر، میتوانید به گزارش اصلی مراجعه فرمایید: