Transcription
Контекстная инженерия — это новое большое направление для кодирования с ИИ. Не потому что это совершенно новое, а потому что люди наконец признают, что затрата времени заранее на предоставление обширного контекста помощнику по кодированию с ИИ — это то, что отличает реальные результаты от вайб-кодирования и базового промпт-инжиниринга. И большинство людей все еще экспериментируют с этими идеями без истинного систематического процесса. И поэтому в этом видео я хочу углубиться в использование контекстной инженерии для реальных производственных сборок, по сути, взяв мой шаблон, который я недавно освещал на своем канале, но углубившись гораздо сильнее для вас.
Итак, вот почему контекстная инженерия так важна. Мы знаем, что вайб-кодирование создает прототипы, которые ломаются при попытке масштабирования. А промпт-инжиниринг — это все о подборе слов. Работа с конкретными фразами для получения отдельных, улучшенных результатов от больших языковых моделей (БЯМ). На самом деле, как я недавно слышал, контекстная инженерия является надмножеством промпт-инжиниринга. Это часть его, но контекстная инженерия — это нечто гораздо большее. Это предоставление всей информации, примеров, лучших практик, ограничений помощникам по кодированию с ИИ заранее. Это, безусловно, инвестиция времени, но, черт возьми, это в 10 раз ускорит ваш процесс создания буквально чего угодно. И я это серьезно.
Существует множество способов заниматься контекстной инженерией. Но стратегия, к которой я возвращаюсь снова и снова, на которой также основан мой шаблон для вас, — это фреймворк PRP от Раазмуса. И это просто гениально. И Раазмус на самом деле является гостем в части этого видео сегодня. Так что я очень рад, что вы это увидите. Он углубится в PRP, его философию, почему он так хорошо работает, как вы можете начать использовать его прямо сейчас. И затем то, что мы сделали вместе, это фактически взяли мой базовый шаблон, который у меня есть в репозитории контекстной инженерии, и создали тот, который специфичен для создания серверов MCP. Таким образом, вы можете использовать фреймворк PRP для создания любого готового к производству сервера MCP, который вы хотите, просто в качестве суперпрактического примера использования. И мы фактически пройдемся и построим один вместе в этом видео, используя этот точный чертеж. Итак, позвольте мне показать, что я имею в виду.
Если мы вернемся к корню репозитория контекстной инженерии, который, кстати, является шаблоном, ссылку на который я оставлю для вас в описании видео, все, что у нас здесь есть, это общий шаблон для использования фреймворка PRP. Например, если мы зайдем в наши слэш-команды здесь, это просто очень общие слэш-команды, которые будут работать независимо от того, какое приложение вы хотите создать. И затем, если мы вернемся назад и посмотрим на наши PRP, у нас есть шаблон здесь. Опять же, очень, очень общий. Это применимо к любому виду программного обеспечения, но, безусловно, есть возможность создать для вас шаблон, который уже разработан, чтобы быть гораздо более специфичным для определенного типа использования. И это именно то, над чем мы с Раазмусом работали для вас.
Итак, мы фактически взяли готовый к производству сервер Cloudflare MCP, который я показывал в последнем видео на моем канале, и построили шаблон вокруг него. Итак, мы возвращаемся сюда, в папку сервера MCP с вариантами использования в моем шаблоне. Мы взяли сервер MCP, который я построил в моем последнем видео, в качестве примера, встроенного в этот шаблон, и если мы посмотрим на слэш-команды, например, мы сделали вещи гораздо более специфичными для создания серверов MCP. И что еще важнее, мы сделали то же самое с базовым PRP. Это ссылка, которую мы используем для создания полного PRP. И теперь все очень специфично для создания серверов MCP. И теперь вы можете использовать это как стартовую площадку, независимо от того, какой сервер MCP вы хотите создать. И вы получите гораздо лучшие результаты, потому что все так гипернастроено на создание сервера MCP.
И, кстати, пройти этот процесс самостоятельно для создания MCP не может быть проще. И это то, что я покажу вам, как сделать после нашего разговора с Раазмусом. Так что буквально вам просто нужно зайти в этот файл initial.mmd, о котором я говорил в своем первом видео о контекстной инженерии. Вы заполняете информацию для MCP, который хотите создать, а затем генерируете свой PRP с помощью этой слэш-команды, которая может быть просто промптом для любого другого помощника по кодированию с ИИ, кроме Cloud Code. И затем важно проверить PRP и быть частью этого процесса. Не доверяйте ИИ вслепую. Но затем вы можете выполнить свой PRP, и это построит ваш сервер MCP, и вы можете просто итерировать оттуда. Начать так легко, и многое из этого вращается вокруг мощи этого шаблона MCP на основе PRP, который мы создали для вас.
И это, мой друг, только начало. На самом деле, огромный проект, который я начинаю в сообществе Dynamis, по сути, заключается в создании массивного репозитория всех этих вариантов использования. Так что независимо от того, какой язык программирования мы используем или какой тип приложения мы строим, здесь будет шаблон, использующий фреймворк PRP, но гораздо более гипернастроенный на то, что мы хотим построить. И это именно то, что я показываю вам здесь с MCP, просто как очень хороший пример.
И, кстати, если вам это интересно и вы просто хотите вывести свое кодирование с ИИ на новый уровень в целом, обязательно загляните на Dynamus.ai. Там происходит так много всего, например, создание всех этих шаблонов PRP. Итак, я собираюсь показать вам живой пример сервера MCP, который мы построили на основе этого шаблона, и мы сделали это за два захода. Был один последующий промпт, который нам пришлось сделать, чтобы исправить две ошибки. Но после этого у нас есть 18 идеально работающих инструментов в этом очень нетривиальном сервере MCP. Это так круто. Это PRP Taskmaster MCP. Вы даете PRP, и он извлечет задачи на основе этого и поможет вам управлять ими. Он очень похож на Claude Taskmaster, но для PRP вместо PRD. Сейчас это не самый практичный сервер MCP, хотя я, вероятно, встрою его в Archon в какой-то момент. Так что следите за новостями о второй версии Archon. Но я хотел отдать должное Claude Taskmaster, потому что это действительно невероятный MCP для контекстной инженерии. И я подумал, что это будет хороший пример, показывающий, как мы можем воспроизвести что-то, что уже существует в дикой природе, что действительно невероятно и, как я уже сказал, нетривиально.
И вот у меня здесь заранее подготовленный промпт. И это то, что я люблю делать, когда впервые тестирую сервер MCP. Я просто говорю: "У нас есть этот новый MCP". Я говорю ему, за что он отвечает. А затем я просто говорю: "Я хочу, чтобы ты протестировал всю функциональность этого сервера с помощью потока, который действительно имеет смысл для начала нового проекта, добавления задач и зависимостей, документации. У нас есть инструменты для управления всеми этими различными вещами. И я просто говорю: не переусердствуй. Мы просто хотим простую демонстрацию здесь", а затем создать пример PRP, чтобы начать.
Итак, я просто использую здесь фиктивные данные, и моя база данных уже настроена. Итак, у нас есть таблица проектов, задач, зависимостей задач. За кулисами происходит довольно много всего, чтобы управлять всем этим с помощью этого MCP. И так, да, давайте просто начнем здесь. И так, он начнет с имитации PRP, отправив его для извлечения задач из него. И так, я поставлю на паузу и вернусь, как только это будет сделано, потому что эта часть занимает немного времени. Он на самом деле использует API Anthropic под капотом здесь. И вот. Наш проект создан. Мы можем это проверить. Итак, если я зайду в проекты, да, у нас есть простое приложение для списка дел, которое мы добавили в нашу базу данных. И теперь он хочет вывести список проектов. Итак, мы продолжим и позволим ему это сделать. И затем у нас также будут задачи уже здесь. Итак, если я зайду в свои задачи, мы увидим, что у нас уже есть несколько. И так, теперь он просто пройдет по списку задач и просто пройдет через имитационный поток, я полагаю, отмечая некоторые задачи как выполненные. Да. Так что получение обзора проекта, вероятно, также добавит некоторую документацию. Но да, вы видите, как он просто выбивает один инструмент за раз, тестируя все для меня, чтобы я просто знал, что мой сервер MCP работает правильно.
И особенно когда вы используете что-то вроде фреймворка PRP и довольно активно кодируете что-то с помощью ИИ, важно проверять все, например, вы действительно хотите протестировать каждый отдельный инструмент в вашем сервере MCP. И это большая вещь, которую мы увидим в нашем разговоре с Раазмусом: проверка все еще супер важна. Например, когда вы генерируете свой PRP, вы все равно хотите убедиться, что вы его анализируете, являетесь частью процесса, а не просто генерируете PRP, а затем выполняете его, верно? И то же самое с результатом. Например, вы хотите понять код, который он выдал. Проверьте это, протестируйте вещи, как я делаю прямо здесь, и пусть помощник по кодированию с ИИ также создает тесты.
И так, да, я думаю, этого тестирования здесь достаточно. Все выглядит очень, очень хорошо. Я не хочу утомлять вас остальной частью этой демонстрации, но да, это наш сервер MCP на высоком уровне. И, как я уже сказал, мы могли бы использовать этот шаблон для создания буквально любого сервера MCP, и он будет готов к производству. И вот. Мы протестировали всю основную функциональность нашего сервера MCP. Все выглядит очень хорошо.
Итак, вот что будет дальше для вас. Сначала, короткое слово от нашего спонсора. Затем мы углубимся в разговор с Раазмусом. И, черт возьми, это то, что вы не захотите пропустить. Было приятно видеть его на канале. И затем, что не менее важно, я покажу вам свой полный воспроизводимый процесс создания этого сервера MCP с помощью шаблона PRP, который я уже показывал. Это, мой друг, пик кодирования с ИИ.
Спонсором сегодняшнего видео является Lindy. Представьте себе, что ИИ и Zapier завели ребенка, но что действительно выделяет их платформу для меня, так это их функция параллельных агентов, называемая роями агентов. Взгляните на это. Итак, вы строите свои рабочие процессы так же, как с чем-то вроде N8N, но вы можете создавать здесь эти циклы, где будет запущено множество различных агентов, чтобы выполнить кучу задач для вас одновременно. Так что этот рабочий процесс специально предназначен для глубокого исследования. И так, у меня может быть много агентов, запущенных одновременно. Вы могли бы изменить это на топ-10, топ-20. Так что для исследования всех этих подтем одновременно. Так что это намного быстрее, чем что-то вроде глубокого исследования OpenAI. И так, просто чтобы соответствовать теме нашего видео здесь, я спрошу, каковы лучшие стратегии использования Claude Code. И мы увидим через секунду, как только он войдет в цикл, он создаст несколько различных агентов, запущенных одновременно, чтобы исследовать разные аспекты моего вопроса. И так, это все равно займет некоторое время, потому что он проводит довольно глубокое исследование здесь. И так, мы увидим через некоторое время, все циклы завершатся, и затем он даст нам наш окончательный ответ.
И вот. Все циклы завершены. Он выполнил глубокое исследование для каждого из моих разных аспектов. И затем через секунду мы увидим, как будет выдан окончательный итог. Итак, это исследование, которое было проведено для каждого из этих агентов. И вот. Теперь у нас есть наше полное глубокое исследование. Кроме того, Lindy сотрудничает с Pipeream, чтобы предоставить вам более 5000 интеграций в 25 различных приложениях и 4000 веб-скреперов через их партнерство с Appify. Нет платформы с большим количеством интеграций, чем Lindy. Итак, я оставлю ссылку на Lindy в описании. Вы также получите 400 бесплатных кредитов, чтобы попробовать платформу, когда используете эту ссылку. Так что обязательно зайдите и посмотрите.
Хорошо, у нас здесь сам человек, Раазмус, создатель фреймворка PRP, и я просто очень рад пригласить вас, поговорить о фреймворке, вашем видении его, вашей философии, стоящей за ним, потому что существует миллион способов заниматься контекстной инженерией. Это довольно новая фраза в целом, но это не новая идея, верно? Эм, но фреймворк PRP — это именно то, к чему я возвращался снова и снова в последнее время. И это просто сделало мое кодирование с ИИ намного лучше, например, в 10, в сто раз лучше. И поэтому я просто абсолютно люблю его. И я знаю, что вы разрабатываете этот фреймворк уже более года, что безумно впечатляет. И поэтому я просто хотел услышать от вас, что вдохновило это и куда вы с этим идете. Так что да, если хотите, не стесняйтесь представиться, начать, рассказав нам о фреймворке PRP. Кстати, ребята, мы познакомились в сообществе Dynamis, и когда он впервые поделился этим фреймворком PRP, он сразу же привлек мое внимание. Я знал, что это не просто еще одна из тысячи стратегий, о которых я слышал, это настоящее дело. Так что да, давайте послушаем Раазмуса.
Да, спасибо за это вступление. Итак, да, эм, прежде всего, э, поскольку вы также представили фреймворк PRP в своем видео о контекстной инженерии, просто хочу сказать спасибо всем, кто принял его и прислал мне все удивительные проекты, которые вы построили на его основе. Э, я видел там действительно потрясающие вещи. Э, но да, так что такое PRP, это промпт требований к продукту. Я много лет работал менеджером по продукту и бизнес-аналитиком, написав много технической документации и, в частности, PRD. Так что PRP — это действительно моя попытка построить промпт-фреймворк вокруг э, управления продуктом. Так что, как бы, привнесение необходимого контекста э, для кодирующего агента, чтобы построить функцию или продукт, который я хотел построить. Так что это э, э, основная идея. Э, вкратце я хотел бы просто описать это здесь. Итак, это э, PRP — это PRD плюс курируемый интеллект кодовой базы плюс руководство агента, и он стремится быть минимально жизнеспособным пакетом, который нужен ИИ, чтобы правдоподобно выпустить готовый к производству код э, с первого раза. Так что, как вы и сказали, я разрабатываю это уже около года. За этот год он принял множество форм и видов, э, и начинался с использования таких инструментов, как Aer и Clin в качестве основных движущих сил, и э, да, он очень вдохновлен сообществом DevDan и Client, а также фреймворком "memory prompting", э, который многие люди используют там, но да, так мы и начали. Э, мне это было нужно для существующего проекта, который я строил в то время, движок оценки. Так что да, я использовал PRP или самую раннюю версию PRP, чтобы построить это и выпустить в производство. Так что да, это очень круто.
Спасибо, что поделился, Раазмус. И что выделяется в этом файле readme, так это отраслевая мантра: "мусор на входе, мусор на выходе" вдвойне применима к промпт-инжинирингу. И это так верно. И это также говорит о том, что промпт-инжиниринг очень сильно является частью контекстной инженерии и фреймворка PRP, но на самом деле они являются надмножеством. Гораздо больше входит в то, как мы здесь проектируем контекст, особенно с фреймворком PRP и тем, как далеко мы можем зайти с ним. И так, говоря об этом, на самом деле, давайте э, перейдем к шаблону сейчас в GitHub. В частности, что мы хотели дать вам с этим шаблоном, это просто четкий пример того, как вы можете применить фреймворк PRP для создания чего-то нового. И так, это очень сильно основано на моем последнем видео о контекстной инженерии, где я дал больше введения, но теперь мы показываем вам реальный пример с шаблоном, который вы можете буквально использовать, чтобы взять этот использовать фреймворк PRP для создания любого сервера MCP, который вы хотите. Так что это также основано на моем последнем видео, где я показывал создание готовых к производству серверов MCP с Cloudflare и TypeScript, но теперь мы добавили все, что связано с PRP, поверх этого, чтобы вы могли пройти и построить свой собственный MCP. Так что, Раазис, я просто позволю тебе объяснить, как это работает и как люди могут начать с этим. Ты определенно сделаешь это лучше меня. Да.
Так что это именно то, что вы только что описали, это то, что мы сделали, верно? Итак, мы взяли то, что вы сделали в своих двух прошлых видео, контекстную инженерию с фреймворком PRP, а также стартовый шаблон сервера MCP, который вы построили, и мы собрали специализированные промпты и шаблоны PRP, которые помогут вам построить любой сервер MCP, который вы можете построить. И я могу довольно уверенно сказать, что это, вероятно, самый простой способ построить сервер MCP. Итак, э, что вам действительно нужно сделать, это взять свой план, э, что бы вы ни хотели построить, и определить его в initial.mmd. Так что это может быть э, постарайтесь описать это как можно лучше, например, все ваши инструменты, которые вы хотите иметь, вашу бизнес-логику как можно подробнее. Э, а затем вы э, возьмете этот план и затем прогоните его через фреймворк PRP. Так что вы можете использовать БЯМ для начала планирования вашей работы и всего остального. Поэтому я настоятельно рекомендую использовать БЯМ также в вашем планировании и подготовке. Э, затем вы запустите первую слэш-команду, которая является PRB э, base create или MCP create, и вы передадите свой план в качестве аргумента. И что это действительно делает, это то, что э, это то, где происходит часть сбора контекста. Так что он подтянет весь контекст, который, по его мнению, ему нужен для завершения вашей работы, например, весь э, контекст, который сам ИИ считает, что ему понадобится для завершения работы э, вашего плана, и он подтянет его в этот базовый шаблон. Однако, если мы быстро взглянем на этот базовый шаблон, мы уже проделали большую часть этой контекстной инженерии э, для вас. Так что многие ссылки, которые понадобятся ИИ, уже здесь. Так что он будет строить только на основе того, что мы уже создали для вас здесь. Так что этот э, базовый шаблон уже содержит много ссылок на э, шаблон, который Коул построил э, на прошлой неделе. Так что он ссылается на все шаблоны, он ссылается на инструмент, реестр инструментов, как это сделать, базу данных и и да, он действительно ссылается на многие вещи здесь, которые исходят из этого шаблона. Э, так что э, когда вы запустите первую команду, он подтянет вашу идею и добавит больше контекста действительно к этому э, шаблону по мере необходимости.
Прелесть этого в том, что у нас уже есть этот шаблон, сделанный для вас. Так что в фреймворк PRP входит много контекстной инженерии, но ее гораздо меньше, когда у вас есть это как отправная точка. И это на самом деле то, что мы с Раазмусом хотим начать очень скоро здесь — работать над репозиторием всех этих базовых шаблонов PRP. Так что независимо от того, какой язык программирования вы используете или какой конкретный тип проекта, например, сервер MCP, вы хотите создать, будет какой-то шаблон, чтобы дать вам эту массивную стартовую площадку. Так что вы можете создать весь этот контекст, но не придется делать это все с нуля. Например, у вас есть эта отправная точка, а затем также есть много ручной работы, которая идет на то, чтобы действительно сделать эти PRP надежными. И я знаю, что вы тоже хотели затронуть это, Раазмус.
Да, я имею в виду, вы можете просто взять пример, который мы с Коулом построили здесь, например, мы потратили много времени, я бы сказал, вручную или полуавтоматически, потому что мы, конечно, много помогали Cloud Code, чтобы подготовить контекст для этого базового шаблона. Так что э, всякий раз, когда вы создали свой, эм, например, свой базовый шаблон, вы всегда должны прочитать его и убедиться, что он действительно ссылается на вещи, которые вы э, хотите и которые вам нужны, чтобы он ссылался, чтобы он не говорил что-то странное. Так что много времени я трачу на то, чтобы читать их и убеждаться, что они хороши, прежде чем я их выполняю, потому что особенно когда я выполняю вещи параллельно, мне нужно убедиться, что они не э, слишком запутаны. Так что даже если я запускаю их в разных рабочих процессах, я не хочу иметь конфликтов, когда я пытаюсь объединить их позже. Так что если вы хотите масштабировать это особенно, вам нужно убедиться, что они не запутаны, но вам также нужно убедиться, что они фактически следуют бизнес-логике, которой вы хотите, чтобы они следовали. Так что прочитайте свои PRP, прежде чем запускать команду выполнения, которая является последним шагом. Да, определенно. Да, проверка всегда важна, и это большая проблема, которая так неправильна в вайб-кодировании, верно? Просто никогда нет этой проверки, и она нам нужна даже для контекста, который мы проектируем.
И я думаю, что последний большой кусок, который мы здесь не затронули, это наш claw.md или просто любые ваши глобальные правила для вашего помощника по кодированию с ИИ, который, кстати, вы можете использовать этот весь процесс с Gemini CLI или Cursor или Windsurf. У вас нет идеи слэш-команд, как в Cloud Code, но вы можете просто взять эти слэш-команды и затем использовать их как обычные промпты, верно? И так, да, теперь углубляемся в глобальные правила. Э, я хочу углубиться в это с вами, Раазмус, потому что я думаю, что очень важное различие, которое нам нужно сделать здесь, это когда вы помещаете контекст в глобальные правила, такие как cloud.mmd, против того, когда он принадлежит PRP?
Да. Итак, э, я люблю думать об этом так: я рассматриваю свой Cloud MD как место, куда я помещаю постоянные правила, которые очень редко меняются. Так что вещи, которые будут верны всегда в моей кодовой базе, и вещи, которые будут добавлены в мою кодовую базу, которые также будут верны всегда или очень долго. Так что э, всякий раз, когда вы добавляете новый принцип, например, новый стандарт именования или, возможно, новую э, функцию, которая действительно очень важна для вашей кодовой базы, вы также можете добавить ее туда. Э, так что да, вещи, которые останутся неизменными надолго. Э, но также добавлять новые вещи, которые продолжают поступать. Вы также можете помещать файлы Cloud MD в определенные папки, которые ссылаются на конкретные вещи в этом модуле или папке. Это тоже очень мощно. Затем я люблю думать о слэш-командах как о том, где они должны быть просто как вставки э, для того, над чем вы работаете. Так что они не должны содержать ничего специфического. Так что команда создания — это просто планирование, это просто огромный рабочий процесс планирования на самом деле. Что-то вроде рабочего процесса исследования, который на самом деле не имеет ничего общего с чем-то конкретным. Он становится специфическим, потому что вы передаете свой конкретный план. И то же самое относится к выполнению. Команда выполнения — это просто цепочка промптов или э, промпт, который сообщит ИИ, как выполнить ваш PRP. Так что это не имеет ничего общего с самим PRP. И затем базовый PRP — это действительно то место, где вы помещаете свой конкретный контекст для той конкретной работы, которую вы делаете прямо сейчас.
Да, это очень хорошо. И мне просто нравится формулировка, что cloud.mmd — это то место, куда идут вещи, которые не будут меняться, потому что на самом деле, когда вы начинаете работать с существующей кодовой базой, у вас будет своего рода мини-PRP для каждой функции, которую вы хотите разработать, потому что всегда будут немного разные способы, которыми вы хотите реализовать функцию. Но claw.md — это то, что одинаково для всех этих функций. И на самом деле это подводит к следующему вопросу, который я хотел задать вам, Раазмус: насколько хорошо фреймворк PRP работает с существующими кодовыми базами? Я знаю, что это то, о чем люди довольно часто спрашивали.
Да, я имею в виду, я думаю, э, он специально создан для работы с существующими кодовыми базами. Так что это тот вариант использования, для которого он мне был нужен, когда я начал его строить. Он определенно не был идеальным, когда я начал его строить, но я поставил довольно большую ставку на то, что он скоро будет хорошо работать с лучшей моделью, и я думаю, особенно с Cloud Code, мы видели, что это произошло. Так что даже разница между тем, как он работал с Cloud 3.7 и Cloud 4, просто безумна. Например, я запускал PRP из 100 строк, и он работал надежно девять раз из десяти, может быть, семь раз из десяти, а после Cloud 4 я могу надежно запускать промпт из 500 строк, полунадежно промпт из тысячи строк, и я запускал промпты из 1500 строк надежно, вы знаете, конечно, не 10 из 10, но, вы знаете, экспериментально я пробую много вещей. Да. Да, и важно сказать, что это не идеально. Определенно нет, но это кажется близким. Например, это просто невероятно, какие вещи мы можем построить с помощью фреймворка PRP и просто используя его как наш способ контекстной инженерии.
И э, последний вопрос, который я хочу задать вам, Раазмус, на самом деле тот, который я получал чаще всего с тех пор, как сделал свое вводное видео по контекстной инженерии, это почему нужно тратить столько времени на контекстную инженерию? Я знаю, что мы говорили об этом на протяжении всего нашего разговора, но я определенно чувствую, что будут люди, которые все еще не решаются тратить столько времени на "заточку топора", так сказать. Итак, что бы вы на это сказали? Например, почему мы должны тратить время на проектирование такого большого объема контекста?
Да. Итак, для меня это очевидно, потому что я пришел из управления продуктами. Так что я все равно это делал. Так что я все равно выполнял такую работу, но не для помощника ИИ, а для команды разработчиков. Так что это действительно просто основывается на том, что кто-то, строящий реальный проект, кто-то выполняет эту работу, будь то вы, или ИИ, или кто-то еще. Так что действительно глубоко задумайтесь над важными вопросами, такими как: почему мы вообще это строим? Для кого мы это строим? Как именно должен выглядеть пользовательский опыт? Это действительно важные вопросы, на которые нужно ответить, а затем принять решения о том, как это построить, например, когда вы строите свой первый прототип чего-то или версию чего-то, вы должны принять это решение, а затем протестировать его на пользователях, и когда вы работаете с реальной существующей кодовой базой, вы уже получите много этой обратной связи от пользователей. Так что вы можете, например, построить свой PRP на основе обратной связи от пользователей, которую вы уже получаете. Вот почему это так хорошо работает и с существующими вещами. Не только то, что у вас уже есть обратная связь от пользователей, но у вас также есть существующая кодовая база, которой нужно следовать. Это именно то, что показывает этот пример, что когда у нас есть, например, это могло бы быть возможно сделать за один раз эту большую часть работы без такой хорошей основы, которую действительно имеет этот шаблон сервера MCP. Так что ИИ будет иметь все эти шаблоны, которым нужно следовать, которые уже существуют, э, что поможет нам построить это э, надежно.
Да, это очень хорошо. Спасибо, Раазмус. Это все, что у меня было по вопросам, и вы так хорошо подготовили почву для понимания того, почему мы должны заботиться о PRP и как он работает. И теперь я хочу провести всех через живой пример использования этого шаблона для создания сервера MCP с нуля. И так, я покажу вам все, что Раазмус нам показал, но мы пройдемся по этому шаг за шагом. Так что я создам этот initial MD, верно? Я сгенерирую PRP. Мы построим сервер MCP и все проверим. И результаты, которые мы получаем, просто потрясающие. Так что спасибо, Раазмус, за то, что вы провели нас через все это. А теперь перейдем к демонстрации.
Итак, мы находимся в файле readme для шаблона сервера MCP, который у меня есть в репозитории введения в контекстную инженерию. Это то, что я показывал ранее на GitHub. И теперь я клонировал его локально. Я проведу вас через три шага здесь, чтобы создать наш сервер MCP с нуля со всем контекстом, который у нас есть в качестве отправной точки. И так, мы создадим initial MD, где опишем сервер MCP, который мы хотим. Мы сгенерируем и проверим наш PRP, а затем, наконец, выполним его, и затем вы сможете итерировать оттуда и развернуть его на Cloudflare Workers. И обязательно посмотрите мое последнее видео об этом сервере MCP, который у меня есть в качестве отправной точки для вас, если вы хотите углубиться в сторону развертывания на Cloudflare. И говоря об этом сервере MCP, который является частью контекста здесь. Так что мы, по сути, берем этот сервер MCP, превращая его в каркас, который у нас есть в этом шаблоне. Так что у нас есть все, что касается PRP, плюс сервер MCP в качестве каркаса. И затем все, что нам нужно сделать с нашим PRP, когда мы его генерируем и выполняем, это, по сути, сказать ему, как взять скелет сервера MCP и добавить все наши пользовательские инструменты. Это то, что мы будем делать здесь. И так, нам нужно начать с редактирования нашего initial MD. Так что это находится в папке PRP. И затем здесь мы можем описать сервер MCP, который мы хотим создать на основе этого шаблона. И так, у меня здесь есть пример, полностью написанный. Это для создания нашего PRP Taskmaster MCP, который я демонстрировал ранее, но вы можете настроить это на то, что вы хотите построить. Я просто обычно рекомендую сохранять раздел функций. Затем у нас есть примеры и документация, большая часть которых уже настроена в этой специфичной для MCP базе PRP, о которой мы говорили. И затем другие соображения также очень важны. Это хорошее место для ссылки на любые подводные камни, с которыми помощники по кодированию ИИ, кажется, часто ошибаются. Например, я говорю о том, как использовать переменные окружения, и это очень сильно соответствует initial MD, который я описал в своем последнем видео о контекстной инженерии. Так что это очень похоже на то, что мы взяли корень этого репозитория и теперь просто сделали суперспецифическую версию для создания серверов MCP с моим последним MCP в качестве добавленного контекста, своего рода каркаса, верно, так что в этом прелесть этого, и так что я сделал в своем initial MD, это сказал что-то довольно простое здесь, например, мы хотим построить MCP, мы хотим создать простую версию Taskmaster, но разбирающую PRP вместо PRD, и я, вероятно, мог бы быть гораздо более конкретным здесь, но я просто хотел показать это как демонстрацию. И так, ваш initial MD может быть немного длиннее. Вы можете захотеть быть гораздо более конкретным. Это просто для того, чтобы вы начали. Это просто для того, чтобы дать вам общее представление о том, что будет в каждом разделе. Так что это все функции, которые мы хотим в нашем MCP, например, различные инструменты, которые мы ищем. И как Раасма сказал, вы можете захотеть иметь PRP для каждого инструмента, если вы действительно хотите убедиться, что он работает идеально. В нашем случае это на самом деле работает очень хорошо, что просто безумно. И затем для примера документации, большая часть ее уже находится в нашей базе PRP MCP. И затем я также даю ему репозиторий GitHub для Claude Taskmaster. Так что в рамках нашего PRP мы собираемся сказать Claude Code фактически посмотреть на реализацию, чтобы он понял все инструменты там, чтобы он мог воспроизвести это для нашего PRP Taskmaster MCP. И затем всего несколько соображений, которые у меня есть здесь внизу.
Итак, это мой initial MD. И затем, возвращаясь к файлу readme здесь, позвольте мне открыть файл readme. Как только это настроено, теперь нам просто нужно сгенерировать наш PRP. Итак, я нажму Ctrl J, чтобы открыть терминал здесь в моем VS Code. И затем я наберу Claude. Итак, мы находимся в Claude. И затем я сделаю слэш. И затем все, что нам нужно сделать, это слэш PRP MCPre. Я могу нажать Tab для автозавершения. И затем мне просто нужно указать мой initial MD, который вы можете просто вызвать по имени файла или, что еще лучше, относительный путь к файлу в репозитории вот так. Бум. Вот и все. Итак, я продолжу и отправлю это. Я нажму Shift+Tab, чтобы авторедактирование было включено. И теперь он проведет кучу исследований на основе MCP, который я хочу создать, на основе базы PRP MCP. И он создаст для меня пользовательский PRP на основе этого шаблона. И это займет некоторое время. Он проводит довольно много исследований, архитектуры и планирования. И так, я поставлю на паузу и вернусь, как только у нас будет наш PRP, а затем мы проверим его вместе.
И вот. Примерно через 10-15 минут у нас сгенерирован наш пользовательский PRP. Итак, я нажму Ctrl J, чтобы перейти в свой терминал. Нажмите на этот PRP и давайте посмотрим. И так, помните, нам нужно все здесь проверить. И они довольно длинные. В целом, эти PRP могут быть довольно объемными, но стоит просмотреть все, по крайней мере, бегло ознакомиться с деталями здесь, убедиться, что нет ничего сумасшедшего, убедиться, что он действительно собирается реализовать сервер MCP или приложение, которое вы хотите реализовать. И так, да, давайте начнем сверху. Итак, мы строим сервер MCP. Цель — построить готовый к производству MCP для системы парсинга PRP. Инструменты управления задачами. У нас есть GitHub OAuth, развертывания Cloudflare Worker. Мы используем PostgreSQL для управления всем в нашей базе данных. Это выглядит очень хорошо. И он перечисляет инструменты, которые нам нужны для парсинга PRP, управления задачами, документации, в основном все, что вы видели в демонстрации ранее. Действительно, очень хорошая аутентификация, база данных. И одна вещь, которую я хочу вам показать, что действительно важно, это то, что мы всегда хотим иметь раздел в PRP, который говорит обо всей документации и ссылках, которые мы хотим привнести в контекст для нашего помощника по кодированию ИИ, когда мы выполняем PRP. И так, это то, что вы определенно хотите раскрыть подробно, потому что все, что мы здесь перечислили, он будет читать и использовать в качестве своей отправной точки для реализации. Так что он поймет здесь, как регистрировать новые инструменты для нашего MCP и подключать это к нашему каркасу. Это супер важно. Он будет анализировать существующую кодовую базу, чтобы увидеть, как мы настроили наш сервер MCP. У нас есть официальная документация от MCP. Так что, как правило, вы хотите иметь хорошее сочетание между внешними источниками, такими как наши официальные документы MCP, а затем нашей существующей кодовой базой и примерами, которые мы даем, и все это вместе целостно создает весь контекст вместе с PRP. В это просто так много всего входит. Другая вещь, которая действительно крута, это то, что обычно с PRP, что мы с Раазмусом делали, это заставляли его перечислять текущую структуру кодовой базы, а затем желаемую структуру, что мы хотим добавить или изменить для окончательной реализации сервера MCP. И, черт возьми, это просто дает столько структуры. И я видел, как Cloud Code особенно хорошо придерживается этого. Например, каждый раз, когда я использую такой PRP, что бы он ни выдавал, он фактически соответствует этой структуре файл за файлом. Это так, так круто. И так, на данный момент я на самом деле не хотел многого менять. Э, так что если мы продолжим прокручивать вниз, одна вещь, которую я заметил здесь за кадром, это то, что он хочет обновить dev.vars, что является своего рода эквивалентом Cloudflare для .env. Вы обычно не хотите, чтобы ваши помощники по кодированию ИИ фактически шли и редактировали ваши секреты напрямую. Так что я бы хотел удалить этот раздел. И так, это просто для того, чтобы дать вам пример чего-то, что вы очень хотели бы изменить. И вот почему так важно проверять свои PRP. Я не хочу утомлять вас деталями, например, настройки всего прямо здесь. И так, мой план сейчас — пройти через весь этот PRP самому, как я бы вам рекомендовал. Я буду корректировать вещи по своему усмотрению. Затем я вернусь, и мы выполним этот PRP.
Хорошо. Итак, я внес некоторые корректировки в PRP. Действительно убедившись, что он реализует то, что я хочу, на основе моего initial MD. В целом мне не пришлось много чего менять. Например, он проделал очень хорошую работу. И так, теперь мы можем перейти к последней части процесса, где мы выполняем наш PRP. И да, это действительно просто в целом, особенно из-за того, как мы можем использовать этот шаблон в качестве такой хорошей отправной точки для создания MCP. И это то, что я хочу продолжать развивать для многих других вариантов использования, которые вам также было бы интересно создать. И так, что я обычно рекомендую делать, как только вы вернетесь в Claude здесь, это я бы рекомендовал выйти или очистить разговор. Обычно вы хотите очистить контекст. Так что вы начинаете с чистого листа, когда переходите к выполнению PRP. И так, теперь это будет PRP MCP execute. Опять же, просто Tab для автозавершения. И затем то, что мы хотим сделать, это просто передать относительный путь к нашему новому PRP. Итак, это PRP, а затем PRP parsermc.md. Вот и все. Хорошо. И у меня включено автопринятие правок. Теперь он сначала проанализирует PRP, а затем пройдет по всей документации, примерам файлов и всему остальному, создаст исчерпывающий список дел, а затем начнет выполнять задачи одну за другой. И он даже собирается реализовать то, что Раазмус любит называть "воротами валидации". Так что у него будет линтинг, и он создаст модульные тесты, и он будет запускать эти модульные тесты и итерировать на этом, пока сервер MCP не будет завершен и работать, по крайней мере, по тому, что он может сказать, верно? И так, это довольно обширный процесс. Например, это будет продолжаться некоторое время. И так, вы можете пойти и, вы знаете, выгулять свою собаку, пойти и поработать над другим проектом, вернуться, как только это будет сделано, и у вас будет безумная отправная точка для MCP. Он не всегда работает с первого раза, но иногда может. И так, да, я поставлю на паузу и вернусь, как только у нас будет наша реализация.
И вот. Примерно через 25 минут Cloud Code выполнил все задачи для нас, и теперь у нас есть полностью реализованный сервер MCP. Взгляните на все инструменты, которые я здесь построил. И у нас зеленые галочки по всему полю. И так, теперь мы можем использовать Wrangler, CLI Cloudflare, чтобы запустить наш MCP. И я не буду углубляться в детали того, как все это работает с Wrangler и Cloudflare. Вы определенно можете посмотреть мое последнее видео, где я действительно строю этот MCP с вами, чтобы получить такие детали. Но прямо здесь мы можем использовать команду Wrangler dev для его запуска. Указав конфигурацию, которую Cloud Code только что сделал для нашего нового сервера MCP, нашего PRP Taskmaster. Вот и все. Или запустите это. Он будет имитировать мою производственную среду Cloudflare. Так что у меня, по сути, работает локальный воркер, и это мой URL для доступа к серверу MCP либо с помощью потокового HTTP, либо SSE для устаревших целей. И так, возвращаясь в мою IDE здесь, в моей конфигурации облачного рабочего стола, я добавил это для моего PRP Taskmaster. Так что просто указывая на этот URL, а затем /mcp для потокового HTTP, а затем я могу перезапустить свой облачный рабочий стол. Итак, позвольте мне сделать это очень быстро. Перенесите это сюда. Хорошо. И вот. И затем, если вы хотите проверить и убедиться, что ваш сервер MCP подключен правильно, вы просто нажимаете на поиск и инструменты. Опуститесь вниз, и вот. У нас есть наш PRP Taskmaster с 18 инструментами, которые мы реализовали. Это просто так, так круто. Хорошо. И так, я скажу, что за кадром мне пришлось итерировать один раз, чтобы все заработало. Было всего пара ошибок, и я думаю, что был один инструмент, который мне нужно было подправить, но в остальном он работал очень хорошо. Так что это был двухэтапный процесс для этого сервера MCP, и он в основном такой же, как моя последняя демонстрация. Так что я просто использую тот же промпт здесь, чтобы мы могли запустить это и просто увидеть это в действии, как мы делали ранее. Но да, мы готовы. И так, теперь вы можете взять это и развернуть на Cloudflare. Вы можете следовать инструкциям в readme, а также в репозитории специально для моего удаленного MCP Cloudflare worker, ссылку на который я также оставлю в описании. Но да, главное, что я хотел вам здесь показать, сделано. Мы прошли трехэтапный процесс создания сервера MCP, используя контекстную инженерию, в частности, с фреймворком PRP. Это просто фантастика. И так, да, мы можем увидеть это в действии здесь. Он собирается, да, проверить наш PRP и попросить нас одобрить это действие, что я и сделаю. Я не буду показывать полную демонстрацию снова, но да, все выглядит очень хорошо. Итак, мы построили сервер MCP с нуля. Вы можете пройти тот же процесс, независимо от того, какой MCP вы хотите создать.
Итак, вот оно. Это все, что я хотел показать вам о контекстной инженерии и, в частности, о ее применении с фреймворком PRP. Так что я надеюсь, что вы сможете использовать это как отправную точку для очень легкого создания любого сервера MCP, который вы хотите. И с небольшой долей воображения вы можете увидеть, как вы могли бы настроить это, чтобы создать все, что вы хотите. В этом прелесть контекстной инженерии: она в 10 раз ускорит ваш рабочий процесс, независимо от того, что вы хотите создать. И, как я уже сказал, я и сообщество Dynamus хотим создать этот репозиторий всех этих различных шаблонов, чтобы помочь вам начать с чего угодно. И это будущее кодирования с ИИ. Так что если вам понравилось это видео, и вы с нетерпением ждете большего в области кодирования с ИИ и агентов ИИ, я был бы очень признателен за лайк и подписку. А на этом я увижу вас в следующем