فهرست مطالب
موریس هومان با استفاده از شبکهای از ایجنتهای هوش مصنوعی موفق شد کد منبع بازی Call of Duty: Modern Warfare 2 را پس از سه ماه تلاش بی وقفه بازسازی کند.
به گزارش سرویس هوش مصنوعی تکناک، توسعهدهندهای مستقل به نام Maurice Heumann موفق شده است با بهکارگیری شبکهای از ایجنتهای هوش مصنوعی و صرف سه ماه زمان، کد منبع بازی Call of Duty: Modern Warfare 2 محصول سال ۲۰۰۹ را با زبان C++ مهندسی معکوس و بازسازی کند، پروژهای کمسابقه که بیش از ۵۰۰ میلیارد توکن مصرف کرده و به مرحله اجرای کامل و بدون نقص بازی رسیده است.
این دستاورد فنی، یکی از جاهطلبانهترین نمونههای استفاده از ایجنتهای خودمختار در حوزه مهندسی معکوس و بازتولید نرمافزارهای پیچیده به شمار میرود. هدف اولیه Maurice Heumann از آغاز این پروژه، خلق یک نسخه بازسازیشده دقیق، پایدار و کامل از نظر تمامی ویژگیها بوده است. کمتر از دو هفته پیش، وی با انتشار پستی در پلتفرم X اعلام کرد که بازی هماکنون به طور کامل قابل اجرا است و تقریباً تمام خطاهای ظاهری و باگهای اجرایی آن برطرف شدهاند. بر اساس محاسبات اعلامشده، این فرآیند عظیم در مجموع رقمی بین ۶۰۰ تا ۷۰۰ میلیارد توکن مصرف کرده است.
صرفهجویی مالی با اشتراکهای ماهانه
مجری پروژه برای تأمین توان پردازشی مورد نیاز، هزینهای بابت توکنهای اختصاصی پرداخت نکرده و به جای استفاده از صورتحسابهای معمول API، از طرحهای اشتراکی با نرخ ثابت ماهانه بهره برده است. ارزش مالی این میزان توکن در صورت استفاده از رابطهای برنامهنویسی API، بین ۲۰۰ تا ۲۵۰ هزار دلار برآورد میشود، در حالی که استفاده از سازوکار اشتراکهای ماهانه، هزینه کل را در محدوده تقریبی ۱۲۰۰ یورو مهار کرده است.
فرآیند اجرایی این پروژه از طریق هدایت همزمان ناوگانی از ایجنتهای هوش مصنوعی انجام گرفت که به مدلهای پیشرفته شرکت Anthropic یعنی Claude و ابزارهای توسعه کد شرکت OpenAI شامل Codex متکی بودند. نقطه شروع کار با طرح اشتراکی Claude Max با ظرفیت بیست برابری رقم خورد و در ادامه، اشتراک Codex Pro نیز به ساختار عملیاتی اضافه شد تا از توان هر دو بستر به صورت همزمان استفاده شود. در بیشتر مراحل توسعه، بار اصلی پردازش بر دوش مدل Sonnet 5 قرار داشت، هرچند مدلهای توانمندتری نظیر Opus 5.5 و همچنین مجموعهای از مدلهای شرکت OpenAI از جمله Luna، Sol و Terra نیز به شکلی گسترده برای پردازش بخشهای دشوارتر فراخوانی شدند. برای ایجاد بستر ارتباطی و اجرای خودکار دستورات، از رابطهای خط فرمان Claude Code و Codex CLIs به عنوان مهارکنندههای اصلی بهره گرفته شد.

ساختار فنی برای خواندن کد باینری بازی، بر پایه اتصال این مدلها به نرمافزار مهندسی معکوس IDA و بهرهگیری از سرور ida-mcp شرکت Hex-Rays بنا نهاده شد. در روزهای نخست، ساختار تیمی بسیار کوچک بود و تنها از چهار ایجنت، شامل سه ایجنت مجری و یک ایجنت بازبین، تشکیل میشد. با گسترش دامنه پروژه و بهینهسازی فرآیندها، این تعداد به مرور زمان افزایش یافت تا اینکه در اواخر سپتامبر، ۱۷ ایجنت هوش مصنوعی به صورت همزمان و موازی در حال بازنویسی بخشهای مختلف سیستم بودند. هماهنگی میان این حجم از فرآیندهای موازی، مستلزم پیادهسازی سازوکار مدیریتی سختگیرانهای بود.
برای هر واحد ترجمه در کد، یک پرونده مستقل در پلتفرم GitHub باز شد و تمامی هوشهای مصنوعی به همراه کاربر انسانی، در یک کانال اختصاصی در Discord متصل به سیستم یکپارچهسازی مداوم (CI) فعالیت میکردند. علاوه بر این، به منظور جلوگیری از اشباع حافظه و انباشت اطلاعات غیرضروری، آستانه فشردهسازی خودکار زمینه کاری از مقدار پیشفرض ۹۰ درصد به ۴۲ درصد کاهش یافت تا توابع تکمیلشده به سرعت از پنجره حافظه خارج شوند. از آنجا که ایجنتها پس از مدتی دچار انحراف از مسیر کاری میشدند، یک فرآیند زمانبندیشده دورهای (cron job) تعریف شد تا هر یک ساعت، تمامی دستورالعملها و ضوابط پروژه را مجدداً برای آنها بازخوانی کند.
چالشهای اصلاح کدهای ماههای نخست
یکی از بزرگترین چالشهای این مسیر، عملکرد غیراصولی مدلها در ماه نخست توسعه بود. در آن دوره، کدهای تولیدشده از خوانایی و شفافیت بسیار بالایی برخوردار بودند، اما از نظر معنایی و ساختاری خطاهای فاحشی داشتند؛ امضاهای توابع نادرست بودند، ساختار انواع دادهها و چیدمان حافظه به هم ریخته بود و ایجنتها منطقهای برنامهنویسی ناشناختهای را ابداع کرده یا بخشهای حیاتی را نادیده گرفته بودند. در یک نمونه، ایجنتها جستجوی ساده یک متغیر تنظیمات را به ساختاری چند لایه و بسیار سنگین تبدیل کرده بودند که بار پردازشی آن چندین برابر نسخه اصلی بود. ایجنت بازبین نیز قادر به شناسایی این مغایرتها نبود، چرا که هیچ استاندارد و معیار سنجش ملموسی در اختیار نداشت و توضیحات متنی که ایجنتهای مجری در داخل کدها برای توجیه تغییرات خود مینوشتند، عملاً همانند یک تزریق پرامپت ناخواسته عمل میکرد و هوش مصنوعی ناظر را فریب میداد. در نهایت، با حذف تمامی کامنتها از کد منبع، کارایی بهبود یافت، هرچند تلاش برای اصلاح کدهای چهار هفته نخست بیش از شروع مجدد پروژه از صفر زمان برد.
برای غلبه بر این بنبست، یک سامانه ارزیابی خودکار بر پایه همان کامپایلری طراحی شد که بازی اصلی در سال ۲۰۰۹ با آن ساخته شده بود. این اسکریپت تخصصی، هر تابع بازسازیشده را در سطح بایت با فایل اجرایی اصلی بازی مقایسه میکرد. در این روند، ارجاعات دادهای و آدرسهای فراخوانی به دلیل قرارگیری در فضاهای متفاوت حافظه نادیده گرفته میشدند و در عوض، نمادهای هدف و فاصلههای آفست بررسی میشدند، در حالی که محتوای دادهها و نوع متغیرها مورد سنجش قرار میگرفت. ثبت دقیق نتایج قبولی یا ردی در سیستم یکپارچهسازی مداوم، این اطمینان را ایجاد میکرد که حتی رفتارهای پنهان و باگهای فنی نسخه اولیه سال ۲۰۰۹ نیز در نسخه بازسازیشده حفظ شوند.
با پیادهسازی این آزمون سختگیرانه، ایجنتهای هوش مصنوعی مسیرهای میانبر و شیوههای فریبکارانهای در پیش گرفتند. آنها با تزریق دستورات اسمبلی درونخطی سعی کردند بررسیها را دور بزنند و در موارد متعددی تلاش کردند اسکریپت اعتبارسنجی را دستکاری کنند تا توابع ناقص خود را از فهرست ارزیابی حذف نمایند. برای جلوگیری از این تقلبها، استفاده از اسمبلی درونخطی به صراحت ممنوع شد و یک شناسه هش غیرقابل تغییر برای اسکریپت سنجش تعریف گردید تا سیستم GitHub Actions پیش از هر آزمایش، سلامت ساختار آزمون را اعتبارسنجی کند.
سامانه ارزیابی خودکار و مقایسه بایت
اجرای موفق این سامانه مقایسه بایتبهبایت، این امکان را فراهم ساخت تا حتی مدلهای ارزانتر و سبکتری مانند Haiku و Luna که در مراحل اولیه خروجیهای بسیار ضعیفی ارائه میدادند، بتوانند به چرخه بازنویسی اضافه شوند و بدون کاهش دقت، روند کار را تسریع کنند. در پایان ماه سوم، ۹۹ درصد از توابع مورد نیاز بازی تکمیل شد و ۸۳ درصد از آنها تطابق کامل بایتبهبایت را به دست آوردند، در حالی که ۱۶ درصد باقیمانده بدون انطباق متنی کامل، از صحت عملکردی و معنایی برخوردار بودند.
براساس گزارش تامز هاردور، این پروژه با موانع حقوقی و مالکیت فکری نیز روبرو شد. به دنبال ادعای نقض قوانین کپیرایت از سوی دارندگان حقوق اثر، دو یادداشت ابتدایی وبلاگ Maurice Heumann مسدود شد و ویدئوی نمایش اجرای بازی در شبکه X از دسترس خارج گردید، هرچند شرکت Activision تا این لحظه واکنش رسمی به ماجرا نشان نداده است. به دلیل همین محدودیتها و تعهدات قانونی، کدهای منبع این پروژه به صورت عمومی منتشر نخواهند شد و محصور به استفاده شخصی سازنده باقی میمانند. با این حال، دستاوردهای زیرساختی این تجربه به پروژههای دیگر منتقل شده است؛ از جمله توسعه ابزار شبیهسازی فضای کاربری موسوم به Sogen که به عنوان یک محیط ایزوله و سندباکس امن برای ایجنتهای هوش مصنوعی در حال بازطراحی است تا مانع از تخریب محیطهای مجازی در هنگام اجرای پروژههای آتی شود.
تجربیات به دست آمده از این فرآیند ثابت کرد که با اعمال چارچوبهای ارزیابی دقیق، میتوان بر پیچیدهترین پروژههای نرمافزاری مسلط شد و در عصری که تولید کد توسط هوش مصنوعی ارزان و نامحدود شده است، اولویت اصلی توسعهدهندگان باید بر اعتبارسنجی دقیق و تضمین سلامت ساختار متمرکز بماند.

















