Работа с несколькими языковыми моделями может быть довольно утомительной, особенно когда необходимо сравнивать их результаты. Для этого часто требуется выполнение однообразных действий, таких как ввод запроса в одну модель, сохранение результатов, затем ввод того же запроса в другую модель и так далее. Чтобы упростить этот процесс и получить более структурированные сравнения, можно использовать инструменты, которые позволяют отправлять один и тот же запрос в несколько моделей одновременно и отображать результаты рядом.
Категории тестирования
При сравнении моделей GPT-4o, Claude и Gemini было решено протестировать их возможности в пяти различных категориях:
- Генерация кода: включает в себя написание функций, исправление ошибок и объяснение фрагментов кода.
- Структурированный вывод: генерация JSON, создание таблиц и форматирование отчетов.
- Творческое письмо: написание начал рассказов, описаний продуктов и текстов электронных писем.
- Рассуждение/логика: решение задач с словами, выполнение многозадачных инструкций и анализ граничных случаев.
- Суммаризация: сжатие длинных статей до ключевых пунктов.
Генерация кода
GPT-4o показал наилучшие результаты в категории генерации кода, производя более чистый и сразу запускаемый код с хорошими комментариями. Claude занял второе место, но иногда склонялся к过度 объяснению, предоставляя слишком много контекста перед блоком кода. Gemini испытывал трудности с граничными случаями, например, когда ему было предложено обработать пустые входные данные, он сгенерировал код, который бы бросил исключение при неопределенном значении, утверждая при этом, что он обрабатывает пустые значения. GPT-4o и Claude правильно идентифицировали эту ошибку.
Одним из сюрпризов стало то, что Claude оказался значительно лучше в объяснении существующего кода. Если вставить запутанный фрагмент кода и спросить "что это делает?", объяснения Claude были более точными и лучше структурированы, чем у других двух моделей.
Структурированный вывод
GPT-4o продемонстрировал наилучшие результаты и в категории структурированного вывода, обеспечивая наиболее последовательные результаты для генерации JSON. Он точно следовал схемам инструкций, даже для вложенных структур. Claude иногда добавлял текст перед блоком JSON, что могло нарушить работу парсеров, если не удалять этот текст. Gemini иногда возвращал неправильно сформированный JSON.
Эти результаты показывают, что каждая модель имеет свои сильные и слабые стороны, и выбор той или иной модели может зависеть от конкретных потребностей и задач, которые необходимо решить. Разработчики и пользователи могут выбрать наиболее подходящую модель для своих проектов, исходя из результатов сравнения и требований к генерации кода, структурированному выводу и другим функциям.