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

این دقیقاً همان جادویی است که در دنیای توسعه محصول با هوش مصنوعی یا همان «وایب کدینگ» (Vibe Coding) اتفاق می‌افتد.

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

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

تله‌ی کدهای یکپارچه و حافظه موقت هوش مصنوعی

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

وقتی تعداد خطوط کد از مرز مشخصی (مثلاً ۲۰۰۰ خط) عبور کند، هوش مصنوعی شروع به جا انداختن بخش‌هایی از کد می‌کند. به شما می‌گوید: «بقیه کدها مثل قبل است، خودت جایگذاری کن!» یا بدتر از آن، در درک ارتباط بین بخش‌های مختلف گیج می‌شود.

راهکار حرفه‌ای این است که از همان ابتدا معماری پروژه را درست بچینیم:

  • تفکیک فایل‌ها: بخش‌های مختلف را از هم جدا کنیم. مثلاً کدهای اصلی افزونه (Core) در یک فایل و کدهای مربوط به پنل مدیریت (Admin) در فایلی دیگر قرار بگیرند.
  • مدیریت خستگی هوش مصنوعی: هوش مصنوعی هم مثل انسان بعد از یک مکالمه طولانی «خسته» می‌شود و حافظه‌اش (Context Window) یاری نمی‌کند. گاهی بهترین کار این است که آخرین نسخه کدهای سالم را برداریم، یک چت جدید باز کنیم و با یک ذهنِ خالی و تازه، توسعه را ادامه دهیم.

ترس از کند شدن سایت؛ افسانه یا واقعیت؟

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

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

باگ‌ها پایان راه نیستند، نقطه شروع یادگیری‌اند

در مسیر توسعه یک محصول واقعی، قطعا با خطاهای عجیبی مواجه می‌شوید. مثلاً ممکن است بعد از اضافه کردن یک دکمه جدید، متوجه شوید که با هر کلیک، صفحه یک پرش کوتاه (Jump) دارد، یا فیلترهای نمایش ناپدید شده‌اند.

در وایب کدینگ، شما نباید از ارورها بترسید. وقتی افزونه‌ای را نصب می‌کنید و با خطای «سفید شدن صفحه» یا عمل نکردن یک دکمه مواجه می‌شوید، کافی است رفتار سیستم یا متن خطا را به ساده‌ترین شکل ممکن برای هوش مصنوعی توصیف کنید: “وقتی روی دکمه ذخیره کلیک می‌کنم، صفحه یک بار پرش دارد و انگار رفرش می‌شود”. دستیار شما به سرعت مشکل را ریشه‌یابی کرده (مثلاً جلوگیری نکردن از رفتار پیش‌فرض فرم‌ها در جاوا اسکریپت) و کد اصلاح‌شده را تحویل می‌دهد.

نگاهی به آینده: وقتی محصول ما واقعاً «هوشمند» می‌شود

ساخت یک ابزار کاربردی پایان ماجرا نیست؛ تازه شروع یک مسیر هیجان‌انگیز است. وقتی ساختار اصلی ابزارتان (مثل افزونه یادداشت‌برداری) شکل گرفت، می‌توانید با اتصال آن به API مدل‌های زبانی قدرتمند مثل جمنای (Gemini)، قابلیت‌هایی را خلق کنید که تا دیروز فقط در فیلم‌های علمی‌تخیلی می‌دیدیم.

تصور کنید به جای تایپ کردن، کاربر بتواند یادداشت صوتی بگذارد و سیستم آن را به متن تبدیل کند. یا وقتی متنی نامرتب نوشته شده، با یک کلیک آن را ویراستاری و مرتب کند. حتی می‌توان پا را فراتر گذاشت:

  • سیستم به صورت خودکار زیر هر یادداشت، برچسب‌های (Tags) مرتبط پیشنهاد دهد.
  • مفاهیم پیچیده‌ای که کاربر متوجه نشده را در قالب یک پاراگراف ساده برایش توضیح دهد.
  • در پایان یک دوره آموزشی، بر اساس تمام یادداشت‌هایی که کاربر برداشته، یک آزمون چهارگزینه‌ای اختصاصی طراحی کند!

البته برای پیاده‌سازی این ایده‌ها در شرایطی که با محدودیت‌های دسترسی (مثل تحریم‌های IP) مواجهیم، باید از راه‌حل‌های زیرساختی هوشمندانه‌ای مثل استفاده از Cloudflare Workers به عنوان یک پل ارتباطی امن و سریع بهره برد تا درخواست‌ها بدون مشکل به سرورهای هوش مصنوعی برسند و برگردند.

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