وایب کدینگ (Vibe Coding) یک مفهوم جدید در برنامهنویسی است که در سال ۲۰۲۵ معرفی شد. این روش مبتنی بر مدلهای زبانی بزرگ (LLM) است و به برنامهنویسان امکان میدهد با توصیف مسئله به زبان طبیعی، کد عملیاتی تولید کنند، بدون اینکه نیاز باشد آن را دستی بنویسند.
آندری کارپاتی که این مفهوم را معرفی کرد، آن را روشی مکالمه محور توصیف کرد که در آن از دستورات صوتی برای هدایت هوش مصنوعی در تولید کد استفاده میشود. او در این باره گفت:
"این در واقع برنامهنویسی نیست – من فقط چیزها را میبینم، توصیف میکنم، اجرا میکنم و کپی-پیست میکنم، و معمولاً کار میکند."
با این حال، Vibe Coding از نظر کارپاتی محدودیتهایی دارد؛ ابزارهای هوش مصنوعی همیشه قادر به درک یا رفع باگها نیستند، بنابراین او گاهی مجبور میشود تغییرات تصادفی اعمال کند تا مشکل حل شود. او در نهایت این روش را برای پروژههای تفریحی و آزمایشی مناسب دانست و آن را "بسیار سرگرمکننده" توصیف کرد.
وایب کدینگ، ادامهدهنده دیدگاه کارپاتی در سال ۲۰۲۳ است که گفته بود:
"داغترین زبان برنامهنویسی جدید، زبان انگلیسی است."
او قبلا اشاره کرده بود که پیشرفت مدلهای هوش مصنوعی به جایی رسیده که دیگر نیازی به یادگیری زبانهای برنامهنویسی برای کنترل کامپیوترها وجود ندارد.
یکی از ویژگیهای کلیدی Vibe Coding این است که کاربر کدی را که از مدل زبانی دریافت میکند، لزوماً بهطور کامل درک نمیکند. به گفته سایمون ویلیسون، محقق هوش مصنوعی:
"اگر یک مدل زبانی تمام کد شما را بنویسد، اما شما آن را بررسی، آزمایش و درک کنید، این دیگر Vibe Coding نیست – بلکه استفاده از هوش مصنوعی به عنوان یک دستیار تایپ است."
هرچند به نظر من استفاده از هوش مصنوعی به عنوان دستیار کدنویسی مناسبتر است، اما روش Vibe Coding نیز میتواند در موارد خاص کاربردی باشد. همانطور که در ویدیوی آموزشی از Fireship اشاره شده، با رعایت سه اصل کلیدی میتوان به بهرهوری مطلوب با حداقل چالشهای فنی دست یافت:
- استفاده از مجموعهای از ابزارها و فناوریهای شناختهشده و ساده (Tech Stack) ضروری است، چون مدل زبانی باید اطلاعات کافی برای تولید کد را داشته باشد و نمیتوان خارج از محدوده دانش آن انتظار نتیجه مطلوب داشت. برای مثال، بهتر است از React.js، Express و Tailwind استفاده شود؛ حتی اگر به این فناوریها علاقهای نداشته باشیم، باید به سراغ گزینههای معروف و پرکاربرد برویم.
- پشتیبانگیری (Backup) منظم از پروژه و دادههای نرمافزار ضروری است، چرا که اگر هوش مصنوعی کد را تولید کرده باشد، ممکن است بهاشتباه منجر به حذف یا آسیبرسانی به پروژه شود. برای مدیریت ایمن تغییرات، حتماً از سیستمهای کنترل نسخه (Version Control) مانند Git استفاده کنید.
- در Vibe Coding، باید مانند یک مدیر محصول (Product Manager) فکر کنید، نه یک توسعهدهنده؛ این روش شما را از کدنویسی سنتی دور میکند و بر طراحی کلی و اهداف کسبوکار متمرکز میسازد.
در نهایت، Vibe Coding روشی کاربردی و مؤثر است که به حل سریع مسائل کمک کرده و امکان ساخت نمونههای اولیه (Prototype) را در عرض چند ساعت فراهم میکند. بااینحال، این روش برای توسعهی نرمافزارهای عملیاتی و محصولات نهایی مناسب نیست. باید دید در آینده چگونه تکامل یافته و چه قابلیتهای جدیدی در اختیار ما قرار میگیرید.