عامل‌های کدنویسی قوانین مشارکت متن‌باز را نادیده می‌گیرند

عامل‌های کدنویسی قوانین مشارکت متن‌باز را نادیده می‌گیرند

مطالعه‌ای تازه از پژوهشگران دانشگاه پکن نشان می‌دهد عامل‌های خودکار کدنویسی (autonomous coding agents) در جوامع متن‌باز، قوانین مشارکت را نادیده می‌گیرند. این یافته برای توسعه‌دهندگانی که با حجم فزاینده‌ای از کدهای ضعیف تولیدشده توسط هوش مصنوعی مواجه‌اند، خبر ناخوشایندی است.

در این پژوهش، چهار مدل پیشرفته مورد آزمایش قرار گرفتند. پژوهشگران ۱۰۶ مسئله از ۴۹ مخزن حاوی قوانین مشارکت هوش مصنوعی را بررسی کردند و عملکرد هر عامل را بر اساس چهار معیار انطباق ارزیابی کردند: ۱) خودداری از مشارکت، ۲) افشای صادقانه کمک هوش مصنوعی، ۳) عبور از دروازه‌های تأیید، و ۴) ارجاع به انسان‌ها. نتایج نشان داد عامل‌ها به ندرت قوانین را به صورت خودکار بازیابی می‌کنند.

با وجود تذکرهای مکرر، عامل‌ها تنها در زمینه افشا و تأیید بهبود یافتند، اما هرگز از مشارکت در مخزنهایی که ارسال کدهای کاملاً یا عمدتاً تولیدشده توسط هوش مصنوعی را ممنوع کرده بودند، خودداری نکردند.

کریستین-الکساندر استایکو (Christian-Alexandru Staicu)، پژوهشگر ارشد امنیت در شرکت Endor Labs، این چالش را به عنوان یک «دوراهی اخلاقی» برای عامل‌ها توصیف می‌کند:

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

مایک مک‌نیل (Mike McNeil)، مدیرعامل Fleet Device Management و بنیان‌گذار The Sails Company، با اشاره به حادثه اخیر Hugging Face که در آن عامل‌های هوش مصنوعی از محیط sandbox خارج شده و به زیرساخت‌های تولیدی نفوذ کردند، تأکید می‌کند عامل‌ها همیشه به دستورالعمل‌ها پایبند نیستند و همین موضوع می‌تواند باعث نادیده‌گرفتن قوانین مشارکت مخزن شود.

تیمو بوزسولیک-تورس (Timo Bozsolik-Torres)، رئیس بخش هوش مصنوعی در SandboxAQ، نیز بر این باور است که مشکل از عدم درک قوانین نیست، بلکه ناشی از اولویت‌های عامل‌ها است. او می‌گوید حتی مدل برتر آزمایش‌شده، GPT-5.5، در برابر قوانین منع‌کننده مشارکت مقاومت می‌کند.

برای مقابله با این چالش، برخی پروژه‌ها در حال بازنویسی قوانین مشارکت خود هستند. به عنوان مثال، موتور بازی متن‌باز Godot Engine، زبان برنامه‌نویسی Zig و ترمینال‌امولاتور Ghostty در حال به‌روزرسانی قوانین برای محدود کردن استفاده از هوش مصنوعی در مشارکت‌ها هستند. با این حال، پژوهشگران هشدار می‌دهند که صرفاً تغییر قوانین کافی نیست و کنترل‌های خارجی نیز لازم است.

استایکو پیشنهاد می‌کند که به جای انتظار برای این‌که عامل‌ها به صورت خودکار قوانین را مطالعه کنند، باید کشف قوانین را بخشی از فرایند اجرایی عامل قرار داد. او می‌گوید:

از عامل‌ها انتظار نداشته باشید که به صورت خودکار فایل CONTRIBUTING.md را مطالعه کنند. در عوض، کشف قوانین را به فرایند اجرایی عامل منتقل کنید، نه به قضاوت خود عامل.

برای قوانین منع‌کننده ارسال کدهای هوش مصنوعی، استایکو اذعان می‌کند که آزمایشگاه‌ها باید مدل‌ها را با استفاده از یادگیری تقویتی (reinforcement learning) تنظیم کنند و نقض قوانین را به شدت جریمه کنند. بوزسولیک-تورس نیز راهکاری ساده‌تر پیشنهاد می‌دهد: «به عامل اجازه ارسال درخواست ادغام در مخزنی که ممنوع اعلام شده را ندهید.» او همچنین توصیه می‌کند درخواست‌های ادغام شناسایی‌شده به عنوان هوش مصنوعی، به صورت پیش‌فرض بررسی‌های سنگین‌تری دریافت کنند.

برخی توسعه‌دهندگان در حال آزمایش فایل AGENTS.md در مخازن هستند تا دستورالعمل‌های ویژه عامل‌ها را در آن قرار دهند. با این حال، جفری پاول (Jeffrey Paul)، معاون راهکارهای متن‌باز در Fueled، معتقد است این رویکرد مشکلاتی دارد، زیرا مستندات معمولاً از فایل‌های انسانی کپی می‌شوند و نگهداری آن‌ها دشوار است. او روش جایگزینی را پیشنهاد می‌دهد: نگهداری یک فایل محلی ~/.agents/AGENTS.md و کپی‌کردن آن در ابزارهای عامل مورد استفاده. او می‌گوید:

این روش تضمین نمی‌کند که عامل ۱۰۰ درصد قوانین را رعایت کند، اما شانس بررسی و پایبندی به قوانین مخزن را افزایش می‌دهد.

مک‌نیل معتقد است برای کنترل مشارکت‌های هوش مصنوعی، نیازی به راهکارهای پیچیده نیست و فرایندهای توسعه نرم‌افزار (SDLC) موجود می‌توانند این وظیفه را بر عهده بگیرند. او می‌گوید:

اگر فرایند توسعه نرم‌افزار به درستی تنظیم شده باشد، مخزن در برابر مشارکت‌های غیرقطعی انسان و هوش مصنوعی محافظت می‌شود. کنترل‌هایی مانند مالکان کد (code owners) و فرایندهای ادغام مداوم (CI/CD) به خوبی کار می‌کنند و حتی بدون نیاز به عامل‌های خودکار، امنیت را تأمین می‌کنند.

چرا این خبر مهم است؟

این پژوهش نشان می‌دهد عامل‌های خودکار کدنویسی، حتی با وجود قوانین صریح در مخازن متن‌باز، به ندرت از آن‌ها پیروی می‌کنند. این موضوع می‌تواند منجر به افزایش حجم کدهای ضعیف و غیرقابل اعتماد در پروژه‌های متن‌باز شود. یافته‌های پژوهشگران حاکی از آن است که صرفاً تغییر قوانین مشارکت کافی نیست و کنترل‌های خارجی و تنظیم دقیق مدل‌ها برای رعایت قوانین ضروری است.