OpenAI Codex یک بازی کامل DOS به سبک Asteroids با معماری 16-bit x86 Assembly نوشت که شامل ۱۸ فایل منبع و تقریباً ۲۵۰۰ خط کد بود، بدون اینکه حتی یک خط کد اسمبلی توسط انسان نوشته شده باشد. این آزمایش نشان می‌دهد که یک هوش مصنوعی می‌تواند یک چرخه کامل نرم‌افزاری — از برنامه‌ریزی تا عیب‌یابی — را بدون مداخله مستقیم برنامه‌نویس هدایت کند؛ گامی فراتر از نمایش‌های معمول «تکمیل کد» (code-completion).

چرا این آزمایش اهمیت داشت

اکثر نمایش‌های عمومی کدنویسی با هوش مصنوعی به قطعه‌کدهای کوچک یا ابزارهای ساده ختم می‌شوند. برای بررسی حد نهایی توانایی‌ها، این آزمایش Codex را مجبور کرد تا در محدودترین محیط ممکن قرار گیرد: اسمبلی x86 ۱۶ بیتی در محیط DOS، بدون هیچ موتور بازی، کتابخانه گرافیکی یا راحتیِ زبان‌های سطح بالا. هدف این بود که ببینیم آیا یک هوش مصنوعی می‌تواند نه تنها کد تولید کند، بلکه وظایف مهندسی پیرامون آن را نیز مدیریت کند یا خیر.

نحوه تقسیم نقش‌ها

مسئولیت‌های انسان به سه اقدام محدود بود:

  • تعریف هدف کلی پروژه (یک بازی تیراندازی به سبک Asteroids).
  • پاسخ به هرگونه سوال مربوط به گیم‌پلی که مطرح می‌شد.
  • تست بازی در هر نسخه و گزارش باگ‌های مشاهده شده.

مسئولیت‌های Codex شامل همه موارد دیگر بود:

  • تدوین طرح پروژه و معماری آن.
  • نوشتن فایل‌های منبع اسمبلی.
  • عیب‌یابی (Debug)، بازسازی (Refactor) و بازسازی ساختار کد.
  • مدیریت مخزن Git، شامل کامیت‌ها و مدیریت شاخه‌ها (branches).
  • ساخت فایل باینری و اجرای آن در یک شبیه‌ساز DOS.

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

گردش کار تکرارشونده

هر چرخه با پیشنهاد یک نقطه عطف (Milestone) از سوی Codex آغاز می‌شد (مثلاً «پیاده‌سازی حرکت سفینه بازیکن»). سپس فایل‌های منبع مربوطه را تولید، آن‌ها را کامیت، فایل اجرایی را ساخته و نسخه قابل اجرا را به تستر تحویل می‌داد. Codex علائم باگ را تحلیل، آن را در بدنه کد ردیابی و بدون راهنمایی بیشتر انسان، یک وصله (Patch) صادر می‌کرد.

محصول نهایی شامل چه مواردی است

  • ۱۸ فایل منبع اسمبلی، سازمان‌دهی شده در یک ساختار مخزن استاندارد.
  • حدود ۲۵۰۰ خط اسمبلی، شامل مدیریت ورودی، رسم اسپرایت، تشخیص برخورد و سیستم امتیاز بالا (high-score).
  • یک فایل اجرایی DOS قابل بازی که در یک محیط استاندارد DOS اجرا می‌شود و گیم‌پلی کلاسیک Asteroids را شبیه‌سازی می‌کند.
  • صفر خط اسمبلی نوشته شده توسط انسان، که تأیید می‌کند هوش مصنوعی تمام وظایف برنامه‌نویسی سطح پایین را انجام داده است.

مخاطرات و پیامدها

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

این آزمایش همچنین محدودیت‌ها را برجسته می‌کند. محیط آزمایش عمداً محدود بود: یک بازی DOS تک‌نفره با مکانیک‌های کاملاً شناخته شده. مقیاس‌پذیری این رویکرد برای سیستم‌های بزرگ و چندماژوله با وابستگی‌های خارجی، محدودیت‌های امنیتی یا مسیرهای کد حیاتی از نظر عملکرد (performance-critical)، هنوز اثبات نشده است. علاوه بر این، تستر انسانی همچنان به عنوان دروازه نهایی کیفیت عمل می‌کرد؛ یک خطای منطقی شناسایی نشده می‌توانست بدون آن نظارت از سیستم عبور کند.

استدلال‌های مخالف و پرسش‌های بی‌پاسخ

  • قابلیت اطمینان (Reliability): برنامه‌نویسی اسمبلی بی‌رحم است؛ یک خطای ساده‌ی off-by-one می‌تواند کل برنامه را از کار بیندازد. Codex باگ‌هایی را که می‌دید اصلاح می‌کرد، اما ممکن است مسائل ظریف زمان‌بندی (timing issues) را که فقط در تست‌های فشار (stress testing) ظاهر می‌شوند، نادیده بگیرد.
  • قابلیت نگهداری (Maintainability): کدی که بدون دستورالعمل‌های سبک انسانی تولید شده باشد، ممکن است برای توسعه‌دهندگان آینده سخت‌تر خوانده شود یا توسعه یابد، به خصوص اگر قراردادهای نام‌گذاری هوش مصنوعی با استانداردهای تیم متفاوت باشد.
  • مالکیت معنوی (Intellectual property): وقتی هوش مصنوعی کد را می‌نویسد، مالک آن کیست؟ چارچوب‌های فعلی مجوزدهی، نویسندگی انسانی را فرض می‌گیرند و این موضوع یک منطقه خاکستری برای آثار تولید شده توسط هوش مصنوعی باقی می‌گذارد.

آنچه باید در آینده زیر نظر داشت

  • بنچمارک‌های گسترده‌تر: اعمال همین گردش کار خودکار برای اپلیکیشن‌های تحت شبکه، اپلیکیشن‌های موبایل یا پروژه‌های مدرن C/C++، این موضوع را آزمایش خواهد کرد که آیا این رویکرد فراتر از بازی‌های سبک رترو مقیاس‌پذیر است یا خیر.
  • یکپارچه‌سازی ابزارها: گنجاندن Codex در خط لوله‌های CI/CD می‌تواند نه تنها تولید کد، بلکه تست، اسکن امنیتی و استقرار (deployment) را نیز خودکار کند.
  • تکامل سیاست‌ها: با گسترش کدهای تولید شده توسط هوش مصنوعی، سیاست‌های حقوقی و شرکتی باید به موضوع مالکیت، مسئولیت و انطباق (compliance) بپردازند.

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