کلون Photoshop با هوش مصنوعی و پایان خندق نرمافزاری
خلاصهٔ کاملتر
این مقاله از یه آزمایش جالب شروع میکنه. یه نفر یه agent هوش مصنوعی رو روی یه نسخهٔ نصبشدهٔ Photoshop گذاشته تا روی همهٔ ابزارها و پنلها کلیک کنه، ببینه هر کدوم چی کار میکنه و همون رفتار رو از صفر بسازه. نتیجه یه کلون متنباز به اسم PhotoCraft شده. هیچکس کد Adobe رو نخونده و AI فقط با دیدن رفتار برنامه بهش رسیده.
نویسنده توضیح میده این کار روی همون منطق دیکامپایل سواره، یعنی برگشتن از کد ماشین به یه منطق قابل خوندن. قبلاً این کار سالها حدس و آزمون دستی میخواست. حالا AI یه حلقهٔ خودکار میسازه: کد پیشنهاد میده، چک میکنه رفتارش درسته یا نه، و تا وقتی جور نشه ادامه میده. چون نتیجه همیشه قابل بررسیه، این کار با agentها خیلی خوب جور درمیاد. سرعت هم از اجرای موازی چند agent میاد.
کلونها خط به خط عین کد اصلی نیستن. کامپایلر کامنتها و اسم متغیرها رو حذف میکنه و منطق رو ساده میکنه، مثلاً return 2 + 3 رو به return 5 تبدیل میکنه. پس کد بازسازیشده میتونه کاملاً فرق داشته باشه ولی برای کاربر همون حس رو بده. به گفتهٔ نویسنده، اینها به معنی سنتی کد دزدیشده نیستن، بلکه بازسازی مستقلان.
ابزاری به اسم Reverse Engineer Anything یا REA تو GitHub وایرال شده. REA agentهای کدنویسی رو به ابزارهای مهندسی معکوس قدیمی مثل Ghidra (انتشار NSA حدود ۲۰۱۹)، Hopper (از ۲۰۱۱) و IDA (از دههٔ ۹۰) وصل میکنه. باهاش مثلاً اپ ریموت Apple TV کمتر از یه ساعت بازسازی شده. ولی یه مقایسه نشون داده یه agent معمولی بدون REA هم کلون تقریباً مشابهی از یه اپ ساده Mac ساخته. نسخهٔ REA یه کم دقیقتر بوده ولی خیلی بیشتر طول کشیده. یعنی کار اصلی رو خود agent انجام میده.
نویسنده معتقده بخشی از خندق نرمافزاری (یعنی مزیتی که رقیب نمیتونه راحت کپیش کنه) که میگفت «کسی نمیتونه اینو بسازه» داره از بین میره. چیزهایی که با دیدن یه اپ کپی نمیشن: دادهٔ مشتریها، اعتماد سازمانی و سابقهٔ compliance، پشتیبانی، integrationها، برند و نقشهٔ راه آینده. البته محدودیتها هم واقعیان. فروش کلون یه اپ تجاری هنوز ریسک حقوقی داره و بیشتر دموهای وایرال روی اپهای کوچیک بودن، نه نرمافزارهای بزرگ سازمانی.
نکات کلیدی:
- PhotoCraft یه کلون متنباز از Photoshopه که فقط با مشاهدهٔ رفتار برنامه ساخته شده.
- REA agentها رو به Ghidra، Hopper و IDA وصل میکنه.
- تو یه مقایسه، agent معمولی بدون REA هم کلون مشابهی ساخت و REA فقط دقت بیشتر ولی سرعت کمتر داشت.
- کد کلونشده رفتار یکسانی داره ولی کامنت و اسم متغیرهای اصلی رو نداره.
- ارزش داره از خود نرمافزار به سمت داده، اعتماد، پشتیبانی و integration میره.




