📱

Get Our Mobile App

Take your business learning on the go!

Download on the App StoreGet it on Google Play

Code 100x Faster with AI, Here's How (No Hype, FULL Process)

Cole Medin32:09

Transcription

Всем известно, что если вы не используете помощник по кодированию на основе ИИ, вы отстанете, что бы вы ни разрабатывали. Но что люди обычно не знают, так это как эффективно использовать эти помощники по кодированию на основе ИИ. Конечно, вы не можете просто бросать всё, что хотите, в среду IDE на основе ИИ, например, Windsurf или Cursor, и иногда вы получите хорошие результаты. Но если у вас нет чёткого процесса работы с ними, это определённо не всегда так, и это очень расстраивает, когда большая языковая модель переходит от уровня старшего инженера-программиста к чему-то вроде стаи приматов, которые стучат по клавиатуре, удаляя части вашего кода, реализуя функции, которые вам не нужны. Вы знаете эту боль, и вам нужно иметь чётко определённый процесс при использовании ИИ для кодирования, если вы хотите получать высококачественные результаты, и вы хотите получать их постоянно. Если у вас ещё нет этого отлаженного процесса, я обещаю, что к концу этого видео вы окажетесь в совершенно новом измерении разработки с ИИ, потому что я проведу вас через весь мой рабочий процесс пошагово и просто углублюсь в эти тонкости, чтобы вы могли просто скопировать мой процесс, чтобы увеличить свою производительность в 10, а то и в 100 раз при разработке с ИИ.

Чтобы это стоило вашего времени, я обещаю вам три вещи. Во- первых, мы не будем усложнять нашу настройку, что, как я вижу, многие делают с ИИ. Во-вторых, мы не просто создаём игрушку – мы будем использовать этот рабочий процесс для создания полного практического и полезного примера с сервером Superbase MCP. Подробнее об этом в этом видео. И, в-третьих, этот процесс будет работать для вас независимо от того, что вы разрабатываете или какую среду IDE на основе ИИ вы используете. Ещё одна вещь: если вы хотите повысить не только свой рабочий процесс кодирования на основе ИИ, но и свои навыки работы с ИИ в целом, у меня есть для вас идеальное решение. Ознакомьтесь с dynamis.ai – это эксклюзивное сообщество, которое я только что запустил. Список ожидания открыт. Это место, где я доведу свой опыт, который я постоянно предоставляю вам на YouTube, до гораздо более глубокого уровня с помощью курсов, живых мастер-классов, еженедельных сессий, ежедневной поддержки и, самое главное, сообщества, к которому вы можете присоединиться вместе с другими ранними сторонниками ИИ. Поэтому ознакомьтесь со ссылкой, присоединяйтесь к списку ожидания, и с этим давайте погрузимся в наш полный процесс кодирования с использованием ИИ.

Итак, что вы видите здесь, это Google Документ, ссылку на который я оставлю в описании к этому видео, который содержит мой полный процесс кодирования с ИИ. Используйте это в качестве ресурса для себя. Мы будем постоянно ссылаться на него на протяжении всего видео, потому что это всё, это наш полный процесс, начиная с золотых правил вверху. Я быстро расскажу о них, а затем мы увидим, как они действительно диктуют большую часть остальной части нашего процесса, начиная с шага номер два, где мы перейдём к фактическому запуску нашего проекта. Итак, первое золотое правило, это очень важно – мы хотим использовать эти документы Markdown более высокого уровня, которые содержат инструкции по установке, документацию, планирование и задачи. Используйте их, чтобы дать контекст нашей большой языковой модели. Итак, мы будем создавать и управлять ими с помощью ИИ для помощи в процессе создания нашего проекта.

А затем следующие три правила здесь – всё о том, чтобы не перегружать большую языкую модель, потому что чем больше контекста вы даёте большой языковой модели, тем больше вероятность галлюцинаций. Например, вы хотите, чтобы все ваши файлы кода содержали менее 500 строк. Вы хотите часто начинать новые разговоры, потому что длинные разговоры могут действительно замедлять большую языковую модель. И также вы не хотите перегружать большую языковую модель, прося её делать слишком много вещей одновременно. На самом деле, я обычно нахожу, что лучше всего просто попросить её реализовать одну новую функцию или внедрить одну новую вещь на каждый запрос, который я ей даю. Гораздо лучшие результаты, если у вас действительно длинные файлы, длинные разговоры, вы просите много вещей одновременно – вот тогда вы начинаете получать ужасные результаты, независимо от того, какую большую языковую модель или среду IDE на основе ИИ вы используете. И также не всем нравятся тесты, большинству людей нет, но очень важно попросить ИИ написать тесты для своего кода, желательно после каждой новой функции, которую он реализует, и именно так вы действительно получаете согласованные результаты. Также будьте конкретны в своих запросах. Итак, здесь на самом деле лучше предоставить немного дополнительного контекста. Итак, вы не хотите перегружать большую языковую модель, но вы также не хотите оставлять её на произвол судьбы. Вы должны быть очень конкретны в том, что вы ищете. Например, не просто описывайте, что вы хотите построить на высоком уровне, но углубляйтесь в детали технологий, которые вы хотите использовать, разные библиотеки, как вы хотите, чтобы выглядел результат. Будьте конкретны, и это тоже очень помогает.

А затем последние два правила здесь: пишите документацию и комментарии по ходу дела. Вы хотите, чтобы большая языковая модель постоянно обновляла документацию как в этих, знаете ли, основных файлах более высокого уровня, так и в комментариях в коде. Это помогает и вам самим понять, что она делает, и ей самой, когда она ссылается на эти файлы в последующих разговорах. И самое последнее – реализуйте переменные среды сами. Не доверяйте большой языковой модели ваши ключи API и безопасность вашей базы данных, всё это хорошее, потому что вы не хотите быть этим парнем. Я поместил сюда эту ссылку, потому что я просто подумал, что это очень смешно. Это пример того, что может пойти серьёзно не так, когда вы используете vibe-кодирование. Этот парень построил свой полный SaaS с помощью Cursor, он не занимался ни одним из этапов кодирования, и он здесь весь в восторге. Это 15 марта, он говорит: «ИИ – это не просто помощник, это строитель». Но затем посмотрите на это два дня спустя – его взломали, происходят случайные вещи, исчерпано использование ключей API, люди обходят подписки, вероятно, потому что у него не было правильной безопасности базы данных, все эти проблемы возникают, потому что он доверял ИИ управление своими переменными среды, безопасностью базы данных, всеми аспектами безопасности. Вы должны убедиться, что вы сами всё понимаете, и вы действительно должны понимать весь код, который производит ИИ. Я вообще не рекомендую vibe-кодирование, но даже если вы используете vibe-кодирование, по крайней мере, убедитесь, что вы понимаете, безопасен ли ваш проект или нет. Это очень важно. Итак, со всеми этими золотыми правилами, которые мы разобрали, мы будем видеть их постоянно на протяжении всей остальной части этого документа. Давайте перейдём к началу нашего проекта, начиная с нашего планирования.

Для этапа планирования всё довольно просто: мы просто хотим создать наши файлы планирования и задач, и мы сделаем это ещё до того, как начнём кодировать, потому что мы хотим иметь это общее направление, прежде чем написать хотя бы одну строку кода. Итак, наш документ планирования – это место, где у нас есть общее видение, архитектура, ограничения, все эти высокоуровневые фрагменты информации, которые мы хотим предоставить в качестве контекста для большой языковой модели. И мы можем попросить большую языковую модель, помощника по кодированию на основе ИИ, на протяжении всего процесса ссылаться на этот файл, что особенно полезно в начале новых разговоров, чтобы он мог быстро ознакомиться со всем, что мы делаем в нашем проекте, поэтому ему не нужно анализировать разные файлы кода, чтобы это выяснить самостоятельно. А затем на немного более низком уровне у нас есть файл Markdown с задачами – это место, где мы отслеживаем все наши задачи, выполненные и те, которые ещё нужно выполнить. На протяжении всего разговора мы можем попросить большую языковую модель обновлять и создавать новые задачи, удалять задачи, отмечать их как выполненные, всё это хорошее. И это действительно позволяет нам быть руководителем проекта для помощника по кодированию на основе ИИ, что важно, потому что мы хотим диктовать всё, что он делает, и это просто ресурс для нас, чтобы делать это хорошо и чтобы помощник по кодированию на основе ИИ тоже помогал в этом процессе. Итак, для создания этих файлов я обычно даже не делаю этого в среде IDE на основе ИИ, я просто использую чат-бот, например, Claw Desktop. Итак, у меня есть этот пример запроса здесь для сервера Superbase MCP, который мы хотим создать. Итак, мы используем MCP в качестве соединителя, чтобы мы могли использовать такие приложения, как Claw Desktop, наши собственные агенты ИИ, для подключения к Superbase, чтобы у него были инструменты для выполнения действий в нашей базе данных. Итак, для планирования этого я просто говорю ему использовать Brave API, потому что у меня настроен сервер Brave MCP. Я не буду подробно останавливаться на этом, потому что это выходит за рамки этого видео, просто используйте это в качестве примера для очень быстрого запроса на планирование обоих файлов planning.md и task.md. Итак, я отправлю этот запрос, а затем он будет искать для меня в Интернете, поэтому я разрешу ему это сделать, а затем позвольте мне вернуться, как только он создаст оба этих файла.

И вот, Claw Desktop создал для меня оба файла, и он сделал это прямо там, в моей файловой системе, потому что у меня тоже есть для этого сервер MCP. Итак, он создал их прямо здесь, в этом каталоге, поэтому я могу открыть его в Windsurf, вы можете использовать любого помощника по кодированию на основе ИИ, просто имейте это в виду. Я использую Windsurf, но это будет работать с Cursor, Client, Root, Code, это не имеет значения, этот процесс применим ко всем. И вот наш файл планирования. Итак, мне нужно будет открыть этот предварительный просмотр здесь и взглянуть на него. У нас есть обзор, у нас есть область действия проекта, техническая архитектура, стек технологий, все эти вещи, которые мы теперь можем предоставить в качестве контекста для помощника по кодированию на основе ИИ, когда он начнёт проект, чтобы убедиться, что он начинает с правильной ноги. Это, конечно, не идеальный документ, например, мне бы не очень хотелось раздел «Что такое MCP и что такое Superbase», нас это не волнует. Итак, я отредактирую это за кадром и просто избавлю вас от скучных деталей здесь, но это хорошая отправная точка, и обычно вам захочется немного поработать над этим в чат-боте или где бы вы ни работали над этим файлом. А затем у нас есть и наши задачи. Итак, я могу открыть предварительный просмотр для этого, мы можем видеть все разные задачи, которые он для нас настроил, и у нас будет помощник по кодированию на основе ИИ, который будет выполнять их по одной и добавлять новые по мере необходимости. И это довольно избыточно, поэтому, опять же, вы захотите поработать над этими вещами, например, нам не нужно столько задач для этого, это довольно безумие, но да, я имею в виду, что это хорошая отправная точка. Ещё один совет, который я хочу дать на этапе планирования, то, что я часто делаю, это вместо того, чтобы использовать одну большую языковую модель, например, Claude, я хочу использовать несколько разных больших языковых моделей, чтобы помочь мне спланировать мой проект. Я просто дам один и тот же запрос каждой из них, а затем объединю всё в конце. Хитрость в том, что у вас должна быть хорошая платформа, которая может помочь вам работать с этими различными большими языковыми моделями в одном месте, без необходимости платить за несколько подписок. Существует множество различных приложений для этого, но один из моих любимых, который спонсирует это видео, но я действительно часто их использую, это Global GPT, потому что они очень доступны, вы можете начать бесплатно с доступом ко всем лучшим большим языковым моделям, таким как Deepseek и 03 и Claude, и у них даже есть добавленные инструменты, такие как Deep Research или Perplexity, например, если вы действительно хотите углубиться в планирование, вы можете сделать это с помощью Global GPT, и есть много других инструментов, например, если вы хотите использовать ideoggram или midjourney, чтобы помочь вам спланировать ваши активы для вашего проекта, вы тоже можете сделать это. Итак, у вас будет интерфейс, очень похожий на Claw Desktop, как мы только что видели, но просто возможность очень легко получить доступ к этим различным большим языковым моделям, делать такие вещи, как глубокий поиск. И да, определённо используйте такую платформу, если вы действительно хотите глубоко погрузиться в планирование своего проекта. Итак, у меня будет ссылка в описании на Global GPT, я определённо рекомендую ознакомиться с ними, но да, это просто последний быстрый совет, который я хотел дать по планированию ваших проектов. Теперь давайте перейдём к следующему этапу.

Теперь, когда мы закончили с планированием и задачами, пора перейти к глобальным правилам. Это, по сути, системные запросы для вашего помощника по кодированию на основе ИИ. Все высокоуровневые инструкции, которые вы хотите дать помощнику по кодированию на основе ИИ, вы делаете в глобальных правилах, поэтому вам не нужно каждый раз явно вводить их. Например, в нашем глобальном правиле мы можем сказать: всегда читайте файл планирования в начале нового разговора, чтобы, когда мы сами начинаем разговор, нам не приходилось явно просить его сделать это. Итак, это избавляет вас от необходимости много печатать на всех ваших разных запросах, потому что вместо того, чтобы говорить: «Пожалуйста, реализуйте это, а затем напишите тесты, а затем отметьте задачу», вы можете просто сказать ему сделать это в глобальных правилах, например, проверьте задачи, убедитесь, что вы пишете тесты для всех своих новых функций. У нас всё это теперь как бы системный запрос к большой языковой модели. Это глобальное правило, которое я настроил в своём помощнике по кодированию на основе ИИ. Вы можете использовать это сами, настраивать его в соответствии со своими потребностями в зависимости от вашего стека технологий и любых других требований, которые у вас есть, но да, это действительно хорошая отправная точка для вас. И у меня даже есть инструкции для четырёх самых популярных сред IDE на основе ИИ, как вы можете это настроить. И конкретно, позвольте мне скопировать это, я покажу вам, как это сделать в Windsurf, потому что это просто среда IDE на основе ИИ, которую я использую в этом видео. Я скопирую это, а затем перейду в Windsurf. Затем вы нажимаете на дополнительные параметры в правом верхнем углу, «управление памятью», и у вас есть ваши глобальные правила. Это будет применяться независимо от того, в каком каталоге вы находитесь, а затем у вас есть правила для рабочей области. Итак, если вы хотите иметь правила только для вашего текущего проекта, вы настраиваете это здесь. Обычно рекомендуется иметь правила рабочей области, потому что во многих случаях разные вещи, такие как технологии, которые вы просите его использовать, будут специфичны для этого проекта. И поэтому я бы обычно рекомендовал правила рабочей области. Итак, мы можем перейти сюда, а затем просто вставить всё, что мы скопировали из Google Документа. А затем я могу, как и мои другие файлы Markdown, открыть предварительный просмотр и увидеть, что у нас теперь настроены эти правила для помощника по кодированию на основе ИИ. Итак, мы говорим ему, как использовать эти разные файлы Markdown. Вот как, не запрашивая его каждый раз просматривать планирование и отмечать задачи в подсказках с правой стороны, он всё равно будет знать, как работать с этими файлами. А затем мы говорим ему о некоторых других наших золотых правилах, например, не создавать файлы длиннее 500 строк. Мы говорим ему о создании тестов для каждой из функций, а затем мы также даём ему некоторые рекомендации по стилю, чтобы убедиться, что код чистый, который он производит. Мы говорим ему, как работать с файлом readme, чтобы он мог поддерживать документацию. А затем внизу я люблю иметь кучу разных правил, чтобы помочь ему. Итак, вот наши правила в целом, и теперь мы можем сделать наши запросы к большой языковой модели довольно простыми, потому что у нас есть все эти разные вещи, которые мы пытаемся заставить его сделать и убедиться, что он следует им, но нам не нужно спрашивать его каждый раз. Вот что важно в глобальных правилах. Итак, мы настроили наше глобальное правило, это должно было занять у вас всего пару минут. Теперь мы можем перейти к настройке наших серверов MCP.

Если вы не знакомы с MCP, я настоятельно рекомендую посмотреть это видео, ссылку на которое я привёл выше, где я сделал всесторонний обзор, но на самом деле это просто способ дать больше инструментов нашей среде IDE на основе ИИ, чтобы она могла делать такие вещи, как поиск в Интернете с помощью Brave. Итак, это три основных сервера, которые я всегда использую, о которых я немного расскажу. У меня есть ссылки для установки каждого из них, у меня есть инструкции по настройке MCP в ваших разных средах IDE и даже ссылка здесь на список других серверов MCP. Вы можете перейти сюда и загрузить любые другие, которые вы, возможно, захотите включить. Вы можете перейти по любой из этих ссылок, чтобы точно увидеть, как её настроить в вашей среде IDE на основе ИИ. Итак, это даёт инструкции по настройке вашей конфигурации. Итак, три основных сервера, которые я всегда использую: я хочу, чтобы моя среда IDE на основе ИИ могла взаимодействовать с файловой системой, не только с текущим проектом, но и с другими папками на моём компьютере, например, у меня есть папка с изображениями, я хочу, чтобы она могла извлекать активы в проект из неё, или я хочу, чтобы она ссылалась на другие проекты, чтобы узнать, как я что-то делал раньше. Я могу сделать всё это, когда у меня есть сервер файловой системы. А затем я также хочу, чтобы моя среда IDE на основе ИИ могла искать в Интернете, и некоторые среды IDE на основе ИИ имеют встроенный поиск в Интернете, но Brave API очень мощный в том, как он на самом деле использует ИИ под капотом, чтобы суммировать множество разных результатов поиска в Интернете, поэтому вы получаете действительно мощный результат. Вы можете использовать это для таких вещей, как извлечение документации для инструментов, библиотек или фреймворков, которые вы используете. А затем последний, который я очень люблю использовать, это Git, и причина этого в том, что вы действительно должны настроить каждый проект в качестве репозитория Git, чтобы у вас был контроль версий, вы можете управлять резервными копиями своих проектов, иметь разные версии, которые все сохранены. Итак, с сервером Git MCP вы можете сделать что-то вроде этого примера запроса, который у меня есть здесь, где вы говорите: «Мне нравится, где мы сейчас находимся, и прежде чем я буду внедрять больше функций, я действительно хочу иметь резервную копию текущего состояния, поэтому, пожалуйста, сделайте коммит Git, чтобы сохранить текущее состояние». Кстати, это то, что я очень-очень рекомендую делать, потому что иногда вы можете выполнить пять запросов, десять запросов к среде IDE на основе ИИ, она реализует все эти вещи, и вы понимаете, что она полностью сломала проект пять запросов назад. Итак, если у вас есть резервные копии на протяжении всего пути, вы можете вернуться к рабочему состоянию, иначе иногда вы попадёте в этот ад, где ваш проект полностью сломан, но вы зашли слишком далеко, и вы не можете действительно вернуться назад. Итак, Git – ваш спаситель для этого, поэтому я так люблю использовать этот сервер. А затем, если вы хотите иметь больше долговременной памяти, реализовать RAG в своей среде IDE на основе ИИ, у вас есть много других инструментов, например, сервер Quadrant MCP. Я не буду вдаваться в подробности, потому что во многих средах IDE на основе ИИ, таких как Windsurf, уже есть память, например, я могу зайти сюда и управлять памятью, и она может генерировать их для меня. У меня сейчас просто пустой лист, но вы можете попросить её отслеживать воспоминания между проектами и тому подобное, поэтому вам может не понадобиться что-то подобное, но всё равно есть отличные серверы MCP. Итак, настройте всё это, в моём случае, позвольте мне вернуться в Windsurf, и я открою свою конфигурацию. Вы просто нажимаете на «настроить MCP» прямо здесь, и у меня есть этот MCP config.json. Итак, да, вы видите, у меня есть моя файловая система, Brave Search, Git, а затем это выходит за рамки этого видео, но у меня есть Archon, который является моим создателем агентов ИИ, который я также встроил в Windinsurf. Итак, я настроил все эти серверы, просто следуйте инструкциям, которые я изложил прямо здесь, в этом документе. Итак, настройте свой MCP, а затем используйте их так, как я описываю на протяжении всего вашего проекта, и это очень вам поможет. Итак, теперь пришло время дать начальный запрос среде IDE на основе ИИ, чтобы начать наш проект, потому что у нас настроены серверы MCP, настроены глобальные правила, и у нас созданы эти документы планирования и задач.

Как я указываю здесь, несмотря на то, что у нас есть эти документы, которые предоставляют эти детали более высокого уровня ИИ, мы всё ещё хотим быть очень конкретными в нашем начальном запросе, потому что это определяет всю отправную точку для нашего проекта, и это одно из наших золотых правил – быть очень подробными в том, что мы ищем. И это может означать много разных вещей в зависимости от вашего проекта, но ключевой совет, который у меня есть здесь, – предоставить много документации и примеров помощнику по кодированию на основе ИИ. Есть три разных способа предоставить примеры и документацию. Первый – многие среды IDE на основе ИИ имеют встроенные функции для извлечения документации. Например, в Windsurf я могу набрать @MCP, а затем нажать Tab, и это теперь включит документацию MCP в запрос к большой языковой модели. Итак, он будет использовать RAG под капотом для поиска в документации и использовать её для дополнения своего ответа. Вы можете сделать что-то очень похожее и в других средах IDE на основе ИИ, таких как Cursor. Другой вариант – использовать сервер Brave MCP или любой другой сервер MCP, который вы настроили для поиска в Интернете. Итак, вы можете попросить его, знаете ли, просмотреть Интернет, найти документацию для любых библиотек или инструментов, которые вы используете. Например, выполните поиск в Интернете, чтобы найти другие реализации сервера MCP или документацию. Итак, вы можете извлекать примеры и документы таким образом или просто предоставлять их вручную, как в этом примере запроса, который мы будем использовать для создания сервера Superbase MCP. Я просто даю ему ссылку на репозиторий GitHub, который содержит уже существующую реализацию сервера Python MCP. Итак, он использует этот пример как бы в качестве документации вместе с тем, что я указываю документацию для MCP и Superbase вверху. Итак, это пример запроса, который очень специфичен для того, что я создаю здесь, но используйте это просто как шаблон для себя. Вы хотите указать документацию, предоставить примеры, быть очень конкретными в том, что вы хотите построить, и тогда вы получите гораздо лучшие результаты, чем просто сказать что-то очень скучное, например, «построить сервер Superbase MCP». Итак, мы возьмём этот запрос, перейдём в Windsurf. У меня это уже введено, поэтому я собираюсь отправить это, и мы будем наблюдать, как он работает. И, например, я даже нигде не указываю файл planning.md в этом запросе, но он всё равно будет ссылаться на него после того, как он извлечёт документацию для MCP и Superbase, потому что у нас это указано в правилах уровня проекта, тех глобальных правилах, которые мы установили только для этой рабочей области. Итак, сначала он просматривает пример GitHub, который я ему дал, он просматривает документацию, он использует Brave web search, чтобы получить документацию клиента Superbase Python, он делает здесь многое, и это занимает много потока действия, поэтому тратится много кредитов, но важно иметь лучшую отправную точку, которую вы можете, и поэтому я обычно не против того, чтобы он делал довольно много в начале, и вы всегда можете попросить его не делать так много. Итак, я позволю ему пройти через всю эту документацию, поиск здесь, а затем я вернусь, как только он перейдёт к следующему шагу.

Хорошо, он закончил просматривать всю документацию. Посмотрите на это, бац, мы переходим к анализу файлов планирования и задач. Итак, он извлекает весь этот дополнительный контекст, а затем по какой-то причине он хочет создать каталог, я думаю, да, он планирует уже писать тесты. Я имею в виду, это хорошо, он также следует этому глобальному правилу. Итак, мы позволим ему создать этот каталог, вот так, superbase mcpests, и теперь он переходит к кодированию всего. Он начинает с requirements.ext, а затем я предполагаю, что он начнёт создавать, да, вот, server.py, и это займёт немного времени, потому что в него будет включено хорошее количество кода. Итак, что я сделаю здесь, так это поставлю на паузу и вернусь, как только он реализует первую итерацию моего сервера. И вот, Windsurf создал для нас полный сервер Superbase MCP за один запрос. И это не базовая реализация, это почти 300 строк кода, и это выглядит очень хорошо. У нас есть возможность удалять записи, обновлять записи, мы можем создавать записи, а затем, наконец, у нас есть инструмент для чтения строк в таблице. И это очень показывает, что Windinsurf понял документацию MCP, например, даже то, как он настраивает клиент Superbase и определяет все наши инструменты, он очень много читал документацию, синтезировал её с нашими файлами Markdown для планирования и задач, чтобы создать этот прекрасный фрагмент кода. И если мы перейдём в файл Markdown с задачами, посмотрим на это, он отметил задачи как выполненные, он не создал никаких тестов или не обновил readme, что я бы хотел, чтобы он сделал, он создал папку тестов, но не написал тесты, что довольно странно. Я имею в виду, вы иногда получаете такое странное поведение, когда он понимает глобальные правила, но не делает всего, что вы хотели бы, но это нормально, потому что мы просто сделаем это в последующем запросе, и я покажу вам это через секунду. Но сначала давайте действительно проверим это и посмотрим, работает ли оно. Итак, у нас есть этот сервер MCP, созданный локально, и я действительно хочу сделать отдельное видео о создании серверов MCP, кстати, дайте мне знать в комментариях, если вам это интересно. Я собираюсь немного обойти реализацию и запуск этого прямо сейчас, потому что цель этого видео – показать мой процесс кодирования с использованием ИИ, а не создание сервера MCP. В любом случае, здесь, в Cloud Desktop, я собираюсь подключить сервер. Вы просто переходите в верхний левый угол, «файл», «настройки», «разработчик», а затем нажимаете «редактировать конфигурацию». Он откроет папку конфигурации, мы можем перейти к файлу cloudmcpconfig.json, который у меня открыт прямо здесь в Windsurf. Итак, это место, где у меня настроены все мои серверы специально для Cloud Desktop. Итак, чтобы добавить Superbase, я просто добавил эту строку здесь, или у меня есть команда для моего исполняемого файла Python, специально в созданной мной виртуальной среде. И опять же, эти детали не очень важны для этого видео, я сделаю последующее видео о создании сервера. Затем у нас есть аргументы, которые просто указывают на сервер, который Windsurf только что создал для меня, а затем для моей среды я передаю то, что я замазал здесь, но я передаю свой URL и сервисный ключ из Superbase. Итак, со всем этим вам просто нужно перезапустить Cloud Desktop, а затем, если вы откроете свои доступные инструменты MCP, позвольте мне прокрутить вниз до первого Superbase, да, вот он. Итак, создать записи таблицы. Итак, у нас есть это, а затем есть три других инструмента, которые я смог бы найти, если бы просто прокрутил список инструментов здесь. Итак, теперь я могу спросить его, например, какие записи у меня есть в моей таблице метаданных документа. Это таблица из другого видео на моём канале с некоторыми вещами RAG в N8N. Итак, теперь он вызовет инструмент Superbase. Я разрешу этот чат. Хорошо, я сделал только один запрос, я ещё ничего не делал для последующих запросов, и посмотрите на это, мы за один раз создали сервер Superbase MCP с помощью Windsurf с помощью этой стратегии, и это было бы невозможно, если бы не правила, которые у меня есть, и тот факт, что он просматривал документацию, предоставлял пример, всё это вместе сделало это возможным, и я на самом деле поражён, это была большая реализация для того, чтобы сделать это за один раз, и он сделал это успешно. Это действительно записи, которые у меня есть в этой таблице метаданных документов в Superbase, что очень круто.

Хорошо, итак, теперь на этом этапе у нас есть хорошее состояние нашего сервера MCP, которое мы хотим сохранить с помощью Git, чтобы мы могли вернуться к нему, если мы столкнёмся с какими-либо проблемами в дальнейшем, когда среда IDE на основе ИИ сломает вещи, когда мы добавляем readme, возможно, изменяем функциональность нашего сервера или добавляем наши тесты. Итак, я перейду к новому разговору здесь, и я скажу ему создать репозиторий Git для этого проекта и сделать коммит. Итак, вы можете использовать сервер Git MCP или вы можете просто использовать, многие из этих сред IDE на основе ИИ имеют собственные команды, которые поддерживают работу с репозиториями Git. Итак, например, в этом…

Случай, когда оно пыталось использовать инструмент и потерпело неудачу по какой-то причине, поэтому сейчас оно просто использует git status здесь, в терминале, и это тоже работает, так что вы можете использовать любой из них. И да, похоже, что репозиторий git инициализирован. Я пытался запустить это раньше, запускал его один раз, поэтому оно уже создало репозиторий git. Теперь оно создаёт файл .gitignore, что выглядит хорошо, мы определённо хотим иметь это. Теперь оно выполняет команду git add, выглядит хорошо. И снова, вы могли бы использовать сервер git mcp для этого, но я просто использую команды. Я запускаю status, и теперь, наконец, оно собирается сделать коммит. И вот, вуаля, мы сделали коммит, и теперь всё, что у нас есть, сохранено. И мы можем попросить его позже вернуться к этому коммиту, если оно что-то испортит, и мы захотим просто вернуться к этому текущему состоянию.

И так, с этим покончено, теперь мы можем перейти к следующему шагу, где мы хотим создать тесты и сделать некоторые вещи, которые оно упустило, например, создать файл README. И это возвращает нас к нашему основному документу, потому что мы собираемся выполнить шаги номер шесть и семь одновременно. Шаг номер шесть описывает, как это выглядит, чтобы итерировать наш проект после первоначального запроса. И важная вещь, которую он здесь охватывает, это золотое правило: запрашивать только одно изменение за раз. У меня есть хороший пример этого и очень плохой пример. Важно не перегружать LLM вашими запросами. И так, в нашем случае мы знаем, что есть пара вещей, которые мы хотим реализовать сразу. Мы хотим создать файл README, документацию проекта, потому что оно этого не сделало сначала по какой-то причине. Но другая вещь, которую мы хотим сделать сразу, это – и это прямо ведёт нас к разделу номер семь – мы хотим создать тесты для этой начальной версии нашего сервера Superbase MCP. И мы просто попросим LLM создать модульные тесты для каждого из инструментов, которые оно создало на сервере. Я изложил здесь лучшие практики для тестирования. Это то, что мы хотим дать LLM, что вы можете сделать просто в глобальных правилах. И так, в этом шаблоне, который я дал вам для глобальных правил, всё, что мы видели в этом разделе о лучших практиках тестирования, я просто перечисляю здесь для LLM. Так что вам даже не нужно точно понимать, что такое мокинг, например, вы всё равно можете указать это как правило для LLM, потому что мы хотим иметь выделенный каталог для наших тестов. Мы хотим имитировать вызовы нашей базы данных и LLM, чтобы мы не использовали её по-настоящему, потому что мы хотим, чтобы наши тесты были быстрыми и бесплатными. А затем мы также хотим протестировать успешный сценарий, убедиться, что мы правильно обрабатываем ошибки в тесте, и крайний случай тоже. И так, мы просто включаем всё это в глобальные правила.

И так, вернувшись в Windsurf, теперь я могу просто начать новый разговор и попросить его создать тесты для server.py в, и затем я могу просто указать каталог tests, который у меня уже есть здесь. Похоже, здесь слишком много каталогов, поэтому я просто удалю это и скажу в tests. И вот, вуаля. Я мог бы быть гораздо более точным здесь, и, вероятно, полезно предоставить больше инструкций, но помните, из-за глобальных правил он будет следовать этим лучшим практикам, не делая ничего в запросе, связанном с этим. И так, я могу быть очень простым здесь. И да, что я собираюсь сделать, так это поставить на паузу и вернуться, как только он закончит создание этих начальных тестов для меня. Хорошо, Windsurf создал все тесты для нашего сервера, и первоначально возникла проблема, когда 12 тестов проходили, а два были неудачными. Я немного поработал над итерацией там, просто с несколькими последующими запросами, но после этого всё работает прекрасно. Так что теперь в моём терминале я могу просто запустить команду pytest, а затем я просто ссылаюсь на мою папку tests здесь, из корневого каталога, и посмотрите на это: 14 тестов, и все они проходят. Их 14, потому что мы тестируем успешный сбой и крайний случай для каждого из наших различных инструментов, а затем, я думаю, ещё несколько дополнительных, чтобы сделать такие вещи, как проверить срок службы с переменными среды. И это очень комплексно, этот файл огромен, почти 500 строк кода, и это, как правило, то, как будут выглядеть ваши файлы тестирования. Иногда они длиннее, чем основной файл, просто потому что вы хотите затронуть все эти разные сценарии. И да, это действительно солидные тесты, и всё имитируется, это прекрасно.

И так, на данный момент у нас есть наша первая версия сервера Superbase MCP, она работает, мы протестировали её в облачном рабочем столе, у нас есть модульные тесты, всё хорошо. Теперь мы можем перейти к итерации вещей, как мы хотим. Мы также можем создать файл README, всё время следя за тем, чтобы наши файлы задач и планирования в Markdown были актуальными, потому что, опять же, это тот самый важный контекст, который нам нужен, особенно если мы начинаем новые разговоры. Затем есть много других вещей, которые мы захотим сделать, чтобы итерировать наш сервер Superbase MCP. Я просто сделаю это за кадром, потому что на данный момент я уже продемонстрировал весь этот рабочий процесс. Самый последний шаг, который у нас есть здесь, это развёртывание нашего проекта, потому что как только вы дойдёте до состояния с тем, что вы строите, где вы хотите развернуть его, упаковать его, чтобы отправить его в облако, поделиться с другими людьми, вы можете сделать это с помощью помощника по кодированию на основе ИИ. И мой любимый способ сделать это – через Docker или другую похожую службу, например, Podman. И лучшая часть – LLM очень хорошо работают с Docker, просто потому что он существует уже так давно, в интернете так много примеров его использования, которые использовались для обучения LLM, поэтому они могут помочь вам создать файл Docker для упаковки и развёртывания вашего приложения, даже включая команды для использования. И так, вот пример запроса, который у меня есть здесь: просто напишите файл Docker для этого сервера MCP, используя файл requirements.txt для всех требований Python, дайте мне команды для сборки контейнера после этого. И я уже сделал это, я не хотел надоедать вам подробностями ожидания завершения этого процесса, поэтому я создал этот файл Docker для упаковки сервера MCP, а затем я также заставил его создать файл README в отдельной команде, потому что помните, одна вещь за раз, я заставил его создать этот файл README тоже. Так что у нас есть полные инструкции для запуска всего, включая установку из git, к слову, вы можете следовать этим инструкциям, вы можете пройти эти инструкции самостоятельно, чтобы запустить этот сервер Superbase MCP самостоятельно, что очень круто. Так что мы создали полностью рабочий пример в этом видео, а затем вы создаёте контейнер, а затем вы можете настроить конфигурацию в вашем облачном рабочем столе или вашем Windsurf, вашем курсоре, что угодно, просто используя это как пример конфигурации. И это всё, вот и всё, что нужно, чтобы начать. Так что мы развернули это, вы можете буквально клонировать этот репозиторий и сделать всё сами. И это наш полный процесс. Мы буквально прошли весь путь от начала до конца с этой идеей документации, до реализации, тестирования, написания нашей документации и вплоть до развёртывания. Мы позаботились обо всём. И это было много, честно говоря, на подготовку и запись всего этого видео ушло очень, очень много времени, поэтому я надеюсь, что этот процесс был для вас очень полезным. И да, могут быть определённые части, в которые я бы углубился подробнее в другом видео. Также я действительно хочу сделать полное видео о создании сервера MCP с нуля и более подробно остановиться на этом. Поэтому дайте мне знать в комментариях, если бы вас это заинтересовало. Поэтому я надеюсь, что это видео поможет вам быть намного эффективнее при кодировании с помощью ИИ, и, пожалуйста, дайте мне знать в комментариях, как выглядит ваш процесс. Мне очень любопытно, я уверен, что есть вещи, которые вы хотели бы добавить к тому, что я делаю, или у вас просто есть другие вещи, которые хорошо работают для вас, поэтому я был бы рад услышать это. Определённо нет универсального подхода к использованию этих мощных инструментов. Я просто хотел поделиться тем, что хорошо работает для меня. Так что, если вам понравилось это видео и вы с нетерпением ждёте большего количества материалов о кодировании с помощью ИИ и агентов ИИ, я был бы очень признателен за лайк и подписку. И с этим я увижу вас в следующем…