کدنویسی ویبی: عصر جدید برنامه‌نویسی با هوش مصنوعی و انتقال حس!

Fall Back

خب رفقا، امروز می‌خوام براتون درباره‌ی یه مفهوم تازه حرف بزنم که اومده حسابی ورق رو برا برنامه‌نویسی برگردونه: «کدنویسی ویبی» یا همون Vibe Coding! این داستان هنوز خیلی جدیده و توی دنیای هوش مصنوعی داره حسابی سر و صدا می‌کنه.

تا همین چند وقت پیش، اگه می‌خواستی یه برنامه بسازی، باید همه‌چی رو خودت خط به خط با زبون برنامه‌نویسی می‌نوشتی. اما الان با پیشرفت‌هایی که توی مدل‌های زبانی بزرگ یا همون Large Language Models (مثلاً همونا که ChatGPT رو ساختن) اتفاق افتاده، قضیه فرق کرده. الان کافیه با هوش مصنوعی حرف بزنی، خواسته‌هات رو توضیح بدی و اون خودش برات کد رو می‌سازه! خیلی خفن شده مگه نه؟

حالا کدنویسی ویبی چی می‌گه؟ توی این سبک جدید، به جای اینکه فقط بگی برنامه چی کار کنه، حتی می‌تونی به هوش مصنوعی بگی دوست داری حس و حال برنامه چه‌جوری باشه! مثلاً برنامه‌ی من باید فان باشه، یا حرفه‌ای و جدی به نظر بیاد یا حتی کاربر رو هیجان‌زده کنه. منظور از “vibe” یعنی همین حال و هوا یا لحن و سبک کلی چیزی که می‌سازی.

توی این مقاله، اومدن دقیق تعریف کردن کدنویسی ویبی اصلاً یعنی چی و چطوری کار می‌کنه. معماری پیشنهادی‌اشون هم جالبه: ۴ تا بخش اصلی داره.

۱. Intent Parser: این یعنی یه ماژین که متوجه میشه دقیقاً چی می‌خوای. (intent تو برنامه‌نویسی یعنی “هدف یا منظوری که برنامه‌نویس تو ذهنش داره”)
۲. Semantic Embedding Engine: این همون موتوری‌ـه که حرف‌هات رو، حتی اگه خیلی مبهم و احساسی باشه، می‌تونه به معنای دقیق کامپیوتری تبدیل کنه.
۳. Agentic Code Generator: یعنی یه عامل هوشمند که خودش بر اساس اون داده‌ها برات کد می‌زنه و پیشنهاد میده.
۴. Interactive Feedback Loop: اینم چرخه‌ی بازخوردیه؛ یعنی می‌تونی نتیجه رو ببینی و یه سری چیزارو عوض کنی تا به چیزی که دوست داری برسی.

برای اینکه همه‌چی روشن‌تر شه، تو مقاله حتی یه مثال فرضی هم آورده. یعنی دقیق نشون داده که اگه یکی دوست داشته باشه همچین برنامه‌ای بسازه، باید چیکار کنه و مراحل چیه.

بعد، نویسنده‌ها اومدن vibe coding رو با شیوه‌های دیگه‌ی برنامه‌نویسی مقایسه کردن. مثلاً:

  • Declarative Programming (برنامه‌نویسی اعلامی: جایی که فقط میگی “چی” می‌خوای، نه “چطور”)
  • Functional Programming (برنامه‌نویسی تابعی: سبکی که توش همه‌چی با توابع و بدون حالت انجام میشه)
  • Prompt-based Programming (همین کاری که با ChatGPT انجام می‌دیم)

هر کدوم یه خوبی و بدی‌هایی دارن. ولی vibe coding یه تفاوت مهم داره؛ اینجا می‌تونی نیت و حس خودتو مستقیم به هوش مصنوعی منتقل کنی.

حالا جذابیت‌ها و چالش‌هاش چیه؟

  • بعضیا گفتن بهره‌وری کلی تیم‌ها تو این روش خیلی میره بالا و باعث میشه آدمایی که برنامه‌نویسی بلد نیستن هم بتونن راحت‌تر وارد این حوزه شن (همون democratizing effect یعنی در دسترس شدن یه چیز تخصصی برای همه).
  • اما مشکلاتی هم داره: مثلاً
  • Alignment: یعنی مطمئن شی هوش مصنوعی دقیقاً چیزی که می‌خوای رو فهمیده و اجرا کرده.
  • Reproducibility: اینکه بعداً بشه دوباره همون برنامه رو با همون مشخصات ساخت.
  • Bias: هوش مصنوعی ممکنه جهت‌گیری یا تبعیضی تو کد بندازه.
  • Explainability: اینکه بشه توضیح داد این کد چرا و چطور تولید شده.
  • Maintainability: نگهداری و بروزرسانی راحت کد.
  • Security: بحث امنیت همیشه مهمه، مخصوصاً وقتی هوش مصنوعی خودش کد درست می‌کنه!

یه نکته دیگه اینکه، مطالعات تازه نشون دادن بعضی جاها همین vibe coding ممکنه مشکلات یا ضعف‌هایی داشته باشه، اما کلی مزیت هم هست.

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

خلاصه که کدنویسی ویبی راه جدیدیه واسه انتقال حس و نیتت به برنامه‌ها و قراره دنیای ساخت نرم‌افزار رو حسابی دگرگون کنه؛ حالا باید دید آینده چی میشه و چجوری این چالش‌ها رو حل می‌کنن!

منبع: +