Является ли 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 и JavaScript, не предоставляя никакой вводной информации; Цель состояла в том, чтобы увидеть, насколько хорошо оба чат-бота могут работать с ограниченной информацией на работе.
ChatGPT (GPT-4o) создал функциональный код, который был эстетически «достаточно хорош». Используя код ChatGPT, вы можете добавлять или удалять задачи. Вот что мы получаем после запуска результатов ChatGPT в браузере:
Затем попросите Gemini от Google повторить ту же задачу. Gemini также может создать функциональное приложение со списком дел. Вы также можете добавлять и удалять задачи, но общий дизайн не такой привлекательный:
Автор провел второй тест, на этот раз попросив обоих чат-ботов воссоздать ленту Twitter (X.com). ChatGPT создал ленту Twitter в классическом стиле с функциональной функцией твитов. Вы можете ввести текст в текстовое поле, отправить твит и загрузить его на страницу гибким способом. Это не ожидаемый канал Twitter, но поскольку большая часть обучающих данных ChatGPT заполнена старым кодом Twitter, результаты понятны.
К сожалению, в этом раунде Gemini от Google не смогла предоставить функциональный код. Он генерирует сотни строк кода JavaScript, но слишком много заполнителей, которые нужно заполнять без логики. Если вы спешите, кодирование такого большого количества заполнителей не будет полезным, поскольку оно все равно требует тяжелой работы по разработке. В таких случаях написание кода с нуля может быть более эффективным.
Автор попробовал несколько других базовых задач шифрования, и во всех случаях решение ChatGPT было явно лучшим выбором.
Устранение неполадок и обнаружение ошибок
Ошибки подобны головоломкам, которые ненавидят программисты. Они сведут вас с ума, но и исправлять их тоже весьма приятно. Итак, когда вы обнаружите ошибку в своем коде, следует ли вам обратиться за помощью к Gemini или ChatGPT? Ответ зависит от типа ошибки, которую вы пытаетесь избежать.
Автор дал обоим чат-ботам с искусственным интеллектом по 2 задачи на отладку. Сначала автор попросил обоих чат-ботов устранить логические ошибки в каком-нибудь простом PHP-коде. Логические ошибки, как известно, обнаружить труднее, чем синтаксические, поскольку они зависят от назначения кода:
Код на этом снимке экрана выполняется и во многих случаях даже дает правильные результаты. Однако в нем есть некоторые логические ошибки, которые не сразу бросаются в глаза; Сможете ли вы их узнать? К сожалению, с помощью Gemini чат-бот не смог найти логическую ошибку в коде:
Все три попытки Близнецов решить проблему оказались неверными. Пробовал аналогичную проблему 6 месяцев назад с такими же неутешительными результатами; Похоже, что Близнецы пока не более продвинуты в этой области.
Затем автор обратился за помощью к ChatGPT, и он сразу же обнаружил логическую ошибку.
Gemini также переписала код, чтобы исправить ошибку:
После выполнения нескольких других задач по отладке и отладке ChatGPT явно справился с задачей лучше. Однако Близнецы не совсем бесполезны. Он может исправить множество синтаксических ошибок, но с трудом справляется со сложными ошибками, особенно с логическими ошибками.
Осведомленность о контексте
Одной из самых больших проблем при использовании чат-ботов с искусственным интеллектом для кодирования являются их относительно ограниченные контекстно-зависимые возможности. Они могут создавать отдельные фрагменты кода для четко определенных задач, но испытывают трудности с созданием базы кода для более крупного проекта.
Например, предположим, что вы создаете веб-приложение с помощью чат-бота с искусственным интеллектом. Вы просите его закодировать HTML-страницу регистрации и входа в систему, и он делает это отлично. Затем вы просите чат-бота создать серверный скрипт для обработки логики входа в систему. Это простая задача, но из-за ограниченного понимания контекста она может привести к созданию сценария входа в систему с новыми переменными и соглашениями об именах, которые не соответствуют остальному коду.
Какой чат-бот лучше поддерживает контекстуальную осведомленность? Автор статьи поручил обоим инструментам одну и ту же задачу программирования: создать приложение для чата.
С тех пор, как появился GPT-4 Turbo с окном контекста 128 тыс., способность ChatGPT сохранять больше контекста в течение длительных периодов времени значительно возросла. При первом создании приложения чата с ChatGPT с использованием контекстного окна GPT-4 4k оно работало относительно гладко, с единственными незначительными проблемами с перенаправлением контекста.
Воссоздание того же проекта в ноябре 2023 года с GPT-4 Turbo 128k показало явное улучшение контекстной осведомленности. Спустя 6 месяцев, в мае 2024 года, не произошло каких-либо существенных изменений в знании контекста, но и снижения не произошло.
К сожалению, при первом использовании Gemini (тогда называемого Bard) в одном и том же проекте он потерял связь с контекстом проекта и не смог завершить приложение. Несколько обновлений спустя, при повторном тестировании Gemini в том же проекте, выяснилось, что его деградация еще больше ухудшилась. Итак, еще раз, с точки зрения контекстной осведомленности, ChatGPT побеждает.
Решение проблем
На данный момент Gemini от Google не хватает во многих отношениях. Но смогут ли в конце концов Близнецы победить? Давайте проверим его возможности решения проблем. Иногда у вас есть проблема, но вы не знаете, как ее программно представить, не говоря уже о том, как ее решить.
В таких ситуациях могут быть полезны чат-боты, такие как Gemini и ChatGPT. Автор попросил их обоих «Написать код JavaScript, который подсчитывает количество раз, когда определенное слово появляется в тексте».
Вот результаты Google Gemini:
А вот результат ChatGPT:
На первый взгляд оба подхода выглядят вполне надежными. Подход Близнецов даже кажется кратким. Однако код ChatGPT имеет более мощный и точный подход к подсчету количества вхождений слов в текст. Он учитывает границы слов и учитывает регистр, правильно обрабатывает пунктуацию и дает более надежные результаты. И снова ChatGPT выходит на первое место.
Подход ChatGPT разбивает входной текст на слова таким образом, чтобы можно было обрабатывать все символы, не являющиеся словами, такие как знаки препинания и специальные символы в качестве разделителей слов. Между тем, Gemini рассматривает пробелы только как разделители. Этот подход может оказаться неудачным, если текст содержит знаки препинания или другие символы, не являющиеся словами, или если слова не разделены пробелами.
Поскольку Google Gemini потерял практически все показатели, используемые для сравнения, автор решил дать ему шанс искупить свою вину. Автор спросил чат-бота: «Что лучше просматривает код? ChatGPT или Gemini?» Вот его ответ:
Затем автор спросил ChatGPT, что он думает об этом обзоре, и тот согласился:
Хотя это кажется вполне нормальным, здесь есть интересный поворот. Весь последний год Джемини (тогда еще Бард) всегда уверенно заявлял, что может создавать хороший, эффективный код с меньшим количеством ошибок. Вот скриншот с одного из испытаний в ноябре 2023 года:
Кажется, что Близнецы теперь стали немного более самосознательными и скромными!
Возможности программирования
Ни ChatGPT, ни Gemini не имеют серьезных особенностей программирования. Однако у обоих чат-ботов есть функции, которые могут значительно улучшить ваш опыт программирования, если вы знаете, как их эффективно использовать.
ChatGPT предлагает ряд функций, которые могут упростить процесс программирования при использовании чат-ботов. Полезные дополнения, такие как «Память» и «Пользовательский GPT», позволяют настроить ChatGPT в соответствии с вашими конкретными потребностями в программировании.
Например, функция Custom GPT может помочь создать небольшие специализированные версии ChatGPT для конкретных проектов, загрузив соответствующие файлы. Это значительно упрощает такие задачи, как отладка кода, оптимизация и добавление новых функций. В целом, по сравнению с Gemini от Google, ChatGPT включает в себя больше функций, которые могут улучшить процесс программирования.
Марвин Фрай
Обновление от 5 июня 2024 г.