Neuropolis

Gemini Pro 2.5: Убийца ChatGPT? Ассистент программиста, который поражает воображение

Gemini Pro 2.5: новый помощник по кодированию от Google, который превосходит ChatGPT! Узнайте, как он справился с комплексными тестами программирования и почему это серьезный конкурент на рынке ИИ.

7 минут

Искусственный интеллект

В ходе тестирования различных ИИ для кодинга, Gemini Pro 2.5 приятно удивил. В отличие от предыдущих версий Google AI, он успешно прошёл все стандартные тесты, заняв место среди немногих ИИ, показавших подобные результаты.

Стандартные тесты

Моя методика оценки ИИ для кодинга включает четыре стандартных теста, призванных определить эффективность помощника в программировании. Тесты проводятся с использованием PHP и JavaScript, и включают ряд скриптовых задач. Единый набор тестов обеспечивает объективное сравнение производительности различных ИИ. В число тестов входят:

  • Написание простого плагина WordPress;
  • Переписывание строковой функции;
  • Поиск ошибок в коде;
  • Извлечение данных из браузера Chrome.

Аналогия с обучением вождению уместна: не сумев выполнить простейшие задачи, ИИ не сможет справиться со сложными. До недавнего времени только ChatGPT GPT-4 (и выше) и Perplexity Pro (также использующий GPT-4) успешно проходили все тесты. Microsoft Copilot, основанный на LLM ChatGPT, а также ранние версии Google Gemini показали неудовлетворительные результаты.

Gemini Pro 2.5: Бесплатный и эффективный

Gemini Pro 2.5 доступен бесплатно, хотя и с ограничением по количеству или объёму запросов. Во время тестирования ограничение сработало после двух запросов, что может указывать на лимит не по количеству запросов, а по объему обрабатываемой информации. Однако, несмотря на это ограничение, результаты тестирования оказались впечатляющими.

Тест 1: Написание простого плагина WordPress

В отличие от своих предшественников, Gemini Pro 2.5 блестяще справился с задачей создания простого плагина WordPress с пользовательским интерфейсом, который рандомизирует строки и предотвращает расположение дубликатов рядом. Плагин, созданный Gemini Pro 2.5, обладал полностью функциональным пользовательским интерфейсом, а код работал корректно.

Примечателен выбор иконки для плагина. Большинство ИИ игнорируют этот аспект, но Gemini Pro 2.5 выбрал подходящую иконку из набора WordPress Dashicon. Код был хорошо документирован, а JavaScript и HTML были корректно интегрированы в PHP. Gemini Pro 2.5 не только успешно выполнил задание, но и проявил инициативу, выбрав иконку, что не было указано в запросе. Более того, каждый значимый сегмент кода был снабжен подробными комментариями.

Тест 2: Переписывание строковой функции

Во втором тесте Gemini Pro 2.5 получил задачу переписать функцию обработки строк, работающую с долларами и центами. Исходный код обрабатывал только целые числа (доллары), а целью было добавить поддержку центов. Этот тест успешно проходил ChatGPT. Bard изначально допустил ошибку, но впоследствии её исправил. Интересно отметить, что в феврале 2024 года Google Advanced провалил этот тест, сгенерировав код с тонкой, но опасной ошибкой. Код, сгенерированный Google Advanced, не принимал нецелочисленные значения. Например, 1.00 допускался, но 1 — нет, также как и 20. Более того, он ограничивал количество цифр до десятичной точки, а не после неё, демонстрируя непонимание концепции долларов и центов. Он давал сбой при вводе 100.50, но допускал 99.50.

тельно простая задача, которую обычно задают студентам-первокурсникам. Хуже того, ошибка Gemini Advanced была из тех, которые могут быть нелегко обнаружить программисту-человеку, поэтому, если вы доверяли Gemini Advanced, получая от него код и предполагая, что он работает, у вас позже могли бы появиться множество отчётов об ошибках. Когда я повторил тест, используя Gemini Pro 2.5, результаты были другими. Код правильно проверяет типы ввода, обрезает пробелы, исправляет регулярное выражение, чтобы разрешить ведущие нули, ввод только с десятичной точкой и отклоняет отрицательные вводы. Он также всесторонне комментирует код регулярных выражений и предлагает полный набор хорошо маркированных тестовых примеров, как допустимых, так и недопустимых (и пронумерованных как таковые). Если что-то и было, то сгенерированный Gemini Pro 2.5 код был немного слишком строгим. Он не допускал группировочных запятых (как в $1,245.22), а также не допускал ведущих символов валюты. Но поскольку мой запрос этого не требовал, а использование запятых или символов валюты приводит к контролируемой ошибке, а не к сбою, я считаю это приемлемым. Пока Gemini Pro 2.5 два из двух. Это вторая победа. Тест 3: Найти ошибку. В какой-то момент моего программистского пути я боролся с ошибкой. Мой код должен был работать, но он не работал. Проблема была далеко не очевидной, но когда я спросил ChatGPT, он указал, что я искал не в том месте. Я смотрел на количество передаваемых параметров, что казалось правильным ответом на ошибку, которую я получал. Вместо этого мне нужно было изменить код в чем-то, называемом хуком. Как я уже сказал, ChatGPT справился. В феврале 2024 года Gemini Advanced даже не попытался ошибиться. Всё, что он предложил, это рекомендация поиска «вероятно, где-то ещё в плагине или WordPress», чтобы найти ошибку. Излишне говорить, что Gemini Advanced в то время оказался бесполезен. Но как насчёт сейчас, с Gemini Pro 2.5? Ну, честно говоря, я не знаю, и я не буду знать до завтра. Видимо, я израсходовал свой лимит бесплатного использования Gemini Pro 2.5 с моими первыми двумя вопросами. Итак, я вернусь завтра. Хорошо, я вернулся. Наступил следующий день, собака хорошо погуляла, солнце светит (это Орегон, так что это редкость), и Gemini Pro 2.5 снова позволяет мне задавать ему запросы. Я задал ему запрос для моего третьего теста. Он не только прошёл тест и нашёл довольно труднообнаруживаемую ошибку, но и указал, где в коде её исправить. Буквально. Он нарисовал мне карту со стрелкой и всем остальным. По сравнению с моим тестом Gemini Advanced в феврале 2024 года, это была земля и небо. Там, где Gemini Advanced был настолько бесполезен, насколько это было возможно (серьёзно, «вероятно, где-то ещё в плагине или WordPress» — это ваш ответ?), Gemini Pro 2.5 был точным, правильным и полезным. С тремя из четырёх правильных тестов Gemini Pro 2.5 выходит из категории «Чат-боты, которых следует избегать для получения помощи в программировании» и попадает в верхнюю половину нашего рейтинга. Но есть ещё один тест. Посмотрим, как Gemini Pro 2.5 справится с этим. Тест 4: Написание скрипта. Этот последний тест не так уж сложен с точки зрения навыков программирования. Он проверяет способность ИИ переключаться между тремя различными средами, а также то, насколько неясными могут быть среды программирования. Этот тест требует понимания объектной модели внутреннего представления внутри Chrome, умения писать AppleScript (само по себе гораздо более неясный язык, чем, скажем, Python), а затем умения писать код для Keyboard Maestro, инструмента

Недавно я столкнулся с задачей, которая потребовала бы значительных усилий при ручном выполнении: создание макроса для управления вкладками Chrome. Необходимо было написать скрипт, который открывал бы определенные вкладки в Chrome и активировал бы нужную вкладку, передавая ей параметры в качестве аргументов. Это, казалось бы, узкая задача, но на практике она могла занять несколько часов работы из-за необходимости тонкой настройки параметров для разных сред.

Сравнение с другими ИИ

Большинство ИИ-систем успешно справлялись со связью между AppleScript и Chrome. Однако большинство из них не учитывали нюансы передачи параметров в Keyboard Maestro – критически важного компонента для решения данной задачи. Именно здесь Gemini Pro 2.5 продемонстрировал свои преимущества.

Успехи Gemini Pro 2.5

Gemini Pro 2.5 успешно справился с генерацией кода, обеспечивающего корректную передачу переменных. Более того, он добавил функциональность проверки ошибок и уведомления пользователя о невозможности установки переменной, хотя это и не было указано в исходном запросе. В дополнение к этому, в описании решения были предоставлены пошаговые инструкции по настройке Keyboard Maestro.

Этот результат вывел Gemini Pro 2.5 на новый уровень, подтвердив его потенциал. Успех Google в этой области предсказуем, учитывая их вклад в развитие генеративного ИИ, начиная с исследовательской работы «Внимательность — это всё, что нужно» в 2017 году.

Скорость работы и точность

Несмотря на то, что Gemini Pro 2.5 работает медленнее, чем ChatGPT Plus (от 15 секунд до минуты против мгновенного ответа ChatGPT Plus), точность и полезность получаемых результатов перевешивают разницу во времени ожидания. Получение правильного ответа за несколько секунд предпочтительнее немедленного получения неверного решения.

Бесплатный доступ и перспективы

Ранее я отмечал запуск Google Code Assist с щедрыми бесплатными лимитами. Gemini Pro 2.5 демонстрирует, что Google способна генерировать высококачественный код. Единственным недостатком на данный момент является экспериментальный статус Gemini Pro 2.5, неопределённость в стоимости платной версии и ограничения по скорости. Однако я уверен, что эти вопросы будут решены в ближайшие месяцы.

Конкуренция с ChatGPT

Успехи Gemini Pro 2.5 дают основания предполагать, что Google намерена составить серьезную конкуренцию ChatGPT в области помощи в программировании.

Вопросы для обсуждения

Поделитесь вашим опытом работы с Gemini Pro 2.5. Сравните его производительность с ChatGPT в ваших задачах. Насколько важна скорость по сравнению с точностью при использовании ИИ-помощников в разработке? Удивил ли вас Gemini Pro 2.5?

Источник:www.zdnet.com