برنامه نویسی

Vibe Coding: روش جدیدی که ما با فناوری ایجاد و تعامل داریم

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

اکنون ، یک الگوی جدید در حال ظهور است – یکی که این انتزاع را به شدت منطقی خود می برد. با استفاده از هوش مصنوعی تولیدی ، برنامه نویسی VIBE به کاربران امکان می دهد قصد را در زبان طبیعی بیان کنند. به جای نگرانی در مورد نحو ، جزئیات اجرای یا محدودیت های سیستم ، کاربران به سادگی آنچه را که می خواهند توصیف می کنند ، و سیستم تعیین می کند که چگونه می توان آن را تحقق بخشید. شرکت هایی مانند Cursor.ai و Windsurfer در حال حاضر مرزهای این رویکرد را تحت فشار قرار می دهند و قابلیت های دستورالعمل AI را در محیط های کدگذاری ادغام می کنند. این ابزارها توسعه دهندگان را قادر می سازد دستورالعمل های زبان طبیعی را تولید ، اصلاح و اصلاح کد کنند و این روند را بصری تر و کارآمدتر کنند. اما تأثیر واقعی پارادایم برنامه نویسی Vibe بسیار فراتر از برنامه نویسی است – این آماده است تا در تعامل افراد با تمام نرم افزارها انقلابی ایجاد شود.

رویکردهای ضروری و اعلامی

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

برنامه نویسی اعلامی رویکرد متفاوتی دارد. به جای تمرکز روی اجرای گام به گام یک کار ، به کاربران این امکان را می دهد تا نتیجه مطلوب را توصیف کنند و سیستم نحوه دستیابی به آن را تعیین می کند. به عنوان مثال ، در SQL ، کاربر می تواند بنویسد:

SELECT category, COUNT(*) AS total_products
FROM products GROUP BY category;
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

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

برنامه نویسی

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

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

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

ممکن است فکر کنید که این امر به غیر توسعه دهندگان اجازه می دهد تا نرم افزار بنویسند ، اما اینگونه نیست. در حالی که برنامه نویسی VIBE نیاز به ساختار منطقی را برطرف می کند ، کاربر هنوز هم باید مفاهیم برنامه نویسی ، انتزاع و اصطلاحات را درک کند. اگر کسی نمی داند رابط انتزاعی چیست یا به معنای تغییر شکل چیست ، آنها هنوز هم برای بیان مؤثر قصد خود تلاش خواهند کرد. برنامه نویسی VIBE جایگزین دانش توسعه دهنده نمی شود – این به سادگی روشی قدرتمندتر و کارآمدتر برای اجرای آن دانش فراهم می کند. منحنی یادگیری برای تبدیل شدن به یک توسعه دهنده باقی مانده است ، اما زمان و تلاش لازم برای ترجمه ایده ها به نرم افزار کار به طرز چشمگیری کاهش می یابد.

این تغییر پارادایم در حال تغییر کدگذاری است ، اما عمیق ترین تأثیر آن ممکن است اصلاً بر توسعه نباشد. همان رویکرد برنامه نویسی پرنعمت که برنامه نویسی را ساده می کند همچنین می تواند در نحوه استفاده افراد از برنامه های نرم افزاری متحول شود.

تعامل VIBE برای برنامه ها: روشی کاملاً جدید برای استفاده از نرم افزار

یکی از جنبه های اصلی لرزش این است که بر روی انتزاع کار می کند. اگر انتزاعی را که با آن کار می کنید ، نمی توانید به طور موثری پرش کنید. به عنوان مثال ، اگر برای ساخت نرم افزار از برنامه نویسی VIBE استفاده می کنید ، هنوز هم باید اصول برنامه نویسی را درک کنید یا حداقل انتزاع های ارائه شده توسط یک چارچوب سطح بالاتر-مانند دکمه ها ، بوم ها یا نقاط پایانی API. Vibing جایگزین دانش این انتزاع ها نمی شود. در عوض ، روشی بصری و کارآمدتر برای همکاری با آنها فراهم می کند.

بخش جالب این است که نرم افزاری که از طریق لرزش ساخته می شود ، خود انتزاع دیگری است. یک توسعه دهنده را با استفاده از کلاس ها و روش ها برای ساخت یک پایگاه داده در نظر بگیرید. در حالی که آنها یک مجموعه از انتزاع را اعمال می کنند ، خود بانک اطلاعاتی دیگری را معرفی می کند – جداول ، محرک ها ، نمایش ها ، نمایش داده ها و غیره. از آنجا که ذاتاً روی آن بر روی انتزاع کار می کند ، طبیعتاً به این لایه های تازه ایجاد شده نیز گسترش می یابد. این بدان معنی است که مزایای برنامه نویسی VIBE محدود به ایجاد نرم افزار نیست بلکه به محض ساخت آن به تعامل با نرم افزار گسترش می یابد.

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

این بدان معناست که این همگرایی ایجاد و تعامل فقط بر رمزگذارها تأثیر نمی گذارد – بلکه تجربه را برای هر کاربر از هر نرم افزاری ، در هر نقطه تغییر می دهد. از متخصصانی که از برنامه های سازمانی گرفته تا کاربران گاه به گاه در تعامل با ابزارهای روزمره استفاده می کنند ، فناوری دیگر یک سیستم سفت و سخت نیست که نیاز به تسلط دارد – این یک تجربه سازگار و بصری می شود و باعث می شود نرم افزار از گذشته در دسترس تر و قدرتمندتر شود.

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

فعال کردن VIBING در برنامه ها

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

شرط دوم – دستکاری در انتزاع – به معماری برنامه بستگی دارد. اگر این سیستم دارای یک جبهه باشد که از طریق API با یک باطن ارتباط برقرار می کند ، امکان تعامل AI محور بسیار ساده تر است. با دسترسی به AI به اسناد API ، می تواند یاد بگیرد که با همان موجوداتی که UI انجام می دهد کار کند. با این حال ، در بسیاری از موارد ، نحوه ساخت داده ها در API به طور کامل با نحوه تعامل کاربران با آن در UI مطابقت ندارد. برای ایجاد این شکاف ، توضیحات اضافی ممکن است برای ترسیم مفاهیم سطح کاربر به همتایان API خود مورد نیاز باشد. یکی از راه های تسهیل این نقشه برداری این است که به AI اجازه دهید تا کد منبع Frontend را تجزیه و تحلیل کند ، و اطمینان حاصل کند که چگونه برنامه داده ها و توابع را به کاربران ارائه می دهد.

با این حال ، فروشندگان بزرگ LLM اکنون در حال ایجاد عوامل هستند که می توانند یک مرورگر را اداره کنند – اپراتور OpenAi و استفاده از رایانه Anthropic. با استفاده از این عوامل ، ممکن است یک برنامه کاربردی انجام دهد ، ممکن است کاربر بتواند از طریق عامل مرورگر پرش کند.

انتقال به لرزش

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

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

یک صفحه گسترده بودجه با دسته بندی برای درآمد ، هزینه و پس انداز ایجاد کنید. هر دسته را که از بودجه آن فراتر می رود ، برجسته کنید.

این سیستم درخواست را تفسیر می کند ، ساختار مناسب را ایجاد می کند و منطق لازم را به کار می برد – نیاز به تنظیم دستی خسته کننده.

این تغییر از یک منحنی فرزندخواندگی آشنا که با پیشرفت های گذشته در تعامل نرم افزار دیده می شود ، دنبال می شود. هنگامی که IDE های اولیه ویژگی هایی مانند AutoClottlete ، Syntax و Refactoring هوشمند را معرفی کردند ، آنها در ابتدا به عنوان پیشرفت های اختیاری تلقی می شدند. با این حال ، با گذشت زمان ، آنها به ابزارهای اساسی تبدیل شدند که باعث افزایش چشمگیر بهره وری شد. به همین ترتیب ، لرزش به عنوان یک راحتی آغاز می شود ، اما در نهایت نحوه تعامل افراد با فناوری ، کاهش پیچیدگی و ایجاد نرم افزار بصری ، سازگاری و تراز کردن با قصد انسان را تغییر می دهد.

پایان
برنامه نویسی VIBE در حال تغییر شکل مجدد نرم افزار است و باعث تعامل با فناوری بصری تر و کارآمدتر می شود. اما همانطور که برای برنامه نویسی پیشگامانه است ، اهمیت واقعی آن فراتر از توسعه است. الگوی Vibe نشان دهنده یک تغییر اساسی در تعامل انسان و رایانه است-در جایی که کاربران دیگر نیازی به یادگیری رابط های سفت و سخت ، پیمایش گردش کار پیچیده یا نوشتن دستورالعمل های دقیق ندارند. در عوض ، آنها به سادگی قصد را بیان می کنند ، و سیستم نحوه اجرای آن را تعیین می کند.

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

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا