وایب کدینگ (Vibe Coding) ابزار ساخت سریع محصول است، نه معجزه. در لندینگ و MVP با منطق متوسط واقعاً جواب می‌دهد؛ اما در محصولی که مقیاس، امنیت یا تراکنش مالی دارد، بدهی فنی کد تولیدش‌شده طبق الگویی که در پروژه‌های واقعی تکرار می‌شود، ظرف دو ماه از کل هزینه‌ی ساخت اولیه بیشتر می‌شود. مسئله‌ی اصلی اینجاست: مرز بین «هنوز کار می‌کند» و «باید تیم فنی بیاوری» مبهم است و بیشتر کارآفرینان دیر متوقف می‌شوند.

وایب کدینگ دقیقاً چیست و چه فرقی با نود-کد دارد؟#

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

اصطلاح وایب کدینگ در فوریه 2025 توسط اندجی کارپاتی (Andrej Karpathy) در پستی در X ابداع شد. او آن را «حالتی از برنامه‌نویسی» توصیف کرد که در آن کد را نمی‌خوانی و فقط با زبان طبیعی راهنمایی می‌کنی. نکته‌ای که در تعریف کارپاتی کم‌اهمیت به‌نظر می‌رسد ولی در عمل حیاتی است: او نگفت «بدون کدنویسی»، گفت «بدون خواندن کد». این دو، زمین تا آسمان فرق دارند.

چرا این تفاوت برای کارآفرین حیاتی است؟#

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

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

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

مقایسه‌ی سه‌گانه: وایب کدینگ، نود-کد، لوکد-کد#

معیاروایب کدینگنود-کدلوکد-کد
خروجیکد واقعی قابل استخراجقالب داخل پلتفرمترکیب کد و قالب
راه‌فرار (Exit Path)کاملتقریباً صفرمحدود
نیاز به دانش فنیکم ولی نه صفرصفرمتوسط
مقیاس‌پذیریتا سطح MVPمحدود به پلتفرمبهتر از نود-کد

سه سطحی که وایب کدینگ در سطح سوم شکست می‌خورد#

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

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

سطح دوم: MVP با چند فیچر، منطق شرطی متوسط، اتصال به API ساده. وایب کدینگ کار می‌کند ولی نیاز به تکرار پرامپت و اصلاح دستی دارد.

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

چگونه بفهمی در کدام سطح هستی؟#

سؤال کلیدی این است: آیا محصولت نیاز به «تصمیم‌گیری شرطی» دارد؟ اگر فقط نمایش می‌دهی، سطح اول است. اگر چند شرط و یک API ساده دارد، سطح دوم. اگر تراکنش مالی، احراز هویت چندلایه، یا منطق چندمسیره دارد، سطح سوم.

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

پروژه‌ی نمونه: ساخت اپ رزرو نوبت از صفر تا نقطه‌ی توقف#

فرض کن می‌خواهی اپ رزرو نوبت برای یک کلینیک بسازی. پرامپت اول: «یک اپ رزرو نوبت بساز با React و Supabase.» خروجی اولیه: یک صفحه‌ی ساده با فرم تاریخ و ساعت. قابل قبول.

پرامپت دوم: «سیستم رزرو را طوری بساز که اگر نوبت پر بود، کاربر را به نزدیک‌ترین وقت خالی پیشنهاد بدهد.» اینجا AI منطق شرطی اضافه می‌کند. پرامپت سوم و چهارم: اتصال به Supabase برای ذخیره‌ی رزروها، نمایش تقویم پزشک.

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

برای شروع وایب کدینگ چه چیزی لازم دارم؟#

پیش‌نیاز اصلی وایب کدینگ مهارت فنی نیست، بلکه توانایی توصیف دقیق نیاز و تفکر محصولی است. کاربر غیرفنی معمولاً «توانایی توصیف دقیق» را با «مهارت فنی» اشتباه می‌گیرد و همین اشتباه، پرامپت‌هایش را بی‌اثر می‌کند.

تفکر محصولی یعنی توانایی تفکیک نیاز به فیچر (Feature) از نیاز به رفع ایراد (Fix). این حیاتی‌ترین مهارت غیرفنی است. اگر ندانی چه چیزی «باید ساخته شود» و چه چیزی «باید درست شود»، پرامپت‌هایت گیج‌کننده می‌شوند.

اشتباه رایج: «توصیف دقیق» را با «مهارت فنی» اشتباه نگیر#

مهارت فنی یعنی بتوانی کد بنویسی. توصیف دقیق یعنی بتوانی بگویی «وقتی کاربر دکمه ثبت را زد، اگر ایمیلش قبلاً ثبت شده بود، پیام خطا نشان بده و اگر نبود، اکانت بساز و ایمیل تأیید بفرست». دومی مهارت فنی نمی‌خواهد، ولی دقت زبانی می‌خواهد.

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

چک‌لیست پیش‌نیاز قبل از شروع#

  1. می‌دانی frontend و backend چه فرقی دارند و API چیست
  2. می‌توانی نیازت را به‌صورت «شرط ← عمل» بنویسی
  3. صبر برای تکرار پرامپت را داری (تجربه‌ی پروژه‌های واقعی نشان می‌دهد 3 تا 7 بار اصلاح لازم است)
  4. می‌دانی دیتابیس چه کار می‌کند و ساختار داده‌ات را از قبل طراحی کرده‌ای
  5. ابزار مناسب را برای سطح پروژه‌ات انتخاب کرده‌ای

جریان کار واقعی: از پرامپت اول تا محصول قابل‌استفاده#

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

ساختار شفاف یک محصول دیجیتال با ترک‌های داخلی که مهندسان برای تثبیت آن در حال نزدیک شدن‌اند
نقطه‌ای که محصول از مرحله‌ی «کار می‌کند» به «قابل نگهداری نیست» تغییر فاز می‌دهد

گام اول: توصیف کلی محصول به AI. خروجی تقریباً همیشه ناقص است و این طبیعی است.

گام دوم: اصلاح پرامپت با افزودن جزئیات — تکنولوژی‌استک، ساختار داده، رفتار خاص.

گام سوم: تست خروجی در مرورگر و شناسایی باگ‌ها.

گام چهارم: اصلاح هدفمند. نه «دوباره بساز»، بلکه «این بخش خاص را تغییر بده چون...»

گام پنجم: اتصال به سرویس‌های خارجی مثل احراز هویت، پرداخت، دیتابیس.

گام ششم: انتشار و مانیتورینگ اولیه.

پرامپت‌نویسی برای غیرفنی‌ها: ساختار یک پرامپت مؤثر#

سه عنصر را در پرامپت بیاور: تکنولوژی‌استک مشخص (مثلاً React + Supabase)، ساختار داده‌ها (فیلدها و روابط)، و رفتار خاص (چه اتفاقی در چه شرایطی بیفتد). پرامپت کلی مثل «یک اپ رزرو بساز» همیشه خروجی ناقص می‌دهد.

اشتباه رایج در پرامپت: توصیف «چه می‌خواهم» به‌جای «چطور کار کند»#

«می‌خواهم کاربر بتواند رزرو کند» پرامپت ضعیف است. «وقتی کاربر روی نوبت کلیک کرد، اگر نوبت آزاد بود وضعیتش به «رزروشده» تغییر کند و ایمیل تأیید ارسال شود» پرامپت قوی است. دومی رفتار را توصیف می‌کند، نه آرزو را.

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

هزینه و زمان ساخت MVP با وایب کدینگ چقدر است؟#

ساخت MVP با وایب کدینگ در پروژه‌های واقعی معمولاً بین 2 تا 6 هفته زمان می‌برد و هزینه‌ی ماهانه ابزارها از رایگان تا چند ده دلار متغیر است؛ اما هزینه‌ی واقعی زمانی است که بدهی فنی سر برسد و مجبور شوی با برنامه‌نویس کار کنی.

ادعای «ساخت اپ در 5 دقیقه» فقط برای لندینگ صادق است. برای MVP با منطق واقعی، زمان واقع‌بینانه چند هفته است.

ابزار رایگان شروع کن یا اشتراک بخر؟#

اگر فقط می‌خواهی یک لندینگ بسازی، ابزار رایگان کافی است. اگر در سطح دوم هستی و می‌خواهی کنترل بیشتری داشته باشی، اشتراک IDE واقعی مثل Cursor منطقی‌تر است.

مقایسه‌ی ابزارها#

ابزارنوعمناسب برایمزیت اصلی
CursorIDE با AIسطح اول و دومدر لحظه‌ی خطا اجازه‌ی اصلاح یک خط کد می‌دهد
Bolt.newبصریسطح اولخروجی فوری بدون نیاز به تنظیمات
Lovableبصریسطح اولرابط کاربری تمیز و سریع
v0 by Vercelبصریسطح اولکامپوننت‌های React آماده
ReplitIDE با AIسطح اول و دوماجرای مستقیم در مرورگر
WindsurfIDE با AIسطح دومدرک بهتر از context پروژه

نکته‌ی عملی: ابزارهایی مثل Cursor که IDE واقعی هستند، برای وایب کدینگ بهتر از ابزارهای بصری مثل Bolt.new‌اند. دلیلش ساده است: در لحظه‌ای که AI اشتباه می‌کند، اجازه‌ی اصلاح یک خط کد را می‌دهند. ابزارهای بصری این امکان را ندارند و مجبوری کل خروجی را دوباره بسازی.

بدهی فنی: هزینه‌ی پنهانی که بعد از دو ماه سر می‌رسد#

بدهی فنی (Technical Debt) محصول وایب‌کدینگ‌شده به‌قدری است که پس از 2 تا 3 ماه، هزینه‌ی بازنگری توسط یک برنامه‌نویس از هزینه‌ی ساخت اولیه بیشتر می‌شود. این عدد نه تئوری است نه اغراق — الگویی است که در پروژه‌های واقعی تکرار می‌شود.

چرا؟ چون AI کد را «کار می‌کند» می‌نویسد، نه «قابل‌نگهداری». تکرار کد، ساختار نامنظم، نبود مستند، و وابستگی‌های شکسته نشانه‌های بدهی فنی‌اند.

چگونه بدهی فنی را زودتر تشخیص دهی؟#

نشانه‌ی عملی: وقتی می‌خواهی یک فیچر جدید اضافه کنی و AI می‌گوید «این تغییر با کد فعلی سازگار نیست» یا «باید بخش‌های زیادی را دوباره بنویسم»، بدهی فنی انباشته شده است.

نشانه‌ی دوم که کمتر کسی به آن توجه می‌کند: اگر برای پیدا کردن یک باگ ساده باید بیش از 5 فایل را باز کنی و درک کنی، ساختار پروژه دیگر قابل‌نگهداری نیست.

چه زمانی بازنگری از صفر بهتر از اصلاح تدریجی است؟#

الگوی تکرارشونده از پروژه‌های واقعی: کاربر پس از 2 ماه می‌خواهد فیچر جدید اضافه کند و متوجه می‌شود کد فعلی قابل توسعه نیست. در این نقطه، اگر برنامه‌نویس بخواهد اصلاح تدریجی کند، هزینه‌اش از نوشتن از صفر بیشتر می‌شود. قانون عملی: اگر بیش از نصف فایل‌ها باید تغییر کنند، از صفر بنویس.

کجا باید تیم فنی بیاورم؟#

وقتی محصول به سطح سوم می‌رسد — یعنی نیاز به مقیاس، امنیت یا منطق کسب‌وکاری پیچیده دارد — وایب کدینگ سقفش را نشان می‌دهد و باید تیم فنی وارد شود. سؤال این نیست که «آیا تیم فنی لازم است»، سؤال این است که «کِی لازم است».

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

مسئله‌ی امنیت و مالکیت داده در ابزارهای ابری مثل Bolt.new جدی است. داده‌ی تو روی سرور آن‌هاست و اگر سرویس تغییر سیاست بدهد، محصولت در خطر است.

چگونه محصول وایب‌کدینگ‌شده را به تیم فنی بسپاری؟#

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

اشتباه رایج: ادامه‌ی وایب کدینگ در سطح سوم به‌جای توقف#

بزرگ‌ترین اشتباه این است که کاربر به‌جای توقف، پرامپت‌های طولانی‌تر و پیچیده‌تر بنویسد. هرچه پرامپت پیچیده‌تر شود، خروجی AI غیرقابل‌پیش‌بینی‌تر می‌شود. در سطح سوم، پرامپت‌نویسی جایگزین مهندسی نرم‌افزار نیست.

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

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

اگر می‌خواهی این مسیر را از پرامپت اول تا نقطه‌ی توقف با ساختار مشخص طی کنی، دوره‌ی «آموزش جامع Claude و ابزارهای مشابه» در کامیونیتی اسکول دقیقاً همین جریان کار را پوشش می‌دهد — از توصیف نیاز تا ساخت MVP با وایب کدینگ و ایجنت‌ها.