Rootly پس از آنکه عامل‌های هوش مصنوعی بخش بزرگی از تولید کد را بر عهده گرفتند، دیگر به شمارش خطوط به‌عنوان معیار اصلی اتکا نکرد و «شعاعِ تأثیر» (blast radius) را به‌عنوان معیار ارزیابی تغییرها معرفی کرد.

چرا قانون «PR کوچک» منسوخ شد

کوئنتن روسو، هم‌بنیان‌گذار و CTO Rootly، می‌گوید طی دو سال گذشته شرکت فرهنگ «PRهای کوچک و اتمیک» را دنبال می‌کرد تا بازبینی و بازگردانی آسان‌تر شود. اما عامل‌ها معمولاً «ویژگی‌محور» عمل می‌کنند و پیاده‌سازی کامل یک ویژگی — از مهاجرت‌ها، مدل‌ها و سرویس‌ها تا تست‌ها و اجزای فرانت‌اند — را در یک خروجی واحد تولید می‌کنند. بنابراین شمارش خطوط دیگر سیگنال معتبری برای سنجش ریسک یا دامنهٔ تغییر نیست.

نوع جدید باگ‌ها: باگ‌های متن‌محورِ زمینه‌ای

«باگ‌های هوش مصنوعی باگ‌های متنی هستند؛ کد ممکن است درست اجرا شود اما روی شیء یا دادهٔ اشتباه اعمال شود — مثلاً مهاجرتی که ستونی را حذف می‌کند در حالی که یک کار پس‌زمینه هنوز از آن استفاده می‌کند یا سرویسی که در جدولی می‌نویسد که تیم دیگری از آن می‌خواند.» — تیم مهندسی Rootly

مشکل تلاش برای جعل رفتار انسانی در عامل‌ها

واداشتن عامل‌ها به تولید PRهای کوچک مشکلات جدیدی ایجاد کرد: نظرات بازبینی در یک PR به تصمیمات ثبت‌شده در PRهای دیگر وابسته می‌شد و بازبینان مجبور بودند بین چند تب و مرجع جهش ذهنی انجام دهند. Rootly دریافت قانون «PR کوچک» برای سرعت و روند کار انسان طراحی شده و در حضور عامل‌ها به‌جای تسهیل، هزینه و سربار اضافی ایجاد می‌کرد.

بازبینی کد مبتنی بر ریسک

پاسخ Rootly تغییر روش بازبینی بود: تیم ابزاری مبتنی بر هوش مصنوعی ساخت که هر PR را بر اساس شاخص‌های مهندسی بررسی و خروجی‌ای ساختارمند تولید می‌کند. این خروجی شامل موارد زیر است:

  • ارزیابی ریسک (risk assessment)
  • امتیاز استانداردسازی
  • امتیاز اعتماد (confidence score)
  • یافته‌های گروه‌بندی‌شده بر اساس شدت

این ابزار تلاش نمی‌کند جای بازبین انسانی را بگیرد؛ بلکه پاسخی مشخص می‌دهد: اگر این تغییر دارای نقص باشد، چه رفتار قابل‌مشاهده‌ای برای کاربر مختل می‌شود؟ سپس با توجه به اینکه تغییر «آنچه سیستم انجام می‌دهد» را دگرگون می‌کند یا صرفاً «چگونگی عملکرد یا ظاهر» را، پروفایل ریسک مناسب اختصاص می‌یابد. نتیجه این است که بازبین انسانی به‌جای مواجهه با اختلافات خام، یک نقطهٔ شروع ساختارمند برای تصمیم‌گیری دریافت می‌کند.

جلسه تیم مهندسی Rootly درباره بازبینی کد هوش مصنوعی

انتقال مرز ایمنی از merge به rollout

Rootly با تکیه بر feature flag مرزهای ایمنی را از زمان merge به زمان عرضهٔ تدریجی منتقل کرده است. هر ویژگی مهم پشت یک پرچم منتشر می‌شود: پس از merge و استقرار، پرچم خاموش می‌ماند و آزمایش واقعی در مرحلهٔ rollout انجام می‌شود — ابتدا برای تیم داخلی، سپس برای تعداد محدودی از مشتریان، بعد برای درصدی از کاربران و در نهایت برای همه.

وضعیت صنعت

در کنفرانس‌هایی مانند QCon و AI Native DevCon، کارشناسان این تغییر پارادایم را بررسی کرده‌اند. برخی هشدار داده‌اند که PRهای عظیم تولیدشده توسط عامل‌ها می‌تواند گلوگاهی برای بازبینان انسانی و منبعی از بدهی فنی طولانی‌مدت باشد. شرکت‌هایی مثل Rewind نیز به رویکرد مبتنی بر ریسک روی آورده‌اند: ابزاری مانند Diff Vader به‌جای شمارش خطوط، برچسب ریسک را بر مبنای یافته‌های بازبینی اختصاص می‌دهد.

پرسش‌هایی که هر PR عامل‌محور باید پاسخ دهد

Rootly بر ثبت زمینهٔ انسانی تأکید می‌کند و از تولید خودکار این بخش‌ها توسط عامل‌ها جلوگیری می‌کند. نمونهٔ پرسش‌هایی که باید در شرح PR پاسخ داده شود:

  • هدف و انگیزهٔ تغییر چیست؟
  • دامنهٔ این تغییر چه اجزا و سرویس‌هایی را دربرمی‌گیرد؟
  • آیا مهاجرت یا تغییر دیتابیس وجود دارد و وابستگی‌های مرتبط چیست؟
  • پیامدهای کاربر نهایی در صورت بروز نقص چه خواهد بود؟
  • معیارهای موفقیت، نحوهٔ کنترل انتشار و راه بازگشت (rollback) چیست؟
  • چه تست‌ها و پوشش‌های اعتبارسنجی فراهم شده‌اند و چه پرچم‌های ویژگی برای rollout تعیین شده‌اند؟

درس‌های کلیدی برای تیم‌ها

نکات عملی که از تجربهٔ Rootly استخراج شده‌اند:

  • معیارهای سنتی مانند «تعداد خطوط تغییر یافته» دیگر معیاری معتبر برای ارزیابی ریسک نیستند.
  • بازبینی مبتنی بر ریسک و تولید خودکار گزارش‌های ساختارمند به بازبینان انسانی کمک می‌کند روی پیامدهای واقعی کاربر تمرکز کنند.
  • استفاده از پرچم‌های ویژگی و عرضهٔ تدریجی، امکان کنترل شعاع تأثیر و کاهش ریسک را فراهم می‌کند و تصمیم‌گیری امنیتی را از نقطهٔ merge جدا می‌سازد.
  • در محیطی که عامل‌ها با هزینهٔ توکن عمل می‌کنند، بی‌نظمی فرایندی سریعاً به هزینه تبدیل می‌شود و ضرورت شفافیت و استانداردسازی آشکار می‌شود.

نگاه به آینده

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

مطالعهٔ بیشتر: صفحهٔ Pull request و مفهوم Continuous delivery.