Сравнение моделей платформ Cursor: DeepSeek V3/R1 против Claude 3.5 Sonnet Tests
DeepSeek Тест последней модели: V3 против V3. Клод 3,5 Сонет, кто лучше?
Компания DeepSeek недавно сделала объявление в Курсор Платформа запустила две новые модели - DeepSeek V3 и R1. В настоящее время многие разработчики (в том числе и мы) используют Claude 3.5 Sonnet (последняя версия claude-3-5-sonnet-20241022) в качестве основной языковой модели. Для того чтобы посмотреть, как новые модели работают на практике, мы решили провести реальный сравнительный тест между этими двумя моделями DeepSeek и Claude 3.5 Sonnet.
Введение в модель DeepSeek
В последнее время компания DeepSeek привлекает к себе много внимания благодаря открытому доступу к своей мощной модели R1, которая, как утверждается, по производительности сопоставима с моделью o1 от OpenAI, что является непростой задачей. Платформа Cursor всегда действует быстро, и как только модель DeepSeek появилась в продаже, людям не терпелось начать тестировать ее в реальных приложениях.
Сравнение производительности Ссылка
Официальный релиз DeepSeek DeepSeek R1 Данные о производительности V3 и V3 в сравнении с моделями o1 и o1-mini от OpenAI.
Обзор задач тестирования
Этот сравнительный тест состоит из двух основных частей:
- Режим чата -- Моделирует повседневные сценарии разработки и показывает, как добавить действия на стороне сервера к компоненту диалогового окна в приложении Next.js.
- режим генерации кода -- Изменение конфигурационного файла CircleCI для моделирования сценария сопровождения кода с целью удаления ненужных шагов, связанных с конфигурацией и тестированием E2E (end-to-end).
Важно отметить, что "режим агента" платформы Cursor, который обычно относится к режиму, в котором модель может самостоятельно выполнять операции и вызывать инструменты, в настоящее время доступен только для платформы Cursor. Антропология модель и GPT-4o открыты, поэтому в этом тесте не задействована прокси-модель.
Сравнение режимов чата
программное заявление
Мы задали вопрос о том, как правильно добавить действия на стороне сервера к компоненту диалогового окна в приложении Next.js. Конкретный вопрос заключался в следующем:
"Пожалуйста, объясните, как реализовать операцию на стороне сервера и правильно передать ее этому компоненту диалогового окна?"
Чтобы предоставить более конкретный контекст, мы также приложили файл, содержащий код, связанный с компонентом диалогового окна.
Производительность DeepSeek R1
Естественно, DeepSeek R1 был выбран нами для тестирования в первую очередь из-за его высокой популярности. Однако, используя R1, мы быстро обнаружили две довольно очевидные проблемы:
- Потоковая передача данных происходит медленно
R1 медленно генерирует ответы, и приходится ждать дольше, чтобы увидеть полный результат. - Ответ начинается с четкого блока
Перед формальным ответом R1 выводит большой раздел контента, обернутого тегами, подобно представлению мыслительного процесса. Этот шаг предварительной обработки допустим, если он значительно улучшает качество окончательного ответа. Проблема, однако, заключается в том, что, когда он накладывается на медленный потоковый вывод, это значительно задерживает представление фактической достоверной информации. Например, если модель выводит большой фрагмент контента перед медленной потоковой передачей фактического ответа, все время ожидания становится очень долгим. Теоретически можно настроить правило Cursor на пропуск секций, но это выходило за рамки нашего текущего тестирования состояния по умолчанию.
Кроме того, в ответе R1 предлагается установить библиотеку next-safe-action/hooks для решения проблемы, но в последующем ответе не объясняется, как использовать эту библиотеку для операций на стороне сервера. Для относительно простой проблемы, подобной той, которую мы поставили, кажется немного "тривиальным" просто предлагать установить дополнительную библиотеку.
Производительность DeepSeek V3
DeepSeek V3 также работает достаточно хорошо, он даже рекомендует использовать React 19 новой функции useFormStatus. Это говорит о том, что модель V3 узнает о новых фронтенд-технологиях и кодовых базах. Однако у V3 есть критическая ошибка в реализации кода: она вызывает операции на стороне сервера непосредственно из компонентов на стороне клиента. В Next.js это невозможно. (В качестве примечания: Next.js требует, чтобы серверный код выполнялся в серверной среде в целях безопасности, производительности и организации кода, а код в клиентских компонентах по умолчанию запускается в браузере. Вызов серверного кода непосредственно в клиентских компонентах может привести к ошибкам, например, серверные модули не найдены, сетевые запросы не выполняются и т. д.). Например, вызов серверной функции непосредственно в клиентском JavaScript-коде приведет к ошибке времени выполнения, или серверный код не будет выполнен вообще.
Как и в случае с R1, скорость потоковой передачи данных в V3 ниже. Но поскольку в V3 нет таких длинных блоков, как в R1, общие впечатления немного лучше, чем у R1.
Клод 3.5 Исполнение сонетов
Для сравнения, в Claude 3.5 Sonnet работает быстрее всех, даже в режиме "медленных запросов" (например, когда количество запросов к API в месяц превышает бесплатную квоту и вводится платный запрос, может возникнуть ограничение скорости запроса). Хотя Sonnet не рекомендует использовать последнюю функцию React (useFormStatus), как это сделал V3, и допускает схожую с V3 ошибку, вызывая операции на стороне сервера непосредственно в компоненте на стороне клиента, он предлагает решение, которое ближе к реальному ответу.Sonnet предлагает добавить директиву 'use server' к функции операции на стороне сервера. Sonnet предполагает, что добавление директивы 'use server' к функциям действий на стороне сервера удовлетворит требования Next.js.(Дополнение к знаниям: "использовать сервер") это ключевая директива, появившаяся в Next.js версии 13 и более поздних версиях для явного объявления функции в качестве операции на стороне сервера. Добавление директивы 'использовать сервер' Тогда Next.js сможет правильно распознать функцию как код серверной стороны и позволить компонентам клиентской стороны безопасно вызывать ее.) На самом деле, это так просто - добавить 'использовать сервер' К сведению, решение Сонета решает проблему по существу и является более практичным, чем решение, предлагаемое моделью DeepSeek.
Сравнение режимов генерации кода
программное заявление
В этой тестовой сессии мы предоставляем профиль CircleCI для развертывания полностекового приложения. Это приложение содержит чистый React front-end и Node.js back-end. Оригинальный процесс развертывания содержит несколько шагов. Наша цель - модифицировать этот конфигурационный файл, чтобы выполнить оба следующих действия:
- Удалите все конфигурации, связанные с развертыванием внешнего интерфейса
- Осознав, что приложение является только внутренним, тестирование E2E (End-to-End Testing, обычно используется для проверки полного потока взаимодействия с пользователем) больше не требуется, и соответствующие шаги настройки удаляются. (Знание добавлено: E2E-тестирование в основном используется для моделирования поведения пользователей и проверки полного потока взаимодействий между фронт-эндом и бэк-эндом. Если приложение остается с бэкендом и без пользовательского интерфейса, E2E-тестирование не имеет смысла. Среди распространенных фреймворков для E2E-тестирования - Cypress, Selenium и т. д.).
Мы явно указываем в подсказке к проблеме "удалить все секции, связанные с развертыванием фронтенда" и предоставить полный конфигурационный файл CircleCI модели в качестве контекста.
Производительность DeepSeek R1
Мы ожидали, что модель R1 с блоками будет лучше справляться с заданиями, требующими контекстного понимания и многочисленных модификаций (задания Composer). Однако этого не произошло:
- В R1 отсутствуют некоторые конфигурации, которые явно связаны с развертыванием внешнего интерфейса (например, часть конфигурационного файла, в которой говорится о создании ссылок на webapp, сохраняется). Но, к его чести, он правильно идентифицирует deploy-netlify (этап развертывания на платформе Netlify, которая обычно используется в качестве внешней платформы для хостинга статических ресурсов) Этот этап больше не нужен и был удален.
- В то же время R1 некорректно удаляет шаг развертывания бэкэнда, обозначенный как deploy_production_apiчто может привести к тому, что внутренние службы не будут развернуты должным образом. Кроме того, R1 необнаруживаемый Тест E2E больше не актуален и сохраняет связанную с ним конфигурацию.
Производительность DeepSeek V3
DeepSeek V3 справляется с задачами по модификации кода немного лучше, чем R1. Она исправляет некоторые конфигурации внешнего развертывания, которые R1 упустила, но при этом выявляет новые проблемы - например, V3 все еще сохраняет шаг deploy-netlify, что говорит о том, что она не полностью понимает требования задачи. К своей чести, V3 проделал хорошую работу, сохранив шаг развертывания внутренней части, и не удалил по ошибке конфигурацию развертывания внутренней части, как это было в R1. Однако, как и в R1, в V3 также не удалось определить, что раздел тестирования E2E может быть удален.
Клод 3.5 Исполнение сонетов
Лучше всего с задачей модификации кода справился маститый Claude 3.5 Sonnet:
- Sonnet успешно удалил большинство команд, связанных с внешним развертываниемХотя, как и V3, он также Не удалось удалить шаг deploy-netlify.
- Что касается этапов внутреннего развертывания, Sonnet также сохранил целостностьНет, случайного удаления не было.
- Очень важно, что Sonnet точно определила, что тестирование E2E больше не требуется, поскольку остались только внутренние услуги.В результате компания Sonnet удалила все конфигурации, связанные с тестированием E2E, включая кэш Cypress Binary Cache, который используется для ускорения тестов Cypress. В результате компания Sonnet удалила все конфигурации, связанные с тестированием E2E, включая Cypress Binary Cache (кэш, используемый для ускорения тестов Cypress).(Знание добавлено: двоичный кэш Cypress используется для кэширования двоичных файлов, необходимых для запуска тестов Cypress, что может ускорить запуск последующих тестов. Однако если тест E2E удален, следует удалить и эту конфигурацию кэша, чтобы избежать избыточных конфигураций). Это было лучшее решение в данном тесте, продемонстрировавшее глубокое понимание Sonnet смысла задачи и способность вносить более полные изменения в код.
резюме
На платформе Cursor постоянно появляются новые модели искусственного интеллекта, постоянно предлагая разработчикам новые опции и возможности. Хотя задача этого сравнительного теста была относительно простой, ее было достаточно, чтобы на начальном этапе продемонстрировать возможности обеих моделей DeepSeek в реальном сценарии разработки. По сравнению с Claude 3.5 Sonnet у моделей DeepSeek есть свои сильные и слабые стороны.
В целом, Claude 3.5 Sonnet явно опережает две модели DeepSeek по скорости отклика и качеству вывода в этом тесте. Хотя скорость отклика модели DeepSeek может быть улучшена в будущих версиях за счет оптимизации сервера, распределения сети и других факторов, Claude 3.5 Sonnet все еще находится в верхнем эшелоне по практичности и надежности с точки зрения реальных результатов тестирования на данный момент.
В целом, этот тест показывает, что Claude 3.5 Sonnet по-прежнему остается более зрелым и надежным выбором на платформе Cursor. Однако новая модель DeepSeek также демонстрирует определенный потенциал и заслуживает постоянного внимания разработчиков и экспериментов. По мере итераций и совершенствования модели она может показать себя лучше в будущем.
© заявление об авторских правах
Авторское право на статью Круг обмена ИИ Пожалуйста, не воспроизводите без разрешения.
Похожие статьи
Нет комментариев...