هر درخواست ادغام (Pull Request) که مهندسین اوپناِیآی ارسال میکنند، قبل از رسیدن به نگاه انسان، از زیر میکروسکوپ یک مدل هوش مصنوعی میگذرد. این مدل نه تنها خطاهای امنیتی را مییابد، بلکه اگر آسیبپذیریای ببیند، ادغام کد را بهصورت کامل و بدون استثنا مسدود میکند. تیبو سُتیو، رهبر مهندسی تیم کدکس (Codex)، در مصاحبهای با The Pragmatic Engineer پرده از این سیستم برداشت که مراجعه امنیتی را از یک انتخاب انسانی به یک گارد خودکار و اجباری تبدیل کرده است.
بازبینهای «بیشتر از انسانی» که هیچ کدی را بینظیر نمیگذارند
اوپناِیآی از مراحل اولیه توسعه کدکس، مدلهای مخصوص مرور کد آموزش داده است. سُتیو توضیح میدهد که این مدلها میتوانند اشتباهات منطقی و استدلالی را شناسایی کنند که یک مهندس انسانی ممکن است ساعتها وقت بگذارد تا آنها را ببیند. «وقتی ما آنها را ارزیابی میکنیم، انگار در مرور کد『بیشتر از انسانی』 هستند»، او میگوید. «این فقط برای صحت (Correctness) صادق نیست، برای امنیت هم صادق است.»
این قابلیتها که در مدلهای جداگانه آغاز شده بود، اکنون در مدلهای اصلی اوپناِیآی ادغام شدهاند. نتیجه؟ یک فرآیند که در آن خطای امنیتی یک «پرچم» (Flag) میزند و ادغام (Merge) بلافاصله متوقف میشود — بدون اینکه نیازی به تایید یک بازبین انسانی باشد.
از «بازرسی» به «قصد»: تغییر نقش مهندس
وقتی مکانیک مرور کد به هوش مصنوعی واگذار میشود، نقشه راه مهندس کجا قرار میگیرد؟ سُتیو معتقد است تمرکز به زودتر در فرآیند — یعنی در مرحله برنامهریزی — میچرخد. «آنچه میبینیم، بحثی درباره『قصد』 است که در درون Pull Request رخ میدهد»، او میافزاید. «یعنی، تو اصلا چه کاری سعی میکنی انجام بدهی؟ و آیا تلاش برای انجام آن کارِ درستی است؟»
فرآیندهای مرور، استقرار و شناسایی رگرسیون در اوپناِیآی «تقریباً کاملاً خودکار» شدهاند. مهندسان میتوانند یک PR را در همان روز به چتجیپیتی (ChatGPT) تحویل دهند که حدود یک میلیارد کاربر فعال دارد. واگذاری بار مرور به AI انسانها را از حلقه خارج نمیکند؛ فقط «بررسی شهودی» (Gut-check) را به قبل از باز کردن هر PR منتقل میکند. مهندسان همچنان باید روی هدف توافق کنند و تغییر پیشنهادی را تست کنند، اما بحثهای خرد در صف مرور جایگزین شدهاند با تصمیمگیری استراتژیک زودتر.
عاملها (Agents) که بار نگهداری را برمیدارند
امنیت شاید تیترها را بسازد، اما نگهداری پایه (Maintenance) جایی است که تیمها بلافاصله اثر را احساس میکنند. کتابخانههای شخص ثالث (Third-party libraries) با تغییرات همسازگار نشدنی (Breaking changes) ماهها در بکلاگ میمانند چون ویژگی جدید همیشه اولویت دارد. نکته سُتیو ساده است: تا زمانی که یک Changelog واضح و مستندات لایق داشته باشید، یک عامل (Agent) میتواند آن بهروزرسانیهای خستهکننده را در یک بعدازظهر انجام دهد — همینطور برای پچهای امنیتی روتین.
این منطق به بازسازیهای (Refactoring) بزرگتر هم تعمیم مییابد. یک تیم ممکن است دقیقاً بداند چه چیزی را میخواهد تمیز کند و حتی معماری بهتری در ذهن داشته باشد، اما وقتی برآورد دو یا سه ماه کار مهندسی برمیگردد، پروژه روی قفسه میماند. کد زشت است اما کار میکند. وقتی عاملها بخش عمده کار را بر عهده بگیرند، پاکسازیای که یک ربع سال میگرفت ممکن است در چند روز تمام شود — و ناگهان «بله» گفتن به آن پروژه آسان میشود.
وقتی مدلها اسکافولدینگ خود را فراتر میروند
سُتیو یک پویایی جذاب را توصیف میکند که در تقابل با تکامل معمول نرمافزار است. کدکس یک دستور به نام /goal داشت که برای نگه داشتن مدل متمرکز روی یک هدف واحد برای روزها یا هفتهها ساخته شده بود — نوعی «عصای بیقدمی» برای جلوگیری از درف (Drifting) در وظایف طولانیمدت. اما مدلهای جدیدتر به آن نیازی ندارند.
«شما دیگر نیازی به slash goal ندارید. شما دیگر نیازی به یک تسهیلکننده (Harness) در torno آن ندارید»، سُتیو میگوید. تیم کدکس اغلب باید زیرساخت اضافهای حول یک مدل بسازد تا برای آنچه که هنوز نمیتواند انجام دهد جبران کند، اما متوجه میشوند نسل بعدی میتواند همان رفتار را به تنهایی مدیریت کند — و کدهایی که حول مدل قبلی ساخته شدهاند دیگر لازم نیستند. تیم اکنون این پویایی را در برنامهریزی خود در نظر میگیرد، گاهی تصمیم میگیرند تا به جای ساخت اسکافولدینگ پیچیده، برای نسل بعدی مدل صبر کنند.
آیندهای که مراجعه کد هوش مصنوعی را تعریف میکند
چه چیزی از این تجربه اوپناِیآی قابل تعمیم است؟ نکته کلیدی این نیست که AI جایگزین مهندس میشود، بلکه این که مرز بین «مکانیک» و «قصد» جابجا شده است. مراجعه کد هوش مصنوعی به عنوان یک گیتکیپر امنیتی و کیفی خودکار عمل میکند، و مهندس به معمار و تصمیمگیرنده استراتژیک تبدیل میشود. برای سازمانهایی که هنوز در صفهای مرور انسانی گیر کردهاند، پیام اوپناِیآی روشنی است: اتوماسیون مراجعه تنها برای سرعت نیست — برای ارتقای ایمنسازی و آزادسازی ذهن مهندس برای سوالات سختتر: «آیا این کارِ درستی است که میخواهیم انجام دهیم؟»





