شاپیفای در سال ۲۰۲۰ یک شرط بزرگ برد: نوشتن کد موبایل یک‌بار در ری‌اکت‌نیتیو به جای تکرار هر قابلیت در سوئیفت و کاتلین. این تصمیم در جامعه توسعه‌دهندگان موجی از بحث و تحلیل برانگیخت. اما اکنون، کاوفمن و تیمش اعلام کرده‌اند که به سراغ روش قبلی می‌روند — توسعه بومی (Native) کامل — و بیشترین تکیه را هم بر روی عامل‌های کدنویسی هوش مصنوعی می‌گذارند.

برنامه مصرف‌کننده شاپ (Shop) تنها در ۱۲ هفته از مفهوم اثبات‌شده (PoC) تا انتشار کامل نسخه بومی در محیط تولید رسید. هدف بعدی، برنامه فروشنده (Merchant App) است: یک وحش با ۳۰۰‌پلاس صفحه که به شدت بر یکپارچه‌سازی عمیق با پلتفرم iOS تکیه دارد.

اشتباه نبود، یک برد محاسبه‌شده بود

مصطفی علی، مدیر مهندسی شاپیفای، در مطلبی تأکید کرد که شرکت شرط ۲۰۲۰ را اشتباه نمی‌داند. «ری‌اکت‌نیتیو سال‌ها دقیقاً کاری را انجام داد که ما نیاز داشتیم»، می‌نویسد. تا ژانویه ۲۰۲۵ نیز شرکت به طور عمومی درباره آینده‌اش با این فریم‌ورک صحبت می‌کرد. اما مدل‌های بزرگ زبان (LLM) یکی از فرضیات اصلی آن تصمیم را به چالش کشیدند.

«LLMها یکی از فرضیات اصلی پشت تصمیم ما در ۲۰۲۰ را تغییر دادند.»

— مصطفی علی، مدیر مهندسی شاپیفای

عامل‌ها مقیاس‌ها را برای توسعه چندپلتفرمی تغییر دادند

تا اواسط ۲۰۲۵، عامل‌های کدنویسی به سطحی رسیده‌اند که یک عامل می‌تواند نحوه عملکرد یک قابلیت در iOS را بررسی کند و نسخه اندروید آن را بسازد، یا برعکس. مهندسان هم می‌توانستند روی پلتفرم‌هایی کار کنند که به خوبی نمی‌شناختند، چون عامل بخش اعظم کارهای خاص پلتفرم را مدیریت می‌کرد.

شاپیفای تنها نیست. جارد سامنر، خالق Bun و عضو تیم فنی Anthropic، از ۶۴ نمونه موازی Claude Sonnet 3.5 برای پورت کردن ران‌تایم جاوااسکریپت از Zig به Rust استفاده کرد — تقریباً یک میلیون خط کد در ۱۱ روز، با هزینه تخمینی API ۱۶۵ هزار دلاری. مجموعه تست موجود روی تمام شش پلتفرم پشتیبانی‌شده قبل از ادغام (Merge) با موفقیت عبور کرد. یک سال پیش، این کار یک تیم کوچک را چندین ربع‌سال درگیر می‌کرد؛ امروز یک اسپرینت ۱۱ روزه تحت نظر یک شخص است.

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

اقتصاد بازنویسی در حال تغییر مداوم است

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

سایمون ویلیسون در ماه مه درباره ملاقات با یک مهندس نوشت که شرکتش از عامل‌ها برای ترکیب برنامه‌های قدیمی آیفون و اندروید در یک برنامه واحد ری‌اکت‌نیتیو استفاده کرده بود. ویلیسون پرسید چرا وقتی عامل‌ها نگهداری کدپایه‌های جداگانه را آسان‌تر کرده‌اند، زحمت یکپارچه‌سازی را به خود می‌دهند. مهندس نگران قفل شدن (Vendor Lock-in) نبود: ری‌اکت‌نیتیو کار می‌کرد، و اگر شرایط تغییر کرد، همیشه می‌توانستند به بومی برگردند. شاپیفای اکنون دقیقاً همین مسیر را می‌پیچد، اما با برنامه‌ای بسیار بزرگتر و ریسک‌های بیشتر.

پرامپت‌های صفر-شات (Zero-shot) خروجی زباله تولید کرد

شاپیفای ابتدا کد موجود ری‌اکت‌نیتیو را به یک LLM داد و خواست بازنویسی بومی انجام دهد. نتایج خوب نبودند. علی خروجی را «اسلپ (Slop)» توصیف می‌کند — کد بی‌کیفیت و نامحفظه. اضافه کردن مراحل بیشتر هم مشکل را حل نکرد. حتی وقتی مدل ابتدا مشخصات (Specs) و فایل‌های وظیفه می‌نوشت، همچنان کدهای زیادی تولید می‌شد که مهندسان تمایل به نگهداری از آن‌ها نداشتند.

هلیکس (Helix): مهاجرتی صفحه به صفحه، قطعه به قطعه

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

این رویکرد محتاطانه یادتان می‌آورد که مدیر عامل شاپیفای به طور عمومی به مهندسان هشدار داده بود اگر کد تولید شده توسط عامل را بدون بررسی کافی ارسال کنند، Claude Code را ممنوع می‌کند. هلیکس با فرض اینکه خروجی عامل باید قبل از اعتماد، خود را اثبات کند، عمل می‌کند.

کدپایه‌های ساخته شده برای عامل‌ها، نه انسان‌ها

مهاجرت یک مشکل دیگر را نیز آشکار کرد: عامل‌ها می‌توانند در ثانیه‌ها کد را تغییر دهند، اما تست آن در شبیه‌ساز موبایل می‌تواند دو برابر طول بکشد. شاپیفای با جدا کردن منطق کسب‌وکار از UI و اجازه دادن به عامل‌ها برای تعامل با برنامه از طریق یک CLI در حال اجرا روی دسکتاپ، دور این مشکل زد. برخی چک‌هایی که قبلاً چند دقیقه طول می‌کشید، اکنون در میلی‌ثانیه‌ها انجام می‌شوند.

نکات کلیدی این مهاجرتی تاریخی

  • سرعت بی‌سابقه: بازنویسی کامل برنامه شاپ در ۱۲ هفته، نمایشی از قدرت عامل‌های AI در مقیاس بالا.
  • استراتژی هلیکس: رویکرد تدریجی، صفحه به صفحه و تست محور، ریسک‌های مهاجرتی بزرگ را به حداقل رساند.
  • معماری مخصوص AI: جدا کردن منطق از UI برای تست‌های سریع‌تر، الگوی جدیدی برای کدپایه‌های نسل بعد است.
  • پایان قفل‌شدن: اثبات شده که با ابزارهای heutigen، توسعه بومی دو پلتفرم دیگر مانعی برای سرعت درگ ندارد.

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