قابلیت های چت ربات های هوش مصنوعی به سرعت در حال رشد می باشد. اما آیا هر یک از آن ها واقعاً می توانند کد بزنند و کدام یک در این کار بهتر است؟ در این پست به مقایسه ChatGPT و Gemini برای کدنویسی می پردازیم.
مقایسه ChatGPT و Gemini برای کدنویسی
اگر در یک پروژه برنامه نویسی گیر کرده اید، ممکن است به دنبال ابزاری بگردید که به شما کمک کند ایده های خود را ایده پردازی کنید، کد تمیز بنویسید یا یک مفهوم پیچیده را توضیح دهید. کدام ربات چت هوش مصنوعی را انتخاب می کنید: Gemini سریع و آموزنده، یا ChatGPT جامع و قدرتمند؟
پشتیبانی از زبان
وقتی صحبت از پشتیبانی زبان به میان می آید، ChatGPT از نظر وسعت و مهارت از Gemini پیشی می گیرد. در حالی که Gemini به طور رسمی از حدود 22 زبان برنامه نویسی محبوب – از جمله Python، Go و TypeScript پشتیبانی می کند، قابلیت های زبان ChatGPT بسیار گسترده تر است.
برخلاف Gemini، ChatGPT لیست رسمی زبان های پشتیبانی شده ندارد. با این حال، نه تنها می تواند زبان های محبوبی را که Gemini پشتیبانی می کند، بلکه ده ها زبان دیگر، از زبان های جدید تر مانند TypeScript و Go گرفته تا زبان های قدیمی تر مانند Fortran، Pascal و BASIC را مدیریت کند.
برای آزمایش قابلیت های زبانی آن ها، کار های کدنویسی ساده را در زبان هایی مانند PHP، JavaScript، BASIC و C++ امتحان کرده اند. هر دو Gemini و ChatGPT با زبان های رایج عملکرد خوبی داشتند، اما فقط ChatGPT می توانست برنامه های زبان های قدیمی تری مانند BASIC را بهطور متقاعد کننده ای در کنار هم قرار دهد.
دقت و کیفیت کد
اگر در زمان تحویل پروژه خود با تاخیر مواجه شده اید و به کدی نیاز دارید که مثل دیگ بخار عمل کند. شما از ChatGPT و Gemini می خواهید که کدی را برای اجرای آن عملکرد تولید کنند و هر دو ابزار ده ها خط کد را بیرون می ریزند. برد سریع، درست است؟
اما به کد کدام ابزار می توانید برای ارائه عملکردی که درخواست کرده اید اعتماد کنید؟ برای مقایسه دقت و کیفیت کد تولید شده توسط دو چت ربات هوش مصنوعی، یک کار کدنویسی ساده را با آن ها انجام دادند. از Gemini و ChatGPT خواسته شده تا با استفاده از HTML، CSS و جاوا اسکریپت، یک برنامه لیست کار های ساده ایجاد کنند. هیچ پرایمری ارائه نشده. هدف این بوده که ببینند هر دو چت ربات چقدر می توانند با اطلاعات محدودی برای کار با آن ها کار کنند.
ChatGPT (GPT-4o) کد عملکردی با زیبایی “به اندازه کافی خوب” تولید کرد. با استفاده از کد ChatGPT، می توانید یک کار را اضافه یا حذف کنید. این چیزی است که پس از اجرای نتیجه ChatGPT در مرورگر دریافت شد:
![مقایسه ChatGPT و Gemini برای کدنویسی](https://avalpardakht.com/blog/wp-content/uploads/2024/06/Screen-Shot-2024-06-23-at-9.26.18-AM.png)
مقایسه ChatGPT و Gemini برای کدنویسی
بعد، از Google’s Gemini خواسته شد همین کار را تکرار کند. Gemini قادر به ایجاد یک برنامه کاربردی لیست کار ها بود. همچنین می توانید کار ها را اضافه و حذف کنید، اما طراحی کلی چندان جذاب نبود:
![مقایسه ChatGPT و Gemini برای کدنویسی](https://avalpardakht.com/blog/wp-content/uploads/2024/06/Screen-Shot-2024-06-23-at-9.26.37-AM.png)
مقایسه ChatGPT و Gemini برای کدنویسی
آزمایش دومی را انجام دادند، این بار از هر دو چت ربات خواستند تا فید توییتر (X.com) را دوباره ایجاد کنند. ChatGPT یک فید توییتر به سبک قدیمی با ویژگی توئیت کاربردی تولید کرد. می توان در کادر متنی تایپ کرد، توییتی فرستاد و به صورت پویا در صفحه بارگذاری نمود. این فید توییتری نبود که آن ها به آن امیدوار بودند، اما با توجه به اینکه بیشتر داده های آموزشی ChatGPT مملو از کد های قدیمی توییتر است، نتایج قابل درک می باشد.
![مقایسه ChatGPT و Gemini برای کدنویسی](https://avalpardakht.com/blog/wp-content/uploads/2024/06/Screen-Shot-2024-06-23-at-9.26.53-AM.png)
مقایسه ChatGPT و Gemini برای کدنویسی
متأسفانه، در این دور، Gemini گوگل قادر به ارائه کد عملکردی نبود. صد ها خط کد جاوا اسکریپت تولید کرد، اما مکان گردان های زیادی وجود داشت که باید با منطق گمشده پر می شد. اگر عجله دارید، چنین کد هایی که دارای مکان هایی هستند چندان مفید نخواهد بود، زیرا همچنان به کار توسعه سنگینی نیاز دارد. در چنین مواردی ممکن است نوشتن کد از ابتدا کارآمد تر باشد.
آن ها چند کار کد نویسی اساسی دیگر را امتحان کردند، و در همه موارد، راه حل ChatGPT به وضوح گزینه بهتری بود.
اشکال زدایی و تشخیص خطا
خطا ها و اشکالات مانند پازل هایی هستند که برنامه نویسان دوست دارند از آن ها متنفر باشند. آن ها شما را دیوانه خواهند کرد، اما رفع آن ها کاملاً رضایت بخش است. بنابراین هنگامی که در کد خود با اشکال مواجه می شوید، آیا باید برای کمک با Gemini یا ChatGPT تماس بگیرید؟ ممکن است به نوع خطایی که می خواهید از آن اجتناب کنید بستگی داشته باشد.
برای تصمیم گیری، به هر دو چت ربات هوش مصنوعی دو مشکل اشکال زدایی داده شد تا حل کنند. ابتدا، از هر دو ربات چت خواسته شد تا یک خطای منطقی را در کد های ساده PHP حل کنند. تشخیص خطا های منطقی بسیار سخت تر از خطا های نحوی است زیرا به هدف کد بستگی دارد:
![مقایسه ChatGPT و Gemini برای کدنویسی](https://avalpardakht.com/blog/wp-content/uploads/2024/06/Screen-Shot-2024-06-23-at-9.27.10-AM.png)
مقایسه ChatGPT و Gemini برای کدنویسی
کد موجود در این اسکرین شات اجرا می شود و حتی در بسیاری از موارد نتیجه مناسبی را ایجاد می کند. با این حال، چندین خطای منطقی دارد که بلافاصله آشکار نمی شوند. آیا می توانید آن ها را تشخیص دهید؟ از Gemini درخواست کمک شد و متأسفانه چت بات نتوانست خطای منطقی کد را تشخیص دهد:
![مقایسه ChatGPT و Gemini برای کدنویسی](https://avalpardakht.com/blog/wp-content/uploads/2024/06/Screen-Shot-2024-06-23-at-9.27.40-AM.png)
مقایسه ChatGPT و Gemini برای کدنویسی
هیچ یک از سه تلاش جمینی برای حل مشکل دقیق نبود. به نظر می رسد جمینی در این زمینه پیشرفت نکرده است.
سپس از ChatGPT کمک خواسته شد و بلافاصله خطای منطقی را تشخیص داد.
Gemini همچنین کد را برای رفع این خطا بازنویسی کرد:
![مقایسه ChatGPT و Gemini برای کدنویسی](https://avalpardakht.com/blog/wp-content/uploads/2024/06/Screen-Shot-2024-06-23-at-9.28.07-AM.png)
مقایسه ChatGPT و Gemini برای کدنویسی
پس از انجام چند کار دیگر برای جستجو و رفع اشکال، ChatGPT به وضوح در این کار بهتر عمل کرد. با این حال، جمینی کاملاً یک هدف گمشده نبود. می توانست بسیاری از خطا های نحوی را که به آن وارد می کردند برطرف کند، اما با خطا های پیچیده، به ویژه خطا های منطقی دست و پنجه نرم می کرد.
آگاهی از زمینه
یکی از بزرگ ترین چالش های استفاده از چت ربات های هوش مصنوعی برای کدنویسی، آگاهی نسبتاً محدود آن ها از زمینه است. آن ها ممکن است بتوانند کد های جداگانه ای را برای کار های کاملاً تعریف شده ایجاد نمایند، اما برای ایجاد پایگاه کد برای یک پروژه بزرگ تر تلاش می کنند.
به عنوان مثال، فرض کنید که در حال ساخت یک برنامه وب با یک ربات چت هوش مصنوعی هستید. شما به آن می گویید که برای صفحه HTML ثبت نام و ورود شما کد بنویسد، و این کار را به خوبی انجام می دهد. سپس از ربات چت بخواهید یک اسکریپت سمت سرور برای مدیریت منطق ورود ایجاد کند. این یک کار ساده است، اما به دلیل آگاهی از زمینه محدود، ممکن است یک اسکریپت ورود به سیستم با متغیر های جدید و قرارداد های نامگذاری که با بقیه کد مطابقت ندارند تولید کند.
کدام ربات چت در حفظ آگاهی از زمینه بهتر است؟ آن ها به هر دو ابزار وظیفه برنامه نویسی یکسانی دادند: یک برنامه چت که می دانیم ChatGPT از قبل می تواند بسازد.
از زمان ورود GPT-4 Turbo و پنجره زمینه 128k آن، توانایی ChatGPT برای حفظ متن بسیار بیشتر، برای مدت طولانی، به طور قابل توجهی افزایش یافته است. هنگامی که برای اولین بار یک برنامه چت با ChatGPT با استفاده از پنجره زمینه 4k GPT-4 ساخته شد، این برنامه به آرامی و تنها با حوادث جزئی انحراف از متن پیش رفت.
بازسازی همان پروژه در نوامبر 2023 با 128k GPT-4 Turbo بهبود قابل توجهی را در آگاهی از زمینه نشان داد. شش ماه بعد، در ماه مه 2024، هیچ تغییر قابل توجهی در آگاهی از زمینه رخ نداده، اما بدتر هم نشده است.
متأسفانه، هنگامی که برای اولین بار Gemini (در آن زمان بارد نامیده می شد) در همان پروژه امتحان شد، مسیر پروژه را از دست داد و نتوانست برنامه را کامل کند. چندین دور به روز رسانی بعد، جمینی را در همان پروژه دوباره آزمایش کردند، و به نظر می رسد که بدتر شده است. بنابراین، یک بار دیگر، از نظر آگاهی از زمینه، ChatGPT برنده می شود.
حل مسئله
در این مرحله، Gemini گوگل از بسیاری جهات کمبود دارد. اما آیا در نهایت می تواند برنده شود؟ بیایید توانایی های حل مسئله آن را آزمایش کنیم. گاهی اوقات شما فقط یک مشکل دارید، اما مطمئن نیستید که چگونه آن را به صورت برنامه ای نمایش دهید، چه رسد به اینکه چگونه آن را حل کنید.
در این شرایط، ربات های چت مانند Gemini و ChatGPT می توانند مفید باشند. از هر دوی آن ها خواستند “یک کد جاوا اسکریپت بنویسند که تعداد دفعات ظاهر شدن یک کلمه خاص در یک متن را محاسبه کند.”
در اینجا نتیجه جمینی گوگل است:
![مقایسه ChatGPT و Gemini برای کدنویسی](https://avalpardakht.com/blog/wp-content/uploads/2024/06/Screen-Shot-2024-06-23-at-9.30.34-AM.png)
مقایسه ChatGPT و Gemini برای کدنویسی
و این هم نتیجه ChatGPT:
![مقایسه ChatGPT و Gemini برای کدنویسی](https://avalpardakht.com/blog/wp-content/uploads/2024/06/Screen-Shot-2024-06-23-at-9.30.12-AM.png)
مقایسه ChatGPT و Gemini برای کدنویسی
در ابتدا، هر دو رویکرد بسیار محکم به نظر می رسند. رویکرد جمینی حتی مختصر به نظر می رسد. با این حال، کد ChatGPT رویکردی قوی تر و دقیق تر برای شمارش تعداد کلمات در متن دارد. مرز های کلمات و حساسیت حروف کوچک و بزرگ را در نظر می گیرد، علائم نگارشی را به درستی مدیریت می کند و نتایج قابل اعتماد تری ارائه می دهد. یک بار دیگر، ChatGPT برتر است.
رویکرد ChatGPT متن ورودی را به کلمات تقسیم می کند، به گونه ای که می تواند همه کاراکتر های غیر کلمهای مانند علائم نقطه گذاری و کاراکتر های ویژه را به عنوان جدا کننده کلمات کنترل کند. در این میان جمینی فقط فضای سفید را جدا کننده در نظر می گیرد. اگر متن حاوی علائم نگارشی یا سایر کاراکتر های غیر کلمه ای در کلمات باشد، یا اگر کلمات با کاراکتر های فضای خالی از هم جدا نشده باشند، این رویکرد ممکن است شکست بخورد.
از آنجایی که Google Gemini تقریباً در هر معیاری که برای مقایسه استفاده شده از دست داده است، تصمیم گرفتند به آن فرصتی برای بازخرید بدهند. از چت بات پرسیده شد: “کدام در کدنویسی بهتر است؟ ChatGPT یا Gemini؟” در اینجا پاسخ آن است:
![مقایسه ChatGPT و Gemini برای کدنویسی](https://avalpardakht.com/blog/wp-content/uploads/2024/06/Screen-Shot-2024-06-23-at-9.29.40-AM.png)
مقایسه ChatGPT و Gemini برای کدنویسی
به نظر می رسد چیزی است که تا حدی با آن موافق هستند! از ChatGPT پرسیده شد نظرش در مورد ارزیابی چیست و موافقت کرد:
![مقایسه ChatGPT و Gemini برای کدنویسی](https://avalpardakht.com/blog/wp-content/uploads/2024/06/Screen-Shot-2024-06-23-at-9.29.23-AM.png)
مقایسه ChatGPT و Gemini برای کدنویسی
در حال حاضر، در حالی که این کاملا طبیعی به نظر می رسد، یک پیچ جالب در اینجا وجود دارد. در بیشتر سال گذشته، جمینی (در آن زمان بارد) همیشه با اطمینان اظهار داشت که می تواند کد بهتری تولید کند، کارآمد تر بوده و اشتباهات کمتری مرتکب شده است. در اینجا یک اسکرین شات از یکی از آزمایشات در نوامبر 2023 آمده است:
![مقایسه ChatGPT و Gemini برای کدنویسی](https://avalpardakht.com/blog/wp-content/uploads/2024/06/Screen-Shot-2024-06-23-at-9.29.04-AM.png)
مقایسه ChatGPT و Gemini برای کدنویسی
به نظر می رسد که Gemini اکنون کمی خودآگاه تر و متواضع است!
ویژگی های برنامه نویسی
نه ChatGPT و نه Gemini دارای ویژگی های عمده ای نیستند که منحصراً برای برنامه نویسی باشد. با این حال، هر دو ربات چت دارای ویژگی هایی هستند که اگر بدانید چگونه از آن ها به طور موثر استفاده کنید، می توانند تجربه برنامه نویسی شما را به میزان قابل توجهی افزایش دهند.
ChatGPT مجموعه ای از ویژگی ها را ارائه می دهد که می تواند فرآیند برنامه نویسی را هنگام استفاده از چت بات ساده کند. افزودنی های مفیدی مانند Memory و Custom GPT به شما امکان می دهد ChatGPT را برای نیاز های برنامه نویسی خاص خود سفارشی کنید.
به عنوان مثال، ویژگی Custom GPT می تواند به شما کمک کند تا با آپلود فایل های مربوطه، نسخه های کوچک تخصصی ChatGPT را برای پروژه های خاص ایجاد کنید. این کار کار هایی مانند اشکال زدایی کد، بهینه سازی و افزودن ویژگی های جدید را بسیار ساده تر می کند. به طور کلی، ChatGPT در مقایسه با Gemini گوگل دارای ویژگی های بیشتری است که می تواند تجربه برنامه نویسی شما را بهبود بخشد.
ChatGPT در یک لیگ خاص است
Gemini گوگل از تبلیغات زیادی لذت برده، بنابراین ممکن است تعجب آور باشد که ببینید چقدر در مقایسه با ChatGPT کمبود دارد. در حالی که ChatGPT به وضوح شروع خوبی داشت، ممکن است فکر کنید منابع عظیم گوگل به آن کمک می کند تا این مزیت را از بین ببرد.
با وجود این نتایج، حذف Gemini به عنوان یک کمک برنامه نویسی غیر عاقلانه است. اگرچه Gemini به اندازه ChatGPT قدرتمند نیست، اما Gemini هنوز هم عملکرد قابل توجهی دارد و با سرعتی سریع در حال تکامل می باشد.
نظرات کاربران