ChatGPT проти Gemini: який чат-бот ШІ кращий у програмуванні?

курс по chatgpt
×

Оберіть AI

Можливості чат-ботів ШІ стрімко зростають. Але чи може будь-хто з цих двох справді кодувати, і який краще впорається із завданням?

Якщо ви застрягли в проекті програмування, ви можете піти на пошуки інструменту, який допоможе вам обміркувати ідеї, написати чистий код або пояснити хитру концепцію. Який чат-бот зі штучним інтелектом ви обираєте: швидкий та інформативний 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 і JavaScript. Ми не надали жодного праймера; Мета полягає в тому, щоб побачити, наскільки добре обидва чат-боти можуть працювати з обмеженою інформацією для роботи.

ChatGPT (GPT-4o) створив функціональний код із “досить хорошою” естетикою. Використовуючи код ChatGPT, ви можете додати або видалити завдання. Ось що ми отримали після запуску результату ChatGPT у браузері:

Програма зі списком справ від OpenAI's ChatGPT (GPT-4o)

Потім ми попросили Google Gemini повторити те саме завдання. Gemini також вдалося створити функціональний додаток зі списком справ. Ви також можете додавати та видаляти завдання, але загальний дизайн був не таким привабливим:

Додаток зі списком справ від Google Gemini

Ми провів другий тест, цього разу попросивши обидва чат-боти відтворити канал Twitter (X.com). ChatGPT створив Twitter-канал у вінтажному стилі з функціональною функцією твітів. Ми могли биввести текст у текстове поле, надіслати твіт і динамічно завантажити його на сторінку. Це був не той канал Twitter, на який хотілось би, але, враховуючи, що більшість навчальних даних ChatGPT заповнено застарілим кодом Twitter, результати зрозумілі.

На жаль, у цьому раунді компанія Google Gemini не змогла надати функціональний код. Він згенерував сотні рядків коду JavaScript, але було занадто багато заповнювачів, які потрібно було заповнити з відсутньою логікою. Якщо ви поспішаєте, такий код із заповнювачами не буде особливо корисним, оскільки він все одно вимагатиме серйозної роботи над розробкою. У таких випадках може бути ефективнішим написати код з нуля.

Ми спробували виконати кілька інших базових завдань кодування, і в усіх випадках рішення ChatGPT було, очевидно, кращим варіантом.

Налагодження та виявлення помилок

Помилки та баги схожі на головоломки, які програмісти люблять ненавидіти. Вони зведуть вас з розуму, але виправити їх приносить задоволення. Отже, якщо ви зіткнетеся з помилками у своєму коді, чи варто звертатися за допомогою до Gemini або ChatGPT? Це може залежати від типу помилки, якої ви намагаєтеся уникнути.

Щоб прийняти рішення, ми дали обом чат-ботам штучного інтелекту дві проблеми з налагодженням. Спочатку запропонували обом чат-ботам вирішити логічну помилку в простому коді PHP. Відомо, що логічні помилки виявити важче, ніж синтаксичні, оскільки вони залежать від мети коду:

Код на цьому скріншоті працює і навіть дає правильний результат у багатьох випадках. Однак у ньому є кілька логічних помилок, які не відразу очевидні; ти можеш їх помітити? Ми звернулись за допомогою до Gemini, і, на жаль, чат-бот не зміг виявити логічну помилку в коді:

Жодна з трьох спроб вирішити проблему не була точною. МИ спробували аналогічну проблему шість місяців тому з таким же невтішним результатом; здається, Gemini не покращилися в цій сфері.

Потім ми звернулись по допомогу до ChatGPT, і він одразу виявив логічну помилку.

Gemini також переписав код, щоб виправити помилку:

Після кількох інших завдань пошуку та виправлення помилок ChatGPT явно виявився кращим. Однак Gemini не були програною справою. Він міг виправити багато синтаксичних помилок, які ми кинули йому, але він боровся зі складними помилками, особливо логічними.

Усвідомлення контексту

Однією з найбільших проблем, пов’язаних із використанням чат-ботів штучного інтелекту для кодування, є їх відносно обмежене усвідомлення контексту. Вони можуть створити окремі фрагменти коду для чітко визначених завдань, але їм важко створити кодову базу для більшого проекту.

Наприклад, ви створюєте веб-програму за допомогою чат-бота штучного інтелекту. Ви наказуєте йому написати код для вашої HTML-сторінки реєстрації та входу, і він робить це ідеально. Потім ви просите чат-бота створити серверний сценарій для обробки логіки входу. Це просте завдання, але через обмежене усвідомлення контексту воно може призвести до створення сценарію входу з новими змінними та правилами іменування, які не відповідають решті коду.

З появою GPT-4 Turbo та його контекстного вікна 128 Кб здатність ChatGPT зберігати набагато більше контексту протягом більш тривалого періоду значно зросла.

Отже, знову ж таки, з точки зору усвідомлення контексту, ChatGPT перемагає.

Вирішення проблем

На даний момент Gemini від Google не вистачає в багатьох аспектах. Але чи зможе він нарешті перемогти? Давайте перевіримо його здатність вирішувати проблеми. Іноді у вас просто є проблема, але ви не впевнені, як її програмно представити, не кажучи вже про те, як її вирішити.

У таких ситуаціях можуть стати в нагоді такі чат-боти, як Gemini та ChatGPT. Ми попросили їх обох « Написати код JavaScript, який підраховує, скільки разів певне слово з’являється в тексті » .

Ось результат Gemini від Google:

А ось результат від ChatGPT:

Спочатку обидва підходи виглядають досить солідно. Підхід Gemini навіть виглядає лаконічним. Однак код ChatGPT має більш надійний і точний підхід до підрахунку повторень слів у тексті. Він враховує межі слів і чутливість до регістру, правильно обробляє пунктуацію та дає більш надійні результати. І знову ChatGPT кращий.

Підхід ChatGPT розбиває введений текст на слова таким чином, щоб можна було обробляти всі несловесні символи, такі як знаки пунктуації, і спеціальні символи як роздільники слів. Тим часом Gemini розглядає лише пробіли як роздільники. Цей підхід може виявитися невдалим, якщо текст містить знаки пунктуації чи інші символи, що не є словами, або якщо слова не розділені пробілами.

Оскільки Google Gemini значно програв за всіма показниками, які ми використовували для порівняння, ми вирішили дати йому шанс викупити. Ми запитали у чат-бота « Хто краще вміє кодувати? ChatGPT чи Gemini? » Ось його відповідь:

Здається, ми б частково погодились! Ми запитали ChatGPT, що він думає про оцінку, і він погодився:

Тепер, хоча це здається цілком нормальним, тут є цікавий поворот. Майже весь минулий рік Gemini (тоді Bard) завжди впевнено стверджував, що може створювати кращий код, бути ефективнішим і робити менше помилок. Ось скріншот одного з моїх тестів у листопаді 2023 року:

Здається, що Gemini тепер стали трохи самосвідомішими та скромнішими!

Особливості програмування

Ні ChatGPT, ні Gemini не мають основних функцій, призначених виключно для програмування. Однак обидва чат-боти мають функції, які можуть значно покращити ваш досвід програмування, якщо ви знаєте, як ними ефективно користуватися.

ChatGPT пропонує набір функцій, які можуть оптимізувати процес програмування під час використання чат-бота. Корисні доповнення, такі як Memory і Custom GPT, дозволяють налаштувати ChatGPT відповідно до ваших конкретних потреб програмування.

Наприклад, функція Custom GPT може допомогти вам створити спеціалізовані міні-версії ChatGPT для конкретних проектів, завантажуючи відповідні файли. Це значно спрощує такі завдання, як налагодження коду, оптимізація та додавання нових функцій. Загалом, порівняно з Gemini від Google, ChatGPT містить більше функцій, які можуть покращити ваш досвід програмування.

ChatGPT — це власна ліга

Gemini від Google викликав великий ажіотаж, тому може бути несподіванкою побачити, наскільки йому не вистачає порівняно з ChatGPT. Хоча ChatGPT явно мав фору, ви можете подумати, що величезні ресурси Google допоможуть йому зруйнувати цю перевагу.

Незважаючи на ці результати, було б нерозумно списувати Gemini як допомогу в програмуванні. Незважаючи на те, що він не такий потужний, як ChatGPT, Gemini все ще має значну потужність і розвивається швидкими темпами.

Ai Workshop 2.0