ChatGPT در مقابل Gemini: کدام ربات چت هوش مصنوعی برای کدنویسی بهتر است؟
ربات چت هوش مصنوعی ChatGPT معرف حضور بسیاری از کاربران است اما اخیرا ربات تازه نفسی تحت عنوان جمینای (Gemini) وارد رقابتها شده و توان کدنویسی هم دارد. در این مقاله به این سوال مهم و بحث برانگیز پاسخ میدهیم که کدام ربات چت هوش مصنوعی برای کدنویسی عملکرد بهتری از خود نشان میدهد.
پشتیبانی از زبان
دقت و کیفیت کد
اشکال زدایی و تشخیص خطا
آگاهی از زمینه یا کانتکست
حل مسئله
ویژگیهای برنامه نویسی
ChatGPT در یک لیگ خاص است!
اگر در یک پروژه برنامه نویسی گیر کردهاید، ممکن است به دنبال ابزاری بگردید که به شما کمک کند تفکرات خود را ایده پردازی کنید، کد تمیز بنویسید یا یک مفهوم پیچیده را توضیح دهید. کدام ربات چت هوش مصنوعی برای کدنویسی از دید شما بهتر بوده و کدام را انتخاب میکنید: جمینایِ سریع و آموزنده، یا ChatGPT جامع و قدرتمند؟ در ادامه بهترین ربات چت هوش مصنوعی برای کدنویسی را معرفی میکنیم.
پشتیبانی از زبان
وقتی صحبت از پشتیبانی زبان به میان میآید، ChatGPT از نظر وسعت و مهارت از جمینای پیشی میگیرد. در حالی که جمینای به طور رسمی از حدود ۲۲ زبان برنامه نویسی محبوب – از جمله Python، Go و TypeScript پشتیبانی میکند، قابلیتهای زبان ChatGPT بسیار گستردهتر محسوب میشود.
برخلاف جمینای، ChatGPT لیست رسمی از زبانهای پشتیبانی شده ندارد. با این حال، ربات مذکور نه تنها میتواند زبانهای محبوبی را که جمینای پشتیبانی میکند، بلکه دهها زبان دیگر، از زبانهای جدیدتر مانند تایپاسکریپت و Go گرفته تا زبانهای قدیمیتر مانند فورترن، پاسکال و بیسیک را مدیریت کند.
برای آزمایش قابلیتهای زبان آنها، کارهای کدنویسی ساده را در زبانهایی مانند پیاچپی، جاوا اسکریپت، بیسیک و سی پلاس پلاس امتحان کردم. هر دو جمینای و ChatGPT با زبانهای رایج عملکرد خوبی داشتند، اما فقط ChatGPT میتوانست برنامههای زبانهای قدیمیتری مانند BASIC را بهطور متقاعدکنندهای در کنار هم قرار دهد.
دقت و کیفیت کد
شما در مهلت پروژه خود به تاخیر افتادهاید و به کلی کد نیاز دارید. شما از ChatGPT و جمینای میخواهید که برای اجرای آن عملکرد کد تولید کنند و هر دو ابزار دهها خط کد را بیرون میریزند. به نظر میرسد که با یک ترفند ساده، از این موقعیت چالش برانگیز پیروز بیرون آمدید.
اما به کد کدام ابزار میتوانید برای ارائه عملکردی که درخواست کردهاید اعتماد کنید؟ برای مقایسه دقت و کیفیت کد تولید شده توسط دو چت ربات هوش مصنوعی، یک کار کدنویسی ساده را به آنها انجام دادم. من از جمینای و ChatGPT خواستم تا با استفاده از اچتیامال، سیاساس و جاوا اسکریپت، یک برنامه لیست کارهای ساده ایجاد کنند. من هیچ پرایمری را ارائه نکردم. هدف این است که ببینیم هر دو ربات چت چقدر میتوانند با اطلاعات محدود کار کنند. ChatGPT (GPT-4o) کد عملکردی با زیبایی «به اندازه کافی خوب» تولید کرد. با استفاده از کد ChatGPT، میتوانید یک کار را اضافه یا حذف کنید. این چیزی است که من پس از اجرای نتیجه ChatGPT در مرورگر دریافت کردم:
بعد، از جمینایِ گوگل خواستم همین کار را تکرار کند. جمینای همچنین قادر به ایجاد یک برنامه کاربردی لیست کارها بود. همچنین شما میتوانید کارها را اضافه و حذف کنید، اما طراحی کلی آنچنان جذاب نبود:
آزمایش دومی را انجام دادم. این بار از هر دو چت ربات خواستم تا فید توییتر (X.com) را دوباره ایجاد کنند. ChatGPT یک فید توییتر به سبک قدیمی با قابلیت توئیت کاربردی را تولید کرد. میتوانم در کادر متنی تایپ کنم، توییتی بفرستم و به صورت پویا در صفحه بارگذاری کنم. این فید توییتری نبود که من به آن امیدوار بودم، اما با توجه به اینکه بیشتر دادههای آموزشی ChatGPT مملو از کدهای قدیمی توییتر است، نتایج قابل درک به نظر میرسد.
متاسفانه، در این دور، جمینای گوگل قادر به ارائهی کد عملکردی نبود. صدها خط کد جاوا اسکریپت تولید کرد، اما مکانگردانهای زیادی وجود داشت که باید با منطق گمشده پر میشد. اگر عجله دارید، چنین کدهایی که دارای مکانهایی هستند چندان مفید نخواهد بود، چون همچنان به کار توسعه سنگینی نیاز دارد. در چنین مواردی، نوشتن کد از ابتدا کارآمدتر محسوب میشود.
من چند کار کد نویسی اساسی دیگر را امتحان کردم و در همه موارد، راه حل ChatGPT به وضوح گزینه بهتری بود.
اشکال زدایی و تشخیص خطا
خطاها و اشکالات مانند پازلهایی هستند که برنامهنویسان حق دارند از آنها متنفر باشند! این ایرادات شما را دیوانه خواهند کرد، اما رفع آنها کاملا رضایتبخش است. بنابراین هنگامی که در کد خود با اشکال مواجه میشوید، باید برای حل معضل از جمینای یا ChatGPT کمک بگیرید؟ در واقع به نوع خطایی که میخواهید از آن اجتناب کنید بستگی دارد.
برای تصمیم گیری، به هر دو چت ربات هوش مصنوعی دو مشکل را ارائه دادم تا حل کنند. ابتدا، من از هر دو ربات چت خواستم تا یک خطای منطقی را در کدهای ساده PHP حل کنند. تشخیص خطاهای منطقی بسیار سخت تر از خطاهای نحوی است چون به هدف کد بستگی دارد:
کد موجود در این اسکرین شات اجرا میشود و حتی در بسیاری از موارد نتیجه مناسبی را ایجاد میکند. با این حال، چندین خطای منطقی دارد که بلافاصله آشکار نمیشوند. آیا میتوانید آنها را تشخیص دهید؟ من از جمینای درخواست کمک کردم و متاسفانه چت بات نتوانست خطای منطقی کد را تشخیص دهد:
هیچ یک از سه تلاش جمینای برای حل مشکل دقیق نبود. من شش ماه پیش مشکل مشابهی را با همان نتیجه ناامیدکننده امتحان کردم. به نظر می رسد جمینای در این زمینه پیشرفت نکرده است.
سپس از ChatGPT کمک خواستم و بلافاصله خطای منطقی را تشخیص داد.
جمینای همچنین کد را برای رفع این خطا بازنویسی کرد:
پس از انجام چند کار دیگر برای جستجو و رفع اشکال، ChatGPT به وضوح در این کار بهتر عمل کرد. با این حال، جمینای کاملا عملکرد بیهودهای نداشت. این ربات میتوانست بسیاری از خطاهای عمدی را که من به آن وارد میکردم برطرف کند، اما با خطاهای پیچیده، بهویژه خطاهای منطقی دست و پنجه نرم میکرد.
آگاهی از زمینه یا کانتکست
یکی از بزرگترین چالشهای استفاده از چت رباتهای هوش مصنوعی برای کدنویسی، آگاهی به نسبت محدود آنها از زمینه یا موضوع به شمار میرود. آنها ممکن است بتوانند کدهای جداگانهای را برای کارهای کاملا تعریف شده ایجاد کنند، اما برای ایجاد پایگاه کد برای یک پروژه بزرگتر تلاش میکنند.
به عنوان مثال، فرض کنید که در حال ساخت یک برنامهی وب با یک ربات چت هوش مصنوعی هستید. شما به آن میگویید که برای صفحه اچتیامال ثبت نام و ورود شما کد بنویسد، و این کار را به خوبی انجام میدهد. سپس از ربات چت بخواهید که یک اسکریپت سمت سرور برای مدیریت منطق ورود ایجاد کند. این یک کار ساده است، اما به دلیل آگاهی از زمینه محدود، ممکن است یک اسکریپت ورود به سیستم با متغیرهای جدید و قراردادهای نامگذاری که با بقیه کد مطابقت ندارند تولید کند.
کدام ربات چت هوش مصنوعی برای کدنویسی در حفظ آگاهی از زمینه بهتر است؟ من به هر دو ابزار وظیفه برنامه نویسی یکسانی دادم: یک برنامه چت که میدانیم ChatGPT از قبل میتواند بسازد.
از زمان ورود GPT-4 Turbo و پنجره زمینه 128k آن، توانایی ChatGPT برای حفظ متن بسیار بیشتر، برای مدت طولانی، به طور قابل توجهی افزایش یافته است. هنگامی که من برای اولین بار یک برنامه چت با ChatGPT با استفاده از پنجره زمینه 4k GPT-4 ساختم، این برنامه به آرامی و تنها با حوادث جزئی انحراف از متن پیش رفت.
بازسازی همان پروژه در نوامبر ۲۰۲۳ با 128k GPT-4 Turbo بهبود قابل توجهی را در آگاهی از زمینه نشان داد. شش ماه بعد، در ماه مه ۲۰۲۴، هیچ تغییر قابل توجهی در آگاهی از زمینه رخ نداده، اما بدتر هم نشده است.
متاسفانه، هنگامی که برای اولین بار جمینای (در آن زمان بارد نامیده میشد) را در همان پروژه امتحان کردم، مسیر پروژه را از دست داد و نتوانست برنامه را کامل کند. چندین دور به روز رسانی بعد، من جمینای را در همان پروژه دوباره آزمایش کردم، و به نظر میرسد که بدتر شده است. بنابراین، یک بار دیگر، از نظر آگاهی از زمینه، ChatGPT برنده میشود.
حل مسئله
در این مرحله، جمینای گوگل از بسیاری جهات کمبود دارد. اما آیا در نهایت میتواند برنده شود؟ بیایید تواناییهای حل مسئله آن را آزمایش کنیم. گاهی اوقات شما فقط یک مشکل دارید، اما مطمئن نیستید که چگونه آن را به صورت برنامهای نمایش دهید، چه برسد به اینکه چگونه آن را حل کنید.
در این شرایط، رباتهای چت مانند جمینای و ChatGPT میتوانند مفید باشند. از هر دوی آنها خواستم که «یک کد جاوا اسکریپت بنویسند که تعداد دفعات ظاهر شدن یک کلمه خاص در یک متن را محاسبه کند».
در ادامه نتیجهی جمینای گوگل را میبینیم:
و در ادامه نتیجهی ChatGPT را مشاهده میکنیم:
در ابتدا، هر دو رویکرد بسیار محکم به نظر میرسند. رویکرد جمینای حتی مختصر به نظر میرسد. با این حال، کد ChatGPT رویکردی قویتر و دقیقتر برای شمارش تعداد کلمات در متن دارد. مرزهای کلمات و حساسیت حروف کوچک و بزرگ را در نظر میگیرد، علائم نگارشی را به درستی مدیریت میکند و نتایج قابل اعتمادتری را ارائه میدهد. یک بار دیگر، ChatGPT برتر است.
رویکرد ChatGPT متن ورودی را به کلمات تقسیم میکند، به گونهای که میتواند همه کاراکترهای غیرکلمهای مانند علائم نقطهگذاری و کاراکترهای ویژه را به عنوان جداکننده کلمات کنترل کند. در این میان جمینای فقط فضای سفید را جداکننده در نظر میگیرد. اگر متن حاوی علائم نگارشی یا سایر کاراکترهای غیرکلمهای در کلمات باشد، یا اگر کلمات با کاراکترهای فضای خالی از هم جدا نشده باشند، این رویکرد ممکن است شکست بخورد.
از آنجایی که جمینای تقریبا در هر معیاری که برای مقایسه استفاده کردم از دست داده، تصمیم گرفتم به آن فرصتی برای بازخرید بدهم. از چت بات پرسیدم: « ChatGPT در مقابل Gemini: کدام ربات چت هوش مصنوعی برای کدنویسی بهتر است؟». نتیجه را میبینیم:
به نظر میرسد چیزی است که من تا حدی با آن موافق هستم! از ChatGPT پرسیدم نظرش در مورد ارزیابی چیست و موافقت کرد:
در حال حاضر، در حالی که این موضوع کاملا طبیعی به نظر میرسد، یک پیچ جالب در اینجا وجود دارد. در بیشتر سال گذشته، جمینای (در آن زمان بارد) همیشه با اطمینان اظهار داشت که میتواند کد بهتری را تولید کند، کارآمدتر بوده و اشتباهات کمتری مرتکب شده است. در اینجا یک اسکرین شات از یکی از آزمایشات من در نوامبر ۲۰۲۳ است:
به نظر میرسد که جمینای حالا کمی خودآگاه و متواضع شده است!
ویژگیهای برنامه نویسی
نه ChatGPT و نه جمینای دارای ویژگیهای عمدهای نیستند که منحصرا برای برنامهنویسی باشد. با این حال، هر دو ربات چت دارای ویژگیهایی هستند که اگر بدانید چگونه از آنها به طور موثر استفاده کنید، میتوانند تجربه برنامه نویسی شما را به میزان قابل توجهی افزایش دهند.
ChatGPT مجموعهای از ویژگیها را ارائه میدهد که میتواند فرآیند برنامه نویسی را هنگام استفاده از ربات چت ساده کند. افزودنیهای مفیدی مانند Memory و Custom GPT به شما امکان میدهد ChatGPT را برای نیازهای برنامهنویسی خاص خود سفارشی کنید.
به عنوان مثال، ویژگی Custom GPT میتواند به شما کمک کند تا با آپلود فایلهای مربوطه، نسخههای کوچک تخصصی ChatGPT را برای پروژههای خاص ایجاد کنید. این امر کارهایی مانند اشکال زدایی کد، بهینهسازی و افزودن ویژگیهای جدید را بسیار سادهتر میکند. به طور کلی، ChatGPT در مقایسه با جمینای گوگل دارای ویژگیهای بیشتری بوده که میتواند تجربه برنامهنویسی شما را بهبود بخشد.
ChatGPT در یک لیگ خاص است!
جمینای گوگل از تبلیغات بسیار زیادی برخوردار بوده، بنابراین ممکن است تعجب آور باشد که ببینیم در مقایسه با ChatGPT چقدر کمبود دارد. در حالی که ChatGPT به وضوح شروع خوبی داشت، ممکن است فکر کنید منابع عظیم گوگل به آن کمک میکند تا این مزیت را از بین ببرد. با وجود این نتایج، حذف جمینای به عنوان یک کمک برنامهنویسی غیرعاقلانه است. اگر چه جمینای به اندازه ChatGPT قدرتمند نیست، ربات جمینای هنوز هم عملکرد قابل توجهی دارد و با سرعتی سریع در حال تکامل است.
منبع: Makeuseof