Возможности чат-ботов с искусственным интеллектом быстро растут. Но умеют ли они кодировать, и что лучше справляется с задачей?
Когда Google запустил Bard, ответ на ChatGPT от OpenAI, в нем отсутствовала функция, весьма популярная среди пользователей ChatGPT: возможность писать код. Однако по многочисленным просьбам Google дал Bard шанс, позволив ему писать код на десятках языков программирования.
С тех пор Google громко заявлял о том, насколько хорошо Bard может писать и отлаживать код, но как он соотносится с феноменальным ChatGPT? Давай выясним.
ChatGPT против. Бард: языковая поддержка
Официально Bard от Google может работать примерно с 20 языками программирования. Они состоят в основном из популярных, таких как Typescript, Python, C++, Go, Java, JavaScript и PHP. Он по-прежнему может работать с менее популярными вариантами, такими как Perl и Scala, но не обязательно столь же эффективен.
С другой стороны, ChatGPT не имеет официального списка поддерживаемых языков. Чат-бот может справиться с большей частью того, с чем может справиться Бард, и с десятками других. ChatGPT может писать, отлаживать и объяснять код как на новых популярных языках программирования, так и на
менее популярные, устаревшие языки, такие как Fortran, Pascal, БЕЙСИК и КОБОЛ.Однако поддержка не обязательно означает профессионализм. Мы опробовали несколько простых задач на некоторых языках, таких как PHP, JavaScript, BASIC и C++. И Bard, и ChatGPT могли работать с популярными языками программирования, но только ChatGPT смог убедительно объединить программы на старых языках. Так что с точки зрения языковой поддержки мы отдаем победу ChatGPT.
ChatGPT против. Bard: точность и качество кода
Допустим, вы просите ChatGPT или Bard сгенерировать фрагмент кода, который что-то делает, и он выдает десятки строк кода за секунды. Легко, верно? Но как часто этот код будет работать? Допустим, код работает; насколько хорош этот код?
Чтобы сравнить точность и качество кода, сгенерированного двумя чат-ботами с искусственным интеллектом, мы дали им обоим задание на кодирование. Мы попросили Барда и ChatGPT создать простое приложение со списком дел с использованием HTML, CSS и JavaScript. После копирования и вставки сгенерированного кода в браузере приложение ChatGPT выглядело так:
Используя версию ChatGPT, вы можете добавить новую задачу, удалить задачу или пометить задачу как завершенную. Google Bard также смог создать функциональное приложение со списком дел. Однако вы можете только добавить задачу, но не можете удалить или отметить ее как завершенную. Интерфейс Барда также казался менее привлекательным; вот как это выглядело:
Мы повторили тест, на этот раз попросив обоих чат-ботов воссоздать карточки временной шкалы Twitter. Вот результат ChatGPT:
А вот что выдал Google Bard:
Оба результата имеют свои плюсы и минусы. Мы бы согласились с результатами Барда, если бы у него были кнопки «Нравится», «Ретвитнуть» и «Комментировать». Тем не менее, он странным образом упустил их, поэтому мы позволим вам решить, что лучше. Конечно, качество кода зависит не только от эстетики того, что он производит.
При анализе кода, сгенерированного обоими чат-ботами, Bard оказался более объектно-ориентированным, а ChatGPT — более процедурным. Наш выбор языка программирования мог повлиять на это, но ChatGPT, казалось, писал более чистый код, когда это было необходимо. Он также имеет тенденцию генерировать более полные решения, что обычно приводит к увеличению количества строк кода.
Что касается качества сгенерированного кода, мы присуждаем этот раунд ChatGPT.
ChatGPT против. Bard: отладка и обнаружение ошибок
Ошибки и баги похожи на головоломки, которые программисты любят ненавидеть. Они сведут вас с ума, но их исправление вполне удовлетворительно. Поэтому, когда вы сталкиваетесь с ошибками в своем коде, стоит ли обращаться за помощью к Bard или ChatGPT? Чтобы принять решение, мы дали обоим чат-ботам с искусственным интеллектом две отладочные задачи.
Во-первых, мы предложили обоим чат-ботам исправить логическую ошибку в PHP-коде. Логические ошибки, как известно, труднее обнаружить, потому что код, который их содержит, не выглядит неправильно, он просто не делает то, что задумал программист.
Код на этом снимке экрана запускается, но не работает. Можете ли вы найти логическую ошибку? Мы обратились за помощью к Google Bard, и, к сожалению, чат-бот не смог найти логическую ошибку в коде. Интересно, что Google Bard обычно имеет три черновых попытки решения проблемы, мы проверили все три черновых варианта, и все они оказались ошибочными.
Затем мы обратились за помощью к ChatGPT, и он сразу же обнаружил логическую ошибку.
В PHP-скрипте не было синтаксических ошибок, но логика в isOdd () функция была отсталой. Чтобы узнать, является ли число нечетным, вы обычно проверяете, есть ли у него остаток после деления на 2. Если да, то это нечетное число.
В то время как Bard даже близко не распознал эту ошибку, ChatGPT обнаружил ее с первой попытки. Мы попробовали еще четыре логические ошибки, и Бард смог определить ошибку только в одном случае, в то время как ChatGPT стабильно доставлял. После перехода на код с синтаксическими ошибками Google Bard смог не отставать, выявив их практически во всех представленных образцах.
Google Bard относительно хорош в отладке, но мы снова отдадим эту победу ChatGPT.
ChatGPT против. Бард: Контекстная осведомленность
Одной из самых больших проблем с использованием чат-ботов ИИ для кодирования является их относительно ограниченная осведомленность о контексте. Вы просите чат-бота написать немного кода, затем еще немного... попутно он совершенно забывает, что следующая вещь, которую он строит, является частью того же проекта.
Например, предположим, что вы создаете веб-приложение с чат-ботом с искусственным интеллектом. Вы говорите ему написать код для вашей регистрации и страницы входа в систему HTML, и он делает это отлично. А затем, продолжая строить, вы просите чат-бота сгенерировать серверный скрипт для обработки логики входа в систему. Это простая задача, но из-за ограниченной осведомленности о контексте она может привести к созданию сценария входа с новыми переменными и соглашениями об именах, которые не соответствуют остальной части кода.
Итак, какой чат-бот лучше сохраняет контекстную осведомленность? Мы дали обоим инструментам одну и ту же задачу программирования: приложение для чата, которое, как мы знаем, ChatGPT уже может создать.
К сожалению, Bard просто не смог завершить работу над приложением, потому что оно потеряло связь с контекстом проекта после того, как какое-то время бездействовало. Несмотря на те же условия, ChatGPT завершил работу над приложением. Еще раз, с точки зрения понимания контекста, мы отдаем его ChatGPT.
ChatGPT против. Бард: Решение проблем
На данный момент Google Bard не хватает во многих отношениях. Но сможет ли он, наконец, одержать победу? Давайте проверим его способность решать проблемы. Иногда у вас просто есть проблема, но вы не знаете, как ее представить программно, не говоря уже о том, как ее решить.
В подобных ситуациях могут пригодиться чат-боты с искусственным интеллектом, такие как Bard и ChatGPT. Но какой чат-бот лучше справляется с проблемами? Мы попросили их обоих:написать код JavaScript, который подсчитывает, сколько раз определенное слово встречается в тексте."
Бард ответил рабочим кодом, хотя он дает сбой, когда знаки препинания стоят близко к слову или слово встречается в разных регистрах.
Мы закинули ту же проблему в ChatGPT и вот результат:
Код ChatGPT использует более надежный и точный подход к подсчету вхождений слов в тексте. Он учитывает границы слов и чувствительность к регистру, правильно обрабатывает пунктуацию и дает более надежные результаты. Еще раз, с точки зрения решения проблем, мы отдаем его ChatGPT.
Поскольку Google Bard в значительной степени проиграл по всем показателям, которые мы использовали для сравнения, мы решили дать ему шанс на искупление. Мы спросили у чат-бота»Кто лучше кодирует? ChatGPT или Google Bard?"
Хотя компания согласилась с тем, что ChatGPT был более креативным, Бард сказал, что его конкурент чаще совершает ошибки. и что ChatGPT производил код, который был менее эффективным, плохо структурированным и, как правило, менее надежный. Мы вынуждены не согласиться!
ChatGPT в своей собственной лиге
Google Bard получил много ажиотажа, поэтому может быть сюрпризом увидеть, насколько ему не хватает по сравнению с ChatGPT. Хотя у ChatGPT явно было преимущество, вы можете подумать, что огромные ресурсы Google помогут ему свести на нет это преимущество.
Несмотря на эти результаты, было бы неразумно сбрасывать со счетов Bard как средство программирования. Хотя он не такой мощный, как ChatGPT, Bard по-прежнему обладает значительным преимуществом и развивается быстрыми темпами. Учитывая ресурсы Google, появление Bard в качестве достойного конкурента, безусловно, вопрос времени.