Transcription
Cursor 2.0 только что запущен. Кто-нибудь умеет кодить? Сейчас, в этом видео, я изложу все новое в новом Cursor 2.0. Говорят, Cursor V. И, честно говоря, Cursor здесь попал в яблочко. Давайте посмотрим. Снова добро пожаловать. Давайте посмотрим, как мы используем Cursor 2.0, поскольку у нас здесь довольно крутые обновления. Сразу же я собираюсь войти в мое тестовое приложение. Это небольшое приложение React, которое мы создали. Если вы даже не знаете, что такое приложение React, или что такое тестовое приложение, что мы здесь делаем, Корбин? Зайдите на мой GitHub, найдите мой репозиторий под названием test app. Вы можете скачать его. Вы можете форкнуть его. Вы можете клонировать его в свой собственный git-репозиторий. Но, по сути, это просто наше маленькое приятное приложение-песочница. Мы сможем провести множество тестов и поэкспериментировать с GitHub в описании ниже. Итак, прежде всего, поскольку мы все визуалы. Я хочу увидеть что-то визуальное. Корбин, мы сначала запустим это приложение, чтобы увидеть его на localhost. Запустите приложение. Бум. Вы уже заметили сразу, что чат выглядит немного иначе. Итак, мы посмотрим, как мы можем использовать эти функции. И на самом деле, давайте используем одну из первых новых основных функций. Cursor недавно добавил возможность работать с браузером, но они дали ему огромное обновление. Если я подойду сюда к глобусу, вы заметите, что теперь мы можем открыть его во вкладке браузера в IDE, а также в Google Chrome, как мы могли делать раньше. Но мне очень нравится эта вкладка браузера, ребята. Если я нажму сюда, за мной будет вкладка, которую Cursor AI сможет ярко видеть при разработке фронтенда. Например, мы выполним команду "запустить приложение на localhost 3000 и перейти к нему в браузере". Нажмите Enter. Раньше это открывало бы инкогнито-браузер в Chrome, что неплохо. Это работало. Это было прекрасно. Но это намного лучше, ребята. Итак, мы позволим этому быстро запуститься. И бум. У нас есть localhost 3000 в нашей IDE. Теперь, почему нас это волнует, Корбин? Почему это так важно? Потому что смотрите. Если я подойду сюда к инструменту под названием "выбрать элемент", я могу выбрать любую часть здесь и изменить ее. Например, я иду к заголовку и могу сказать: "Измените "демократизировать разработку"". Нажмите Enter, и Cursor будет иметь контекст, что я ссылаюсь на эту точную часть. Теперь для чего-то простого, как заголовок первого уровня здесь. Некоторые из вас скажут: "Ну и что? Это очень просто". Но когда ваше приложение становится чрезвычайно сложным, у нас была только возможность либо использовать контекст зрения, например, сделать скриншот этого, либо альтернативно ввести текст здесь. Что мне действительно нравится в этой функции, так это то, что с очень сложными фронтендами у меня есть очень простой способ идентифицировать очень специфические части фронтенда. Поэтому это номер один для 2.0 Cursor. Теперь, конечно, поскольку это происходит в такой среде, вы можете сказать: "Корбин, как мне получить консольные логи здесь?" Они поместили их прямо здесь. Итак, я нажимаю сюда. Это похоже на пользовательский интерфейс Chrome. Перейдите в консоль. И вот как вы сможете видеть все свои консольные логи здесь. Маленькие отладочные сообщения, маленькие сообщения об ошибках типа "эй, что-то не так с кодом". Вот несколько сокращений, которые могут помочь вам в чате. Потому что я замечаю, что иногда он говорит: "Эй, я смотрю на это". Но он на самом деле не смотрит на это. Во-первых, вы можете использовать эту вещь, чтобы сделать снимок экрана. Эти три точки, сделать снимок экрана, сделать снимок полного экрана, и это будет добавлено в базовый чат, чтобы он мог, по сути, знать, о чем вы говорите. Другое, что вы можете сделать, это буквально сказать ему в подсказке посмотреть на страницу. Например, подсказка "перейти на localhost 3000" или "перейти на localhost, какой бы ни был ваш номер порта", используя терминологию "перейти", он восприимчив и действительно перейдет к ней. Приятно. Я также сделал другое видео на эту тему, когда речь идет о браузере и его мощи, когда речь идет о взятии чужого кода, особенно фронтенд-кода. Если вы хотите посмотреть его, просто зайдите на мой канал. Он буквально называется "Как украсть код с помощью Cursor AI" или что-то в этом роде. Хорошо, давайте посмотрим на еще одну функцию, чтобы изложить все различные функции. У нас есть новая модель асинхронного кодирования, которую мы проверим. Агентский макет, который будет следующим здесь, браузер, который я только что показал вам, параллельные агенты. Это интересно. Мульти-агенты, куча разных моделей и в редакторе, багбот. Сначала давайте проверим этот новый режим агента. Я подхожу сюда, чтобы переключиться на агентов. Итак, что сделал Cursor AI здесь, так это сделал так, что вам даже не нужно смотреть на код репозитория. По сути, вы просто разговариваете со своим приложением. Например, если я говорю: "Знаете что, я хочу поговорить со своим приложением, но также иметь здесь свой пользовательский интерфейс". Посмотрите на этот двойной удар. Я могу говорить, иметь свой пользовательский интерфейс, видеть, что здесь происходит, и просто сходить с ума. Также у меня здесь есть все мои предыдущие задачи агента. Если некоторые из вас старомодны, как я, я не особенно люблю режим агента из-за того, что я действительно хочу видеть свой код в своем репозитории, но это очень дружелюбный к кодированию пользовательский интерфейс. Итак, в этом новом режиме редактирования давайте выполним еще одну задачу. Мы могли бы выбрать новую модель Cursor. Итак, я нажимаю сюда. Это называется composer one alpha. И давайте попробуем что-нибудь. Давайте сделаем простую подсказку: "Сделай мое приложение намного веселее". Добавь конфетти на кнопки плюс и минус прямо надо мной. Плюс два, минус два, все такое. Composer one alpha выбран. Нажмите Enter. Ваш следующий вопрос может быть: "Корбин, является ли composer one лучшей моделью?" Проще говоря, когда дело доходит до выбора правильной модели для кодирования, это чрезвычайно зависит от того, что вы строите. Поэтому мое мнение по этому вопросу часто меняется. Когда я впервые начал кодировать с помощью ИИ, я был в полном восторге от ChatGPT. Но Claude Sonnet действительно показывает хорошие результаты. Теперь, когда речь идет об этой новой модели с Cursor Composer, способ оценить, является ли она лучшей моделью для вас, — это использовать ее. И если вы заметите, что выходные данные кода такие "никчемные", "капут" или просто мусор, не используйте ее. Для моего конкретного случая я все еще немного люблю Claude. Но кто знает, может быть, они значительно улучшат эту модель в долгосрочной перспективе. Честно говоря, мне все еще нужно продолжать тестировать ее, чтобы получить лучшее представление. Демократизировать разработку. О, мне это нравится. Это плюс два, минус два. Конфетти. Конфетти. Конфетти. Конфетти. Конфетти. Подождите, что я сказал? Конфетти. Поместите меня на счетчик. Поместите меня на счетчик. Хорошо, давайте посмотрим на еще одну новую вещь в Cursor 2.0. И мы останемся в режиме агента, потому что, знаете ли, я больше не редактор. Итак, еще одна вещь, которая мне показалась крутой, — это несколько моделей. И это позволяет нам делать следующее: раньше в авторежиме мы позволяли Cursor AI выбирать лучшую модель для конкретного случая использования, но вы можете сказать: "Cursor, я знаю лучше". Теперь вы можете использовать несколько моделей здесь, и, возможно, вы скажете: "Мне нравится Composer, мне нравится GBT5, я абсолютно ненавижу Cheetah, не выбирайте Cheetah, давайте добавим 4.5 Sonnet", и тогда он будет переключаться между этими тремя моделями. Мне это нравится. Это очень тонкий способ управления этим по сравнению с авторежимом, который говорит: "Какую из них вы используете прямо сейчас?". Мы оставим авторежим, чтобы я мог показать вам следующую большую вещь, ребята. Цикл количества агентов. Это безумие. Итак, давайте сделаем два. Что это, по сути, сделает, так это то, что вы введете задачу, а затем она даст нам два разных типа выходных данных. Вы можете увеличить до четырех, если хотите. Давайте просто быстро посмотрим пример. Итак, давайте сделаем наш приятный маленький фронтенд немного более интерактивным. Итак, когда я нажимаю минус и плюс, у нас есть приятная маленькая гистограмма. Добавьте гистограмму для числа на счетчике. Нажмите Enter. И посмотрите на это, ребята. Это безумие. Обратите внимание, что у нас есть два отдельных чата, которые, по сути, работают. Но на самом деле это два разных агента, которые говорят: "Эй, давайте начнем. Пора идти. Это режим потока". И они запускаются по этой первоначальной подсказке. Вы также заметите, что пока это происходит, я нажимаю "новый агент". И я могу отправить еще одну задачу. Что происходит, Корбин? Где старая задача? Не волнуйтесь, она здесь, в процессе. Они классифицировали ее для нас. Отсюда я могу отправить еще одну задачу или альтернативно подождать, пока эта задача не будет выполнена. Честно говоря, если только другая задача не является совершенно отдельной частью кода, например, вы работаете над чем-то во фронтенде, а затем хотите отправить еще одну задачу для бэкенда, я бы использовал ее. Но если это тот же самый репозиторий или если вы используете полирепозиторий, где другая задача связана, скажем так, хорошо, вы занимаетесь монетизацией Stripe. Вы запускаете одного из этих агентов, и он запускается, и у вас есть четыре разных версии этого. Я бы не начинал нового агента по теме монетизации Stripe, потому что код может конфликтовать. Это может быть очень запутанно. По сути, если вы запустили агента для решения проблемы загрузки изображения профиля пользователя, я бы не создавал отдельного агента для выполнения той же задачи. Но небольшая нюанс. Вот почему мы используем метод цикла количества агентов. У нас получилось два результата. Вы узнаете, что он закончен, когда увидите "добавить гистограмму". Он находится в процессе проверки. И мы можем увидеть две разные версии этого. Первая большая вещь, на которую стоит обратить внимание при работе с несколькими версиями агента, выполняющего такой поток, — это количество добавленных и удаленных строк кода. Плюс 33 означает, что было добавлено 33 новые строки кода, а плюс 92 означает, что было добавлено 92 новые строки кода. Я хочу увидеть код, я могу просто спуститься сюда к обзору, и вы увидите каждый из них здесь. Что такое строка кода, Корбин? 28, 29, 30. Это строки кода, и наоборот тоже верно. Итак, если я подойду сюда, это означает минус два. Значит, было удалено две строки кода. Теперь, что вам нужно знать как инженеру-программисту о том, что это значит для вашего приложения? Вы знаете старую поговорку: "Больше денег — больше проблем"? Это может быть немного похоже здесь: "Больше строк кода — больше проблем". Код может быть идеальным. Эти 93 строки могут быть абсолютно идеальными. Но вы вводите 93 новые строки кода в свое программное обеспечение. Там, где в начале вашего приложения это не имеет большого значения, потому что, очевидно, вы выводите код. Но на более зрелой стадии приложения 93 новые строки могут быть красным флагом. Но, честно говоря, 93 — это не так уж и много. Я думаю больше о 200, 300 новых строках. Вот где это становится немного похоже на то, что происходит. Но имейте это в виду. Теперь давайте сравним эти два. Итак, у меня есть первый, автоприменение. Когда я запустил это, оно сломалось. Имейте это в виду. Вот почему мы обычно делаем PR, и я покажу вам, что это значит довольно скоро. Но идея в том, что ему пришлось изменить какой-то код, чтобы он действительно работал. Вот авто один. Поехали. Я имею в виду, визуализация немного мусорная, но, очевидно, мы могли бы быть более конкретными с нашими подсказками, но это его визуализация, верно? Значение один минус 4. И это вроде приятной маленькой синей полоски. Так что я думаю: "Знаете что, это мусор". Мы можем посмотреть авто два. Я не знаю, почему я называю их авто один, авто два. Это, по сути, мой способ сказать два разных агента, которые работали. Чтобы сделать это, я скажу "применить все". И тогда мы здесь, с авто два. Очевидно, тоже не лучше. Теперь, честно говоря, когда дело доходит до фронтенд-разработки и множества рабочих процессов, я бы не стал этого рекомендовать. Я думаю, что просто делать один выстрел и один заход, вероятно, лучший метод. Позвольте мне показать вам более безопасный способ увидеть изменения фронтенда, чем то, что я только что показал вам. Я просто хотел грубо его пробить, чтобы вы получили представление о том, что это вообще означает под вариацией. Итак, возвращаясь в режим агента, я хочу, чтобы вы подошли сюда к "создать PR". Что это сделает, так это автоматически создаст pull request, и поэтому мы можем создать этот pull request и посмотреть, хотим ли мы объединить его в нашу основную ветку. Как я уже говорил тысячи раз на этом канале, если вы не знаете, что такое GitHub, или не знаете, как его использовать, я оставлю 46-минутный учебник в описании ниже, чтобы вы могли понять, почему мы вообще объединяем. Что такое PR? Что такое GitHub? Все это объясняется в этом 46-минутном учебнике. Давайте посмотрим на следующую функцию Cursor AI. Здесь есть еще две вещи, на которые я хочу обратить внимание в сегодняшнем видео, и это будет аудио. Итак, голосовой ввод. Например, мне нужно, чтобы вы сделали мой пользовательский интерфейс намного лучше. Намного лучше. Сделайте его похожим на идеальный пользовательский интерфейс Apple. Абсолютно идеальный. Остановить запись. Ввести. И некоторые из вас любят это. Хорошо. Некоторые из вас писали мне в Твиттере: "Мне очень нравится просто голосовой ввод". Я говорю: "Хорошо, мы называем это "болтливым кодированием"? Мы теперь болтливо кодим". И с этим мы посмотрим, что он сделает. Это Apple, так что вы уже знаете, что они должны были выбрать светлую тему пользовательского интерфейса с ярним синим W или L. Дайте мне знать в комментариях. Есть и другие функции в обновлении Cursor 2.0, но это, вероятно, самые большие, которые мне запомнились. Один маленький быстрый совет, когда речь идет о том, когда я бы использовал параллельный рабочий процесс или, возможно, 4x, 3x или 2x в смысле, что я ввожу подсказку и получаю три разных результата, два разных результата, четыре разных результата. Я бы рекомендовал использовать такой рабочий процесс для более тяжелой логики бэкенда. Например, какой лучший способ загрузить PDF, увидеть все ответы на него, увидеть весь код для него, а затем вы можете таким образом разобраться, какой, вероятно, будет самым эффективным способом сделать это, потому что одна очень интересная вещь в кодировании заключается в том, что вы теоретически можете достичь одного и того же конечного значения, так что, возможно, ваше значение — это анализ PDF, но основная конвейерная линия для сжатия данных этого PDF, какой самый эффективный, экономичный способ сделать это в масштабе, это реальная вещь, у вас может быть пять разных способов сжать данные PDF. Но четыре из пяти — это C++, а один из них — A+. Поэтому мы можем использовать эту функцию мульти-чата. Возможно, не мульти-чат или как там его. Функция мультимодели. Хорошо. Два, три, четыре. Зия. Если вы хотите увидеть, что нового и интересного на этом канале в области ИИ и всех этих различных инструментов, обязательно подпишитесь на меня в X, ссылка в описании ниже. Но, как вы уже знаете по таким видео, увидимся в следующем. Я в полном восторге от Cursor 2.0, знаете, но особенно от функции браузера, потому что теперь фронтенд-разработка так проста. Вы можете буквально указать на что угодно во фронтенде и сказать: "Знаете что, измените это. Мне нужен другой цвет. Подождите, сделайте его больше. Сделайте этот текст больше. Мне нравится, когда текст больше. Поместите меня в начало видео. Поместите меня на счетчик. Поместите меня на счетчик."