Rumah >Peranti teknologi >AI >ChatGPT lwn Gemini: AI Chatbot Mana Yang Lebih Baik dalam Pengekodan?

ChatGPT lwn Gemini: AI Chatbot Mana Yang Lebih Baik dalam Pengekodan?

Lisa Kudrow
Lisa Kudrowasal
2024-12-13 16:32:46572semak imbas

Ringkasan

  • ChatGPT menawarkan sokongan bahasa yang unggul, merangkumi pelbagai bahasa lama dan baharu.
  • ChatGPT memberikan ketepatan dan kualiti kod yang lebih tinggi berbanding Gemini untuk tugas pengekodan.
  • ChatGPT cemerlang dalam penyahpepijatan, pengesanan ralat, kesedaran konteks, penyelesaian masalah dan ciri pengaturcaraan keseluruhan.

Jika anda terperangkap pada projek pengaturcaraan, anda boleh mencari alat untuk membantu anda mempercadang idea, menulis kod bersih atau menerangkan konsep yang rumit. Chatbot AI manakah yang anda pilih: Gemini yang pantas dan bermaklumat, atau ChatGPT yang komprehensif dan berkuasa?

Sokongan Bahasa

Apabila bercakap tentang sokongan bahasa, ChatGPT mengatasi Gemini secara meluas dan kemahiran. Walaupun Gemini secara rasmi menyokong sekitar 22 bahasa pengaturcaraan popular—termasuk Python, Go dan TypeScript—keupayaan bahasa ChatGPT jauh lebih luas.

Tidak seperti Gemini, ChatGPT tidak mempunyai senarai rasmi bahasa yang disokong. Walau bagaimanapun, ia boleh mengendalikan bukan sahaja bahasa popular yang disokong Gemini tetapi juga berdozen bahasa tambahan, daripada bahasa yang lebih baharu seperti TypeScript dan Pergi ke bahasa yang lebih lama seperti Fortran, Pascal dan BASIC.

Untuk menguji keupayaan bahasa mereka, Saya mencuba tugas pengekodan mudah dalam bahasa seperti PHP, JavaScript, BASIC dan C . Gemini dan ChatGPT berprestasi baik dengan bahasa popular, tetapi hanya ChatGPT boleh menjaringkan program dalam bahasa lama seperti BASIC dengan meyakinkan.

Ketepatan dan Kualiti Kod

Anda lewat pada tarikh akhir projek anda, dan anda memerlukan beberapa kod boilerplate. Anda meminta ChatGPT dan Gemini menjana kod untuk melaksanakan fungsi itu, dan kedua-dua alat itu mengeluarkan berpuluh-puluh baris kod. Menang cepat, bukan?

Tetapi kod alat manakah yang boleh anda percayai untuk menyampaikan fungsi yang anda minta? Untuk membandingkan ketepatan dan kualiti kod yang dijana oleh dua chatbot AI, saya memberi mereka tugas pengekodan mudah untuk diselesaikan. Saya meminta Gemini dan ChatGPT menjana apl senarai tugasan mudah menggunakan HTML, CSS dan JavaScript. Saya tidak menyediakan sebarang buku asas; matlamatnya adalah untuk melihat sejauh mana kedua-dua chatbot boleh berprestasi dengan maklumat terhad untuk digunakan.

ChatGPT (GPT-4o) menghasilkan kod fungsian dengan estetik yang "cukup baik". Menggunakan kod ChatGPT, anda boleh menambah atau memadam tugas. Inilah yang saya dapat selepas menjalankan keputusan ChatGPT pada penyemak imbas:

Todo list app by OpenAI's ChatGPT (GPT-4o)

Seterusnya, saya meminta Gemini Google mengulangi tugas yang sama. Gemini juga dapat menjana apl senarai tugasan yang berfungsi. Anda juga boleh menambah dan memadam tugasan, tetapi reka bentuk keseluruhannya tidak begitu menarik:

Todo list app by Google's Gemini

Saya menjalankan ujian kedua, kali ini meminta kedua-dua chatbots untuk mencipta semula suapan Twitter (X.com). ChatGPT menghasilkan suapan Twitter gaya vintaj dengan ciri tweet berfungsi. Saya boleh menaip ke dalam kotak teks, menghantar tweet dan memuatkannya secara dinamik ke halaman. Ia bukanlah suapan Twitter yang saya harapkan, tetapi memandangkan kebanyakan data latihan ChatGPT dibanjiri dengan kod Twitter warisan, hasilnya boleh difahami.

Twitter (X.com) feed clone by ChatGPT-1

Malangnya, dalam pusingan ini, Gemini Google tidak dapat memberikan kod berfungsi. Ia menjana ratusan baris kod JavaScript, tetapi terdapat terlalu banyak ruang letak yang perlu diisi dengan logik yang hilang. Jika anda tergesa-gesa, kod pemegang tempat yang berat itu tidak akan membantu kerana ia masih memerlukan kerja pembangunan yang berat. Dalam kes sedemikian, mungkin lebih cekap untuk menulis kod dari awal.

Saya mencuba beberapa tugas pengekodan asas lain, dan dalam semua keadaan, penyelesaian ChatGPT jelas merupakan pilihan yang lebih baik.

Nyahpepijat dan Pengesanan Ralat

Ralat dan pepijat adalah seperti teka-teki yang pengaturcara suka benci. Mereka akan membuat anda gila, tetapi membetulkannya agak memuaskan. Jadi apabila anda menghadapi pepijat dalam kod anda, patutkah anda menghubungi Gemini atau ChatGPT untuk mendapatkan bantuan? Ia mungkin bergantung pada jenis ralat yang anda cuba elakkan.

Untuk membuat keputusan, saya memberi kedua-dua AI chatbot dua masalah penyahpepijatan untuk diselesaikan. Pertama, saya menggesa kedua-dua chatbot untuk menyelesaikan ralat logik dalam beberapa kod PHP mudah. Ralat logik terkenal lebih sukar dikesan berbanding ralat sintaks kerana ia bergantung pada niat kod:

PHP code with logical error

Kod dalam tangkapan skrin ini berjalan dan malah menghasilkan hasil yang betul dalam banyak kes. Walau bagaimanapun, ia mempunyai beberapa ralat logik yang tidak dapat dilihat dengan segera; bolehkah anda melihat mereka? Saya meminta bantuan Gemini dan, malangnya, chatbot tidak dapat memilih ralat logik dalam kod:

Gemini fails to spot a logical error

Tiada satu pun daripada tiga percubaan Gemini untuk menyelesaikan masalah itu adalah tepat. Saya mencuba masalah yang sama enam bulan lalu dengan hasil yang sama mengecewakan; nampaknya Gemini tidak bertambah baik dalam bidang ini.

Saya kemudian meminta bantuan ChatGPT, dan ia segera memilih ralat logik.

ChatGPT spots logical error in code

Gemini juga menulis semula kod untuk membetulkan ralat:

ChatGPT rewrites code to fix logical error

Selepas mencuba beberapa yang lain memburu pepijat dan membetulkan tugas, ChatGPT jelas lebih baik dalam tugas itu. Gemini bukanlah penyebab yang hilang sepenuhnya. Ia dapat membetulkan banyak ralat sintaks yang saya lemparkan, tetapi ia bergelut dengan ralat yang kompleks, terutamanya ralat logik.

Kesedaran Konteks

Salah satu cabaran terbesar dengan penggunaan chatbots AI untuk pengekodan ialah kesedaran konteksnya yang agak terhad. Mereka mungkin boleh membuat coretan kod berasingan untuk tugasan yang jelas, tetapi bergelut untuk membina pangkalan kod untuk projek yang lebih besar.

Sebagai contoh, katakan anda sedang membina apl web dengan chatbot AI. Anda menyuruhnya menulis kod untuk halaman HTML pendaftaran dan log masuk anda, dan ia melakukannya dengan sempurna. Anda kemudian meminta chatbot untuk menjana skrip sebelah pelayan untuk mengendalikan logik log masuk. Ini adalah tugas yang mudah, tetapi disebabkan kesedaran konteks yang terhad, ia boleh menjana skrip log masuk dengan pembolehubah baharu dan konvensyen penamaan yang tidak sepadan dengan kod yang lain.

Bot sembang manakah yang lebih baik untuk mengekalkan kesedaran konteks? Saya memberikan kedua-dua alatan tugas pengaturcaraan yang sama: apl sembang yang kita tahu ChatGPT sudah boleh membina.

Sejak ketibaan GPT-4 Turbo dan tetingkap konteks 128knya, keupayaan ChatGPT untuk mengekalkan lebih banyak konteks, untuk tempoh yang lebih lama, telah meningkat dengan ketara. Apabila saya mula-mula membina apl sembang dengan ChatGPT menggunakan tetingkap konteks 4k GPT-4, ia berjalan agak lancar dengan hanya insiden kecil penyimpangan konteks.

Mencipta semula projek yang sama pada November 2023 dengan 128k GPT-4 Turbo menunjukkan peningkatan yang ketara dalam kesedaran konteks. Enam bulan kemudian, pada Mei 2024, tidak terdapat sebarang perubahan ketara dalam kesedaran konteks, tetapi tiada kemerosotan juga.

Malangnya, apabila saya mula-mula mencuba Gemini (kemudian dipanggil Bard) pada projek yang sama, ia kalah menjejaki konteks projek dan gagal melengkapkan apl. Beberapa pusingan kemas kini kemudian, saya menguji semula Gemini pada projek yang sama, dan nampaknya ia semakin merosot. Jadi, sekali lagi, dari segi kesedaran konteks, ChatGPT menang.

Penyelesaian Masalah

Pada ketika ini, Gemini Google kekurangan dalam banyak cara. Tetapi bolehkah ia akhirnya menjaringkan kemenangan? Mari kita uji kebolehannya menyelesaikan masalah. Kadangkala anda hanya menghadapi masalah, tetapi anda tidak pasti cara untuk mewakilinya secara pemrograman, apatah lagi cara menyelesaikannya.

Dalam situasi ini, chatbots seperti Gemini dan ChatGPT boleh berguna. Saya meminta mereka berdua "Tulis kod JavaScript yang mengira berapa kali perkataan tertentu muncul dalam teks."

Berikut ialah hasil daripada Gemini Google:

Gemini fails to make an optimized Javascript function

Dan inilah keputusan daripada ChatGPT:

ChatGPT attempts to create a function to count words in a text segment

Pada mulanya, kedua-dua pendekatan kelihatan agak kukuh. Pendekatan Gemini juga kelihatan ringkas. Walau bagaimanapun, kod ChatGPT mengambil pendekatan yang lebih mantap dan tepat untuk mengira kejadian perkataan dalam teks. Ia mengambil kira sempadan perkataan dan kepekaan huruf besar kecil, mengendalikan tanda baca dengan betul dan memberikan hasil yang lebih dipercayai. Sekali lagi, ChatGPT lebih unggul.

Pendekatan ChatGPT membahagikan teks input kepada perkataan dengan cara yang boleh mengendalikan semua aksara bukan perkataan seperti tanda baca dan aksara khas sebagai pemisah perkataan. Sementara itu, Gemini hanya menganggap ruang putih sebagai pemisah. Pendekatan ini mungkin gagal jika teks mengandungi tanda baca atau aksara bukan perkataan lain dalam perkataan, atau jika perkataan itu tidak dipisahkan oleh aksara ruang putih.

Memandangkan Google Gemini telah hampir kalah dalam setiap metrik yang saya gunakan untuk perbandingan , saya memutuskan untuk memberinya peluang untuk menebus. Saya bertanya kepada chatbot "Manakah yang lebih baik dalam pengekodan? ChatGPT atau Gemini?" Ini jawapannya:

Gemini answers a question about itself

Nampaknya sesuatu yang saya akan bersetuju dengan sebahagiannya! Saya bertanya kepada ChatGPT pendapatnya tentang penilaian itu dan ia bersetuju:

ChatGPT agrees with Gemini's assessement of its abilities

Kini, walaupun ini kelihatan agak biasa, terdapat kelainan yang menarik di sini. Sepanjang sebahagian besar tahun lepas, Gemini (kemudian Bard) sentiasa yakin menegaskan ia boleh menghasilkan kod yang lebih baik, lebih cekap dan membuat lebih sedikit kesilapan. Berikut ialah tangkapan skrin daripada salah satu ujian saya pada November 2023:

Google Bard boast of being better than ChatGPT

Nampaknya Gemini kini lebih sedikit sedar diri dan sederhana!

Ciri Pengaturcaraan

Baik ChatGPT mahupun Gemini tidak mempunyai ciri utama yang khusus untuk pengaturcaraan. Walau bagaimanapun, kedua-dua chatbot datang dengan ciri yang boleh meningkatkan pengalaman pengaturcaraan anda dengan ketara jika anda tahu cara menggunakannya dengan berkesan.

ChatGPT menawarkan pelbagai ciri yang boleh menyelaraskan proses pengaturcaraan apabila menggunakan chatbot. Penambahan berguna seperti Memori dan GPT Tersuai membolehkan anda menyesuaikan ChatGPT untuk keperluan pengaturcaraan khusus anda.

Sebagai contoh, ciri GPT Tersuai boleh membantu anda mencipta versi mini ChatGPT khusus untuk projek tertentu, dengan memuat naik fail yang berkaitan. Ini menjadikan tugas seperti kod nyahpepijat, pengoptimuman dan menambah ciri baharu lebih mudah. Secara keseluruhan, berbanding Gemini Google, ChatGPT menyertakan lebih banyak ciri yang boleh meningkatkan pengalaman pengaturcaraan anda.

ChatGPT Berada dalam Liganya Sendiri

Gemini Google mempunyai menikmati banyak gembar-gembur, jadi ia mungkin mengejutkan untuk melihat betapa kekurangannya berbanding dengan ChatGPT. Walaupun ChatGPT jelas bermula, anda mungkin fikir sumber besar Google akan membantunya menghakis kelebihan itu.

Walaupun keputusan ini, adalah tidak bijak untuk menghapuskan Gemini sebagai bantuan pengaturcaraan. Walaupun ia tidak sehebat ChatGPT, Gemini masih mempunyai pukulan yang ketara dan berkembang dengan pantas.

Atas ialah kandungan terperinci ChatGPT lwn Gemini: AI Chatbot Mana Yang Lebih Baik dalam Pengekodan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn