[00:02] рабочий процесс программирования ИИ. Я собираюсь создать приложение с нуля, используя искусственный интеллект, и покажу вам, как я настраиваю свою среду, как я задаю модели команды, какие инструменты использую и как преодолеваю проблемы, которые неизбежно возникают при [00:15] было действительно реалистичным и очень прагматичным, чтобы вы могли увидеть, как опытный разработчик использует эти инструменты для быстрого и эффективного создания чего-либо . Итак, давайте начнём. Прежде чем [00:28] что-либо строить, нам нужно знать, что именно мы собираемся строить. Звучит очевидно, рабочем процессе, и многие его пропускают, что приводит к очень плохим результатам в дальнейшем. Здесь вам следует потратить много времени на изучение альтернатив, [00:42] технологического стека и инструментов (о чем я расскажу через минуту), а также на разработку действительно хорошего общего плана, прежде чем вы просто погрузитесь в создание случайного продукта с использованием ИИ. В рамках этого конкретного видео я хочу [00:55] создать инструмент для создания коротких видеороликов с использованием искусственного интеллекта. То есть, что-то вроде Opus Clip, если я, например, вставляю длинное видео с YouTube, а искусственный интеллект автоматически генерирует для меня множество коротких роликов с субтитрами. Это как бы меняет ракурс моего [01:08] лица, потому что мне нужно перейти от клипа 16x9 к клипу 9x6, то есть от горизонтального к вертикальному. Я хочу, чтобы у меня были, очевидно, хорошие моменты. Я хочу, чтобы у фотографии был заголовок, подпись и всё в этом роде . Вот такая у меня идея. Вы можете создать [01:21] все, что захотите, но мы начнем с идеи, а затем нам нужно будет провести исследование и понять, какой технологический нас будут в этом конкретном стеке, и как мы можем настроить нашу [01:35] среду кодирования, чтобы эффективно использовать все эти инструменты. Я провел небольшое исследование перед этим видео, чтобы как я это сделал. Я создал быструю презентацию, используя Claude [01:49] Code. По сути, я просто ввел свою идею, дал ей подсказку и сказал: «Вот что я хочу создать, помогите мне провести исследование, выяснить, какие инструменты мне следует использовать, и определить [02:01] этого проекта». Я долго размышлял над этим, задавая себе множество вопросов, и в итоге начал понимать, какие инструменты подойдут, какой алгоритм работы будет Это и есть первый этап. И я не хочу тратить на это слишком много времени, потому что знаю, что [02:14] рассказать об инструментах, которые я буду использовать в этом видео, чтобы вы могли примерно представить, как я всё спланировал. В ходе своих исследований я понял, что самая простая часть этого приложения — это выбор подходящего [02:28] на текст видео и говорим: «Хорошо, этот фрагмент текста вполне подходит под определение видеоролика». Но самая сложная часть заключается в том, как превратить эти фрагменты в настоящие видеоролики, верно? Итак, у меня есть [02:42] нужные временные метки, но как мне снять видео целиком? Как мне преобразовать это в другой формат? Как добавить субтитры? Как мне это посмотреть онлайн? Как это сделать быстро? Как мне это скачать или загрузить ? Все эти [02:54] локально на своем компьютере. Однако, если вы хотите это будет немного сложнее. Итак, для я понял, что мне понадобятся три инструмента: Whisper. Это предоставлено [03:07] Гроком, и это позволит нам, по сути, выполнить транскрипцию аудиозаписей. Таким образом, мы можем передать аудиофайл. Мы можем восстановить весь содержащийся там текст. наша модель искусственного интеллекта, которая будет заниматься отбором видеороликов, а [03:21] заголовков для видео. А затем мы будем использовать платформу под названием давними спонсорами этого видео и обратились к нам с предложением спонсировать именно этот нам превратить любой момент в [03:35] настоящее видео. Я расскажу, как это работает, позже, но не волнуйтесь, Итак, на данный момент я примерно знаю основные компоненты, которые мне понадобятся для этого приложения. А ещё я решил: хорошо, я хочу, чтобы это было веб- [03:47] с помощью Nex.js. Именно об этом я говорил с Клодом, и мы в итоге решили, что такой набор текста будет иметь смысл. Итак, после этого, А теперь перейдём к инструментам искусственного интеллекта, [04:00] покажу вам, как настроить их в режиме реального времени всего за одну секунду. Теперь я буду использовать курсор, и мы будем использовать модель с когтями для построения этого. Существует множество обычно, когда я создаю что-то полностью с нуля, [04:12] модель Frontier Claw, которую вы видите в этом видео, А когда мне нужно провести масштабные рефакторинги, внести правки или если у меня много повторяющихся ошибок, я переключаюсь на что-то вроде GPT 5.5 или на более быструю [04:26] модель, если мне нужно внести только изменения, связанные с пользовательским интерфейсом, например, Composer 2.5. Итак, что я собираюсь начать настройку курсора. Таким образом, в нем есть некоторые функции агента и инструменты, которые инструментами, необходимыми нам для этого конкретного проекта. Итак, учитывая это, давайте [04:39] скачайте программу Cursor, откройте её, и я покажу вам, как я настроил свою открыт, и первый шаг — просто открыть новую папку, что я уже сделал. И вы заметите, что я только что открыл здесь, сбоку, окно, похожее на окно агента [04:52] Я просто выбрал нужную мне модель , а именно Opus 48, потому что Fable 5 сейчас недоступна. И я перешла к редактированию. Я собираюсь включить режима размышлений. Я собираюсь присвоить этому контекстное окно в 1 миллион просмотров. И я [05:05] собираюсь отнести его к среднему уровню, который является оптимальным для многих вещей, или очень высоко, но это займет гораздо больше времени. Хорошо. Кстати, это в курсоре. Это не будет абсолютно бесплатным, но [05:17] лично я использую именно этот вариант. Затем у меня есть режимы работы агента и все такое прочее, что мы оставлю все в одном окне для агента. И я предпочитаю использовать этот режим просмотра, где я могу видеть все файлы, вместо того, чтобы переходить в это новое [05:30] кажется, является режимом по умолчанию, где вы просто общаетесь с потому что, как мне кажется, мне проще, когда я вижу в этом одном окне чата . А причина, по которой я использую Cursor, заключается в том, что, как [05:45] я обнаружил, он работает намного лучше, чем такие программы, как Claw Code или Codec, потому что, хотя он использует те же модели, у него есть программный код, разработанный командой Cursor, который, на мой взгляд, работает намного лучше. Это мой [05:57] . И тогда вы заметите, что я по-прежнему продолжаю вскрывать это место когтями . У меня окном чата. А если мне просто нужно поболтать в сторонке, провести исследование или сохранить результаты своей работы, чтобы мне было проще искать информацию [06:11] на разных устройствах, то я сделаю это прямо здесь, в этом курсоре. Так что презентацию. Я занимался поиском информации по видео, которое хотел окне. Конечно, я этого не делаю в курсоре. Я использую курсор только тогда, когда хочу [06:26] написать код. Итак, первое, что я хочу сделать здесь, в мы собираемся построить. Обычно я начинаю диктовать текст в Cursor, описывая свою идею, а затем перечисляю [06:40] принял. У меня на компьютере есть эта программа . Это называется «Шепот потока». секунду. Это позволяет мне просто говорить в все мои слова сразу же преобразуются в текст, [06:52] значительно ускоряет весь процесс, и я бы рекомендовал вам это использовать. Итак, я сейчас покажу в детали, потому что это своего рода мой метод работы с ИИ. На самом деле, это работает непосредственно в курсоре и может, например, помечать файлы тегами и тому подобное. Итак, я собираюсь [07:05] сказать следующее. Я хочу создать инструмент для коротких позиций на основе искусственного интеллекта. Основная идея заключается в том, что я хочу загрузить большой файл, стандартное видео 16x9, а затем преобразовать его в несколько более коротких клипов. Идея заключается в том, что я хочу взять [07:19] более короткие фрагменты, и я хочу сделать это, анализируя аудиозаписи. Я хотел бы создать это веб-приложение с использованием Nex.js и применить следующие инструменты. Во-первых, для транскрипции видео я хочу [07:33] использовать программу Whisper от Grock. Итак, я предоставлю ключ API для Grock. Затем я хочу использовать Клода, а именно модель сонета, чтобы выделить ключевые моменты в моем видео и сгенерировать заголовки и подписи для этих коротких роликов. [07:46] Наконец, я хочу использовать ImageKit для обработки всех задач, связанных с изображениями и видео . Например, я хотел изменить ракурс лица пользователя. Я хотел добавить подписи. Мне нужен формат потокового видео. А мне нужно, чтобы приложение [07:58] автоматически загружало мое видео, позволяло мне его скачивать и так далее. Можете ли вы составить общий план и архитектурный документ для этого нашего проекта? Задавайте любые интересующие вас вопросы, прежде чем мы продолжим. Хорошо. Хорошо, [08:12] я понимаю, что это длинный вопрос, но по сути, контекст, который мы сможем начать создавать, чтобы у нас были файлы Markdown в нашем приложении, которые мы сможем использовать практически постоянно в разных чатах. Таким образом, если я [08:27] захочу открыть несколько чатов с агентами или захочу парализовать этот процесс, я всегда смогу понять, что это за приложение и какие решения мы уже приняли. Итак, я сейчас это запущу. И кстати, если хотите ознакомиться с Whisper Flow, то [08:40] с ними налажено долгосрочное партнерство. Итак, в описании есть ссылка, которой вы можете куча статистики и тому подобное, и, например, вы, очевидно, печатаете или, извините, говорите намного быстрее, чем можете печатать. Хорошо, тогда мы подождем, пока [08:53] этом видео. Я пропущу большую часть длинных заданий. Как только он вернется, я сразу же . И, собственно, мы уже дошли до того момента, когда оно задает мне несколько вопросов. Итак, я собираюсь ответить на эти разные вопросы. Я [09:06] начале задания. Вы говорите модели: « Эй, задавай мне вопросы». А теперь у них появилась отвечать на вопросы, не снимая курсора. Итак, я отвечу на все эти вопросы, а среды. Итак, я ответил на вопросы, и, пока я это делаю [09:19] , я просто хочу показать вам, почему я знаю возможности этих инструментов. Итак, прежде чем начать это выбрал инструменты, которые буду использовать. В моем случае я нашел ImageKit, и, конечно же, [09:32] я знаю об их существовании. А если прокрутить страницу вниз, то я примерно понял, что у них есть автоматическая оптимизация изображений и видео. У них есть функция изменения размера, обрезки и трансформации, верно? Я знаю, что они могут выполнять своего рода [09:44] видео, сфокусировать его на вашем лице и перемещать его. Итак, поскольку я знаком со всеми функциями этого инструмента, я знаю, что нужно попросить документацию и понимаю возможности инструмента. То же самое и [10:00] посмотрел и увидел, что у них есть огромный турбодвигатель V3. Это очень быстрая система распознавания речи. И, конечно же, я знаю, что в Claw я могу использовать ключ API и получить необходимую информацию, проанализировав текст. Поскольку у меня [10:13] есть базовый контекст и я примерно представляю, на что способны эти инструменты, я могу лучше информировать модель ИИ. Теперь, после получения первоначального контекста, мы начнем [10:26] добавлять различные серверы MCP в Claw или Cursor, что я всегда делаю в зависимости от используемого инструмента. Сейчас существует множество инструментов, например, Firecrawl, и тому подобное . Все эти системы, [10:38] как и любые другие новые фреймворки, вероятно, имеют агентскую шкалу или какой-либо MCP-сервер, который помогает модели понять, как их использовать. Итак, что я оставлю её в описании, «создано с помощью ИИ», где представлены навыки агентов, [10:52] серверы MCP и документация в простом текстовом формате . Таким образом, вместо того, чтобы мне приходилось знать все документы, копировать и вставлять текст, например, URL-адрес веб-сайта, я могу установить эти навыки, что мы можем сделать [11:04] прямо сейчас, чтобы агент понял, как использовать этот инструмент. Итак, я сейчас перейду сюда, к настройкам курсора. Я просто скопирую команду в терминале. Итак, давайте я открою терминал и запущу [11:19] это. И программа должна просто установить эти навыки и автоматически добавить их сюда, внутрь курсора. И вы видите, что это работает, и теперь у нас есть навыки агентов, и мы получаем множество навыков, встроенных непосредственно из Image Kit, которые [11:31] теперь Cursor может начать использовать. Теперь, помимо этого, мы также хотим добавить сервер MCP. Таким образом, получается, что мы можем просто добавить эти MCP-серверы прямо в курсор MCP.json. Поэтому вместо того, чтобы делать это самому, я [11:44] просто пойду и скажу курсору, ну, добавить эти MCP-серверы. Хорошо. И система должна Затем нам останется только пройти аутентификацию на сервере MCP, чтобы войти в систему и получить доступ к нашей учетной записи Image Kit. И, разумеется, для просмотра этого [11:59] понадобится аккаунт в ImageKit. Как я уже говорил, пользоваться им совершенно бесплатно. И, на которую можно перейти, получив более высокую пропускную способность, больше памяти, более высокие лимиты загрузки и т.д. А если вы хотите получить информацию об этом аккаунте [12:13] по ссылке в описании), перейдите в параметры разработчика, и вы увидите свою ключ и свой закрытый ключ, который, по сути, используется для аутентификации в окно, потому что оно сообщило мне, что добавило сюда сервер MCP. А для того, чтобы [12:29] сервер MCP заработал, мне нужно всего лишь открыть настройки MCP. Таким образом, курсор здесь используется для ввода командной строки: command, shiftp или control shiftp. Я зайду в MCP и открою настройки MCP. И теперь вы увидите, [12:41] что наши серверы MCP добавлены. Обратите внимание, что у меня подключен сервер GitHub MCP, Подключиться» для API Image Kit и вставлю свой настроил среду. Поэтому в дальнейшем это будет более эффективно. Позвольте [12:56] Теперь вы видите, что я подключен к система может управлять моей учетной записью Image Kit прямо с сервера MCP. А ещё у меня есть общедоступная панель MCP, где можно искать информацию в документации и тому подобное, [13:09] если это необходимо. Итак, теперь у меня, по сути, настроен курсор, верно? У меня есть необходимые мне навыки. А если бы я использовал другие инструменты, я бы просмотрел их и я хотел бы быстро взглянуть на имеющуюся у нас документацию [13:24] и убедиться, что всё понятно и что в ней изложены имеющиеся у нас инструменты. Итак, мне кажется, что с точки зрения Конечно, мы можем изменить это позже. На данный момент я просто [13:37] оставлю все изменения. Извините, мне нужно перейти к этому файлу и сохранить внесенные начать настройку Git здесь, чтобы мы могли всё сохранить и откатить изменения, если это потребуется. Поэтому я настоятельно рекомендую [13:49] сервер GitHub MCP, чтобы он мог создавать для вас репозитории. Итак, я скажу модели создать для меня новый репозиторий и начать настройку коммиты при внесении существенных изменений, чтобы [14:03] в будущем можно было откатить изменения. Добавьте это как отдельное правило для этого проекта, которое мы всегда изменений, и это должно происходить автоматически. Итак, сейчас я добавляю правила для курсора в этом месте. Таким образом, курсор способен генерировать правила, что [14:18] секунду. Правила — это то, что всегда будет фигурировать в вопросах видите, для нас создана папка под названием rules, и в ней есть файл правил, благодаря которому курсор или [14:32] используемые нами модели всегда знают, что нужно делать определённое действие при по какой-то причине перемещает его или что-то с ним делает. Но суть в том, что дальнейшей работы с ним нам не нужно будет указывать ему, когда делать коммиты. Это [14:46] должно происходить автоматически. Хорошо. Таким образом, правило создано. Оно попало в репозиторий GitHub. Я это вижу. Он появился в моем Git-аккаунте, и мы, по . Итак, я собираюсь собрать [14:58] необходимые мне API-ключи, поскольку у меня есть открытый ключ, закрытый ключ, URL-адрес и т.д. для набора образов, а также API-ключи для Grock и Enthropic. И не Grock или как там это пишется, потому что мне нужен вариант с буквой Q [15:12] это исправить. Итак, позвольте мне просто рассказать о модели. И это довольно распространенное явление. Оно обязательно хочу использовать Грок. Я хочу использовать grock с буквой Q. Поэтому нам просто нужно это изменить. Для транскрипции произносите слово «Грок» вот так: [15:26] uh. Хорошо. Давайте скажем ему об этом, и, корректировки. Мы будем продолжать в том же духе . Сейчас я введу разработке приложения. Хорошо. Итак, я просто поместил эти файлы в файл [15:39] env.local. В таком случае я мог бы просто сказать: «Хорошо, давайте начнём выполнять это задание» . Начинайте строить всё в соответствии с разработанным нами планом. А затем, если я захочу, чтобы в курсоре теперь была эта функция многопользовательского доступа или многозадачности, [15:51] им не пользуюсь, потому что иногда он начинает работать некорректно, и его становится потому что мы его довольно хорошо подготовили и потратили время на его структурирование. Вероятно, это сработает. Давайте запустим его и посмотрим, сможет ли он [16:04] запустить несколько агентов и построить это относительно быстро. Хорошо. Итак, первое задание выполнено. Всё было построено. Если я вернусь сюда, то проекты. По какой-то причине эта попытка провалилась. Конечно, нам придётся [16:16] начать отладку, но мы можем загрузить видео. Эта часть сработала. И если я сейчас перейду оттуда видео, то мы сможем увидеть его в медиатеке. И мы видео успешно загружается. Итак, загрузка работает. А это всего лишь фрагмент более [16:31] длинного видео, которое я сделал, поэтому оно немного короче. Вы можете увидеть 335 мегабайт. отметить, что при использовании бесплатной версии Image Kit максимальный размер загружаемого файла составляет 100 мегабайт. Поэтому имейте это в виду. на профессиональной версии, которую я [16:47] вы можете посмотреть множество других параметров в разделе "Учет платежей". У меня обновил систему, но вы сможете увидеть все доступные функции, если сейчас я просто скажу ему: "Хорошо, это не работает". Итак, мы загрузили [17:01] общем, это буквально всё, что я делаю, когда что-то не получается. Если появляется сообщение об ошибке, я просто копирую его и указываю, что после загрузки и перехода к этапу транскрипции я получаю это сообщение об ошибке. Видео успешно загружено и находится в [17:13] транскрипция не работает. Мы можем это отладить? Поэтому я пытаюсь предоставить системе сообщение об ошибке, чтобы она знала, что хотя бы первый этап работает. А отладкой. Хорошо. И по мере выполнения этой программы я начинаю понимать, что то, что она [17:27] делает, на самом деле не имеет смысла. Похоже, программа пытается Grock для транскрипции, а это не то, что мне нужно. Итак, чтобы внести ясность, я хотел бы уточнить: [17:41] преобразуем видео в аудиоформат. Поэтому у нас нет видеозаписи, и мы транскрипции, что значительно уменьшает его размер. С этим справится комплект для создания образов. И я знаю, что ImageKit способен предоставить нам только чистый звук с видео. Эта [17:55] модель может выполнять множество преобразований, и она сможет их все обработать, поскольку подключена к серверу MCP. Но опять же, я это знаю, потому что я прочитал изучил, что на самом деле возможно с помощью ImageKit, и я знаю, что он [18:09] может изменять размер. Я знаю, что это может обеспечить нам потоковую передачу с адаптивной скоростью передачи данных. Таким образом, мы можем наблюдать за этим в режиме реального времени при различном разрешении. И тогда я понимаю, аудиозапись. А ещё есть преобразования URL-адресов . Как видите, здесь всё [18:23] вам не нужно делать ничего особенного. Вам просто нужно добавить эти параметры запроса в конец сгенерированного URL-адреса видео, и система преобразования, именно поэтому вы и используете этот метод. В [18:36] общем, давайте подождем, пока это завершится, и, надеюсь, все будет в порядке. Итак, похоже, всё получилось загружу ещё одно видео, и посмотрим, правильно ли сделана транскрипция ещё раз, ребята, я показываю вам это, потому что именно так всё и происходит, когда вы [18:50] создаёте что-то с помощью ИИ. Есть ошибки, есть проблемы, и я на самом деле читаю, понять, что она делает, и изучаю различные вызовы инструментов, потому что она собирается пойти в неправильном направлении, и сразу же вмешаться, [19:04] Эй, исправь это», и она вернулась к подчиненному агенту, потому что мы находимся в многозадачном режиме. Я внес изменения, и теперь, надеюсь, все заработает. Хорошо, я только что это перепроверил. Похоже, теперь всё работает. Это действительно [19:17] впечатляет. Здесь находится расшифровка, а затем — видеоролики. требуется некоторое время, чтобы загрузить изображение из ImageKit, но, по крайней мере, они выбирают нужные разделы, и теперь, как видите, оно вроде бы отображается. Похоже, [19:31] мне выдаётся целый 4-минутный ролик, а не реальная, трансформированная версия. Итак, позвольте мне отправить ему еще одно сообщение и примерно мы продвигаемся вперед и добиваемся прогресса. И, собственно, в [19:45] это сфотографировать. Я считаю, что это тоже очень полезно для моделей. Они действительно могут видеть, что находится в пользовательском интерфейсе. Они должны сами это увидеть, но даже в что-то конкретное. Итак, я добавлю фотографию и сообщу, [19:57] . Однако на самом деле мы не создавали ни одного из преобразованных видеороликов с помощью ImageKit. В данный момент оригинальное видео отображается пять раз. Нам нужно фактически создать пять разных видеороликов. Давайте убедимся, что [20:10] и одновременно, что мы добавляем подписи, выполняем перекадрирование лиц, а также конвертируем изображение в формат чтобы было понятно, что нам нужно делать. Давайте запустим это и посмотрим, что [20:23] переписки я исправил несколько мелких ошибок . Я их просто вырезала. Как видите, теперь у нас есть сгенерированные видеоролики. Если я включу один из роликов, вы увидите, что он как бы следует за моим лицом, чтобы показать вам это, [20:36] конечно, мы можем изменить системное приглашение, и мы можем, знаете ли, продолжать его корректировать скачать его, могу перерендерить, и теперь оно отображается, и вы можете видеть, что у нас даже появляется миниатюра , которая также сгенерирована из [20:48] ImageKit. Чего нам сейчас не хватает, так это субтитров. Таким образом, ImageKit позволяет встраивать субтитлы прямо в видео, благодаря чему И, конечно же, для коротких видеороликов нам это нужно. Поэтому я просто вернусь [21:00] к модели и дам ей указание сделать это. И будем надеяться, что это добавит эту информацию. Итак, просто нет встроенных субтитров. Можно ли добавить субтитры к каждому из видеороликов? Итак, прошло уже несколько минут, мы вернулись, и [21:13] теперь видим, что внизу появились субтитры. Сейчас их показатели, по сути, еще один вопрос, который нам нужно будет решить. Позвольте мне просто отключить звук. Но, если , то увидим, что ниже самого видеоролика есть субтитры. [21:28] Опять же, трудно разглядеть, когда это просто указать переместить его вверх, но по крайней мере на данный момент это завершено. Таким образом, на данный момент проект практически завершен. Я понимаю, что было много споров и неразберихи, и [21:41] в конце этого видео много всего не так, но это просто реальность программирования с использованием ИИ, и я хочу вкратце подытожить то, что мы сделали. Итак, в проводим глубокое исследование и понимаем, что именно мы хотим [21:53] создать, принимая ключевые решения, касающиеся технологического стека, инструментов, различных API и всего остального, что мы будем использовать. Затем мы создали некоторый контекст внутри нашу цель, то, что мы пытаемся создать, затем приняли соответствующие [22:07] решения, и модель провела с нами своего рода интервью. После этого мы начали настраивать курсор для установки навыков агентов, серверов MCP и различных правил или инструментов, чтобы он знал, что делать на протяжении большей части [22:19] проекта. В настоящий момент весь этот код доступен только на GitHub, поскольку у нас есть сервер GitHub MCP, и мы добавили навыки агента Image Kit, а также сам сервер MCP. Нам не нужно было [22:31] вставлять текст или читать кучу информации. Мы могли бы просто позволить хотим использовать эти инструменты, и затем предоставили их модели. С этого момента мы просто снова начали итеративно подсказывать . Начнём с того, что что-нибудь [22:45] заработает. Есть несколько ошибок. Мы обсуждаем это, а потом исправляем. И вот, наконец, у нас есть Конечно, еще многое предстоит сделать и доработать, но в целом, нам шестью, может быть, десятью подсказками, если не считать [22:58] потому что необходимые инструменты были изначально . Если бы мы не добавили эти инструменты, если бы мы не добавили сервер MCP, если бы мы не потратили время на планирование, значительно больше времени, и мы могли бы даже не завершить проект. Итак [23:12] , ребята, на этом видео заканчивается. Надеюсь, вам это было полезно. subscribe to the channel, and I will see you in the next one.