Transcription
После выхода Deep Seek R1, невероятной модели открытого кода для рассуждений, OpenAI почти сразу ответила, выпустив O3 Mini, следующее поколение своих продвинутых моделей рассуждений. Эта модель тоже очень впечатляющая, и им пришлось быстро отреагировать. Я имею в виду, что Deep Seek R1 превосходила их, будучи открытым исходным кодом и более мощной, чем все их другие модели.
Теперь у нас есть две очень впечатляющие модели для рассуждений, и все задаются вопросом, вероятно, включая вас, какая из них лучше. Существует множество различных способов сравнения этих моделей и различных задач, которые они могут выполнять, но программирование — одна из самых важных вещей, которая интересует всех.
Итак, сейчас мы будем использовать Bolt.DIY, нашего открытого AI-ассистента по программированию, чтобы разрешить этот спор и написать несколько приложений как с O3 Mini, так и с Deep Seek R1, и посмотреть, какая из них лучше. Я собираюсь получить удовольствие, используя эти две модели для написания кода и посмотрим, какие результаты мы получим вместе.
Хочу подчеркнуть, что обе эти модели абсолютно невероятны по-своему, и между ними есть много различий. Поэтому не так просто сравнить их во всех аспектах. Тем не менее, мы собираемся выяснить, какая из них дает лучший код. Первое большое различие заключается в том, что R1 является открытым исходным кодом, в то время как O3 Mini — нет.
Существует также множество других различий, таких как архитектура, ограничения контекста и общее количество параметров для этих моделей, а также то, в чем они преуспевают. Часто O3 Mini считается лучше для более целенаправленных задач, которые мы видим у многих AI-агентов, тогда как R1 считается лучше для более логических, свободных задач, таких как решение логических задач и глубокие исследования. Так что имейте это в виду, когда мы сравниваем R1 с O3 Mini. Это не окончательное сравнение, и я действительно хочу это подчеркнуть, но это, безусловно, повлияет на мой выбор модели для программирования, а это одна из самых больших задач, которые я сейчас выполняю с AI.
Я очень рад попробовать обе эти модели в Bolt.DIY. Итак, я хотел бы начать с обсуждения того, во что мы погружаемся с O3 Mini и R1. Я нашел эту статью на Hugging Face, которая определенно стоит прочтения, чтобы понять различия между этими моделями. Я оставлю ссылку в описании видео.
Первое, что мне очень понравилось, это таблица, которая у них есть, охватывающая все различия между этими моделями, помимо очевидного: R1 — это открытый код, а O3 Mini — нет. Честно говоря, самое интересное, что я увидел, это различие в архитектуре. O3 Mini от OpenAI — это плотная трансформерная архитектура, как и большинство моделей OpenAI, а R1 — это смесь экспертов, объединенная с обучением с подкреплением на основе человеческой обратной связи.
Таким образом, совершенно другая архитектура, что очень увлекательно. Большинство людей помещают обе эти модели в одну корзину только потому, что они являются моделями рассуждений, но они работают совершенно по-разному под капотом. Я знаю, что большинству из нас в конечном итоге просто важно, как эти модели выполняют наши задачи, такие как программирование и AI-агенты, но все же увлекательно, что эти две модели работают так по-разному, когда их сравнивают друг с другом во многих различных аспектах.
Эта статья также содержит несколько примеров программирования, которые, как мне показалось, были действительно хорошими примерами. Похоже, что O3 Mini преуспела в большинстве из них, но R1 все же имела некоторые преимущества, такие как небольшие детали, например, интерфейс и подобные вещи для некоторых из этих примеров. Она действительно показала лучшие результаты в нескольких случаях, так что они выглядят довольно равными в этих примерах.
Теперь наша очередь использовать Bolt.DIY и посмотреть, что мы можем создать с обеими моделями. Вот наш репозиторий Bolt.DIY. Вы можете просто перейти по URL bolt.diy, и он перенаправит вас сюда для всего кода открытого AI-ассистента по программированию. Если вы прокрутите вниз на главной странице в этом README, вы получите список всех классных функций, над которыми мы работаем, а также инструкции по настройке и запуску его локально на вашем компьютере, что мы и собираемся сделать.
Мы будем тестировать R1 и O3 Mini, просто программируя прямо сейчас, используя Bolt.DIY. Я также могу сделать другое видео в будущем, сравнивая их для AI-агентов, что также является огромной темой, которую я всегда освещаю на своем канале. У меня есть действительно классная идея для этого: все агенты, которые были представлены здесь в рамках хакатона Automator AI Agent, я могу попробовать в качестве AI-агентов с обеими моделями R1 и O3 Mini. Дайте мне знать в комментариях, если вам это интересно. Я думаю, это было бы супер классно.
Вы также можете попробовать всех этих агентов прямо сейчас, если просто перейдете на studio.automator.doai, где вы можете протестировать всех этих агентов и проголосовать за того, кто, по вашему мнению, должен выиграть хакатон, который сейчас проходит. Так что обязательно проверьте это. Я хотел быстро упомянуть об этом, потому что это очень захватывающее событие, которое у нас есть.
Но вернемся к Bolt.DIY. Мы будем использовать O3 Mini напрямую через API OpenAI, а Deep Seek R1 через OpenRouter. Я буду использовать версию Nitro, потому что у меня были некоторые сбои с API Deep Seek, что довольно неприятно. Так что это немного дороже, но их обычная версия R1 — это вот эта, которая гораздо более доступна. Nitro, да, дороже, но в целом Deep Seek R1 гораздо дешевле.
А вот и цены на O3 Mini. Обе модели будут немного дороже, но мы получим потрясающие результаты, так что давайте протестируем это сейчас.
Итак, сейчас время, и я начну с O3 Mini, потому что это более новая модель. Мы создадим простое приложение с O3 Mini, затем с R1, затем перейдем к чему-то немного более сложному и повторим этот процесс несколько раз, и в конце мы должны получить победителя.
Для начала с O3 Mini я собираюсь создать простое приложение, просто используя один из стартовых шаблонов, которые у нас есть в Bolt.DIY. Ничего особенного для начала. Я считаю, что даже с этими простыми подсказками это все же говорит о силе модели, так что, надеюсь, даже с чем-то простым мы начнем видеть, какая из них может быть лучше, и это должно быть очевидно, когда мы будем переходить от приложения к приложению.
Итак, позвольте мне приостановить и вернуться, как только все будет готово.
10 секунд спустя, и у нас уже есть приложение, созданное O3 Mini. Теперь есть одна вещь, которую она не сделала: она выполнила команду установки, но не выполнила команду для запуска сайта. Так что мне пришлось запустить это самостоятельно здесь в терминале Bolt. Я просто ввел npm run ev, и у нас есть наш предварительный просмотр. В целом, выглядит довольно хорошо. Я бы сказал, что O3 Mini определенно справилась с этой простой задачей.
Есть несколько странных моментов, например, когда она говорит, что фоновое фото от Unsplash, я не совсем понимаю, почему это здесь, ведь даже нет фонового изображения. Но в целом функциональность выглядит хорошо. Я могу добавить задачу, отметить ее, удалить и добавить еще. Да, выглядит отлично.
Теперь переключаемся на R1, давайте сделаем то же самое. Помните, я использую Nitro, но это просто обычный Deep Seek R1 под капотом. Это просто проходит через Together вместо API Deep Seek, потому что у них сейчас крупный сбой, что, как вы могли заметить, довольно неприятно.
Но давайте создадим наше приложение To-Do на React с Tailwind. Итак, снова я приостановлю и вернусь, как только приложение будет полностью построено с R1.
Хорошо, это заняло немного больше времени, чем с O3 Mini, может быть, 20-30 секунд вместо 10, так что скорость определенно уходит к O3 Mini. Но R1 все равно полностью справилась с этой очень простой задачей, и на самом деле она выполнила команду для запуска сайта за меня, в отличие от O3 Mini, так что это было более истинное одноразовое выполнение.
Определенно, я думаю, что функциональность уходит к R1 тоже, и мне больше понравилось то, что она произвела. Я имею в виду, что O3 Mini была более простой, и, возможно, вам это может понравиться, но мне нравится, как она действительно подумала о том, что мне на самом деле нужно. Я не говорил, что мне нужны некоторые из этих функций, но она знала, что я действительно хотел бы их.
Вот пример: если я добавлю несколько задач, вы можете увидеть, что она говорит "0 из 2 выполнено", так что здесь действительно больше, чем в версии, которую произвела O3 Mini, и она обновляется в реальном времени, когда я отмечаю их, удаляю. Это выглядит действительно очень хорошо.
Теперь давайте перейдем к следующему шагу с чем-то более сложным.
Спонсор сегодняшнего видео — Repo Cloud, феноменальная облачная платформа, которая также является открытым рынком приложений. Я никогда не слышал о чем-то подобном раньше, это просто супер классно, и у них очень конкурентоспособные цены на их инстансы и эластичное автоматическое масштабирование, так что вы платите только за то время, когда ваши инстансы используются, что экономит вам целое состояние на облачном счете.
У них есть развертывание в один клик для всех этих открытых приложений, которые я покажу вам немного позже, и они постоянно обновляют их, и это очень легко внедрить эти обновления в ваши инстансы, работающие с этими приложениями. Цены на инстансы Repo Cloud очень впечатляющие и конкурентоспособные.
Если вы перейдете на их сайт repo cloud и затем на страницу с ценами, вы можете кликнуть на все их типы инстансов и увидеть сравнение их цен с аналогичными инстансами от всех их конкурентов. Я говорю о EC2 на AWS, Digital Ocean, Linode, Railway, Render — всех этих платформах, которые я использовал раньше и с которыми я очень знаком, но Repo Cloud обходит их по ценам для каждого типа инстанса. Это так круто!
Вы можете просмотреть все эти варианты, какие бы у вас ни были потребности, Repo Cloud вас обеспечит, и у них есть динамическое масштабирование, эластичные вычисления, о которых я говорил ранее, которые сэкономят вам в среднем 93% вашего облачного счета, потому что вы платите только за то время, когда фактически используете эти инстансы, вместо того чтобы просто платить фиксированную сумму, например, 50 долларов в месяц за ваш инстанс или что-то подобное на другой платформе, такой как AWS.
Также у них есть рынок приложений, это их главная страница, все эти открытые приложения, которые вы можете развернуть в один клик так легко, включая собственное приложение, разработанное нашим сообществом, Bolt.DIY. Вы можете развернуть его в один клик вместе с множеством других приложений, таких как NN и Open Web UI, которые мне очень нравятся.
Итак, перейдя на свою панель управления, я на самом деле развернул Bolt.DIY через Repo Cloud. Я кликну на него, он требует входа в систему в первый раз, так что они его защищают, но да, это просто так круто! Смотрите, у меня есть мой Bolt.DIY здесь, размещенный в облаке мгновенно. Это было буквально всего лишь один клик, и мне нужно было ввести несколько вещей, и все.
Repo Cloud абсолютно фантастичен, я настоятельно рекомендую вам проверить их. Я оставлю ссылку в описании и закрепленный комментарий. Попробуйте, это отличная облачная платформа для размещения ваших проектов с открытым исходным кодом.
Следующий запрос определенно более сложный, так что этот я на самом деле освещал в других видео на своем канале, потому что я использовал его, чтобы использовать инструмент, такой как Lovable или Bolt, для создания полного фронтенда чата для моих AI-агентов, которые работают локально или в n8n. Я оставлю ссылку на это в описании, этот полный запрос, потому что вы можете использовать его с инструментом, таким как Bolt.DIY или Lovable, чтобы создать полный фронтенд. Это очень, очень удобно, он полностью интегрируется с Supabase для аутентификации и управления историей чата агента.
Я не собираюсь углубляться в детали этого запроса, потому что мы действительно просто хотим использовать это, чтобы протестировать R1 и O3 Mini, а не углубляться в то, что я на самом деле создаю здесь. Итак, я просто скопирую это и перенесу в свой экземпляр Bolt.DIY. Я вставлю запрос, заполнил несколько вещей, которые были заполнителями, таких как URL для агента и также мой анонимный ключ Supabase и URL проекта.
Теперь я собираюсь вставить это, и это должно занять немного больше времени, так как это будет немного больше, что нужно фактически произвести. Да, используя O3 Mini, как в прошлый раз, позвольте мне приостановить и вернуться, как только он создаст приложение.
Это заняло несколько попыток с O3 Mini, чтобы достичь рабочего состояния, которое мы видим здесь в нашем приложении. Позвольте мне быстро прокрутить вверх и показать вам эти ошибки. Во-первых, он начал с того, что просто показал мне страницу стартового шаблона Remix, так что он перепутал что-то с маршрутами, которые мне пришлось исправить. Он справился с этим, и затем были еще несколько ошибок, с которыми нам пришлось работать.
Кстати, в Bolt.DIY это очень легко: когда вы получаете ошибку на фронтенде, просто нажмите кнопку, которую вы увидите здесь, и она вставит всю эту ошибку, как вы видите здесь. Я не вставлял это сам, и затем она передаст это модели для исправления.
Так что это заняло несколько попыток, но теперь у нас есть что-то. Давайте я просто использую тестовые учетные данные, которые я создал в Supabase, и посмотрим, есть ли у нас работающее приложение. Итак, позвольте мне войти, и окей, это выглядит очень хорошо по сравнению с Lovable и Bolt, с которыми я тестировал тот же запрос в других видео на своем канале. Это выглядит довольно впечатляюще.
Вы можете загрузить историю разговоров здесь для всех наших различных чатов, которые мы просто храним в Supabase. Давайте посмотрим, смогу ли я продолжить разговор. Я просто перейду к этому, скажу "привет", посмотрим, получим ли мы ответ.
Итак, он загружает, и да, мы получили ответ от нашего NN-агента, который работает в реальном времени. Единственное, что он испортил, это дублирование сообщения пользователя, что я видел много раз, потому что он не совсем понимает, как сообщение приходит через базу данных, так что ему не нужно отображать его вручную на фронтенде. Но в целом это выглядит очень хорошо, так что все работает отлично.
Теперь давайте посмотрим, как это выглядит с R1.
Хорошо, чистый лист, возвращаемся к Deep Seek R1 через OpenRouter. Давайте вставим запрос и попробуем, как мы делали с O3 Mini. Вы знаете, как это работает, я приостановлю и вернусь, как только у нас будет наше приложение.
Хорошо, это заняло гораздо больше времени с R1, чем с O3 Mini. Эта разница в скорости определенно увеличивается с более сложным приложением, но я очень впечатлен тем, что R1 выдала здесь. Она на самом деле справилась довольно хорошо, даже с одним единственным запросом.
Так что это заняло несколько попыток с O3 Mini, чтобы даже дойти до точки, где она скомпилировалась, а R1 сделала это сразу. Чтобы быть честным и дать ей несколько дополнительных запросов, как я делал с O3 Mini, я просто исправил некоторые функции, чтобы они работали, и то, что она произвела, довольно похоже на то, когда я использовал R1, чтобы сделать что-то подобное в одном из моих предыдущих видео.
Но да, это выглядит так хорошо, честно говоря, даже лучше, чем O3 Mini. Итак, тот же самый Supabase, я собираюсь войти с теми же учетными данными и посмотрим, как это выглядит по сравнению с O3 Mini.
Хорошо, первая проблема здесь, похоже, что он не загружает мои разговоры, что довольно странно. Все остальное на самом деле выглядит гораздо лучше, но, похоже, функциональность не совсем идеальна. Давайте посмотрим, смогу ли я отправить сообщение модели. Я говорю "привет", и окей, это работает.
Так что у него та же проблема с дублированием сообщения, так что я не совсем исправил это, даже несмотря на то, что пытался сказать ему это в запросе. Так что, безусловно, не идеально, но выглядит гораздо лучше, чем O3 Mini. Я скажу это. Давайте посмотрим, работает ли история разговоров. Все выглядит хорошо, да, это сработало.
Хорошо, все выглядит хорошо, я могу начать новый разговор, я могу выйти. Здесь гораздо больше функциональности, но определенно несколько больше сбоев, чем с O3 Mini. Так что мне действительно трудно сказать, кто на самом деле победитель здесь.
Кажется, вы даже можете использовать эти две модели вместе, как O3 Mini, чтобы покрыть некоторые функции, которые R1, похоже, портит, такие как разговоры, а затем использовать R1, чтобы добавить больше функций и сделать все просто красивее.
Так что, к моему удивлению, R1 на самом деле лучше для интерфейса. Я просто думал, что O3 Mini будет лучше в этом. Супер, супер интересно.
Теперь давайте перейдем к последнему тестовому случаю.
Хорошо, последний тест, который я хочу провести в этом видео, — это более сложный запрос, но гораздо более простой промпт. Это как бы первый раз, когда я тестирую очень простое приложение, затем тестирую более сложное приложение, но я веду его через запрос в очень подробном виде. Теперь я хочу просто дать ему много творческой свободы, так что просто одно предложение: "Создайте мне полностью функциональный сайт для шахмат".
Я абсолютно обожаю шахматы, я даже был тренером по шахматам в какой-то момент своей жизни, так что да, я подумал, что это будет весело попробовать. И O3 Mini снова несколько раз ошиблась и сделала то же самое, что и раньше, когда просто начала с этой страницы приветствия стартового шаблона Remix.
Когда я заставил ее исправить это, она все равно оставила "Добро пожаловать в Remix", что действительно глупо. Но я нажимаю на эту кнопку, чтобы сыграть в шахматы, и она переводит меня на шахматную доску. Итак, хорошо, я думаю, это работает нормально.
Я могу кликнуть на пешку, давайте переместим ее сюда, и она не понимает, что я могу переместить пешку на две клетки в первый ход, так что это определенно не идеально. Но да, это работает хорошо, я могу захватывать фигуры, и в целом это действительно не следует правилам шахмат.
Так что позвольте мне просто попробовать это здесь. Я думаю, что на самом деле могу захватить короля. Я тестировал это ранее, и да, я могу захватить короля. Так что я могу поставить себя под шах. Это не идеальная ситуация, но да, довольно круто, что я создал полную шахматную доску всего лишь с одним запросом.
Я мог бы, вероятно, развить это гораздо дальше. Я не делаю много последующих запросов в этом видео, потому что хочу сохранить его коротким и лаконичным и действительно сравнить модели, а не создать полное приложение. Но я, вероятно, мог бы развить это гораздо дальше.
Итак, это O3 Mini. Давайте протестируем то же самое с R1.
Вот шахматная доска, созданная Deep Seek R1. Теперь для обоих этих примеров я не показываю полные вещи, начиная с нуля, просто потому что я хочу сохранить это видео кратким. Итак, да, я просто показываю вам конечный результат, созданный с R1, и это выглядит гораздо лучше, чем шахматная доска, созданная O3 Mini.
Итак, интерфейс снова уходит к R1. Давайте на самом деле протестируем функциональность.
Сначала я щелкну по пешке, и окей, она не соблюдает правила, так что это просто как и O3, где она не работает. Похоже, я могу просто двигаться повсюду, так что, я думаю, это больше предназначено для тех, кто доверяет, что вы и ваш друг или кто-то еще действительно будете делать легальные ходы.
Но в противном случае, да, функциональность не лучшая, так же как и с O3 Mini. O3 Mini на самом деле справилась с незаконными ходами и подобными вещами, или, по крайней мере, пыталась. Так что я бы отдал функциональность O3 Mini.
Таким образом, кажется, что в общем R1 имеет гораздо лучший интерфейс и просто способность лучше рассуждать о том, что вы на самом деле хотите построить, хотя он не всегда правильно реализует функциональность. Так что супер интересно.
Мне также интересно, какой у вас опыт использования этих двух различных моделей. Вы испытываете то же самое, что и я, или, возможно, совершенно другое, один намного лучше другого для вас? Для меня кажется, что обе модели на самом деле довольно полезны.
Так что впереди много контента, не только сравнение этих моделей, но и создание большего количества вещей с использованием как R1, так и O3 Mini. Обе фантастические модели. Если вы ждете этого и вам понравилось это видео, я буду очень признателен за лайк и подписку.
С этим я увижу вас в следующем видео.