پایان کد ریویو؟ درس بزرگی که از کامپایلر فراموش کردیم
خلاصهٔ کاملتر
وقتی کد کامپایل میکنی، هیچکس به خروجی باینری نگاه نمیکنه. نه به خاطر اعتماد کورکورانه، بلکه چون یه ساختار کامل دور این فرایند ساختیم: تستهای رفتاری، سیستمهای نوع (type system)، فازینگ، و ابزارهای تأیید رسمی. ما به فرایند اعتماد میکنیم، نه به آرتیفکت. این مقاله استدلال میکنه که دقیقاً همین ساختار برای خروجی ایجنتهای هوش مصنوعی وجود نداره — و این، نه حجم بالای کد، ریشهی اصلی نگرانی مهندساست.
مثال مایکل نوواتی که در یک روز ۴۱۷ PR زد نشون میده که کد ریویو انسانی از نظر حجمی غیرممکن شده. ولی نویسنده میگه این فقط یه علامت است، نه مشکل اصلی. مشکل اینه که هنوز با خروجی ایجنت مثل خروجی یه جونیور دولوپر رفتار میکنیم — چیزی که باید یه انسان قبل از ریلیز نگاهش کنه. این رویکرد وقتی حجم کد انفجاری میشه، دیگه کار نمیکنه.
نویسنده سه لایه رو مشخص میکنه که هنوز برای ایجنتها بالغ نشدن: Upstream (مشخصات رسمی که ایجنت برمبناشون کد بزنه، نه فقط پرامپت)، لایه تأیید (تستسوئیتهایی که بتونن کد «معقول ولی اشتباه» ایجنت رو بگیرن و پایپلاین AI-checks-AI به عنوان بخشی از CI)، و Downstream (مانیتورینگ پروداکشن و rollback سریع، که برای باینریهای کامپایلشده نسبتاً بالغه ولی برای تغییرات ایجنت هنوز عادت نشده).
مقاله با یه نکتهی تند تموم میشه: مهندسهایی که بیشترین مقاومت رو در برابر «کدبیس بدون نظارت» دارن، احتمالاً همونهایی بودن که اگه به گذشته برمیگشتن، مخالف این بودن که خروجی لینکر رو هم ریویو نکنی. اعتماد به کامپایلر سادهلوحی نیست — دههها کار پشتشه. همین منطق اینجا هم صدق میکنه.
نکات کلیدی:
- کد ریویو انسانی برای خروجی ایجنتها از نظر حجمی غیرممکن شده، ولی مشکل اصلی نبودِ زیرساخت تأیید است
- آنالوژی کامپایلر نشون میده که اعتماد به خروجی خودکار نیاز به سرمایهگذاری روی فرایند دارد، نه اعتماد کور
- سه چیز باید ساخته بشه: مشخصات رسمی برای ایجنتها، تستسوئیتهای قویتر، و پایپلاین AI-checks-AI به عنوان CI رسمی
- شرکتهای تراشه با «تأیید بر اساس تست» به جای ریویو دستی کار میکنن — نرمافزار باید همین مسیر رو طی کنه




