📱

Get Our Mobile App

Take your business learning on the go!

Download on the App StoreGet it on Google Play

I Was Wrong About Ralph Wiggum

Cole Medin21:22

Transcription

Недавно я назвал Ральфа Вигума вершиной эволюции Vibe-кодинга. И я не имел это в виду как комплимент. Если вы были на моем канале раньше, вы знаете, что я не поклонник Vibe-кодинга. Мы должны быть у руля, когда работаем с нашими кодинг-агентами. Так что, да, я был в лагере тех, кто считает, что Ральф Вигум переоценен. Давайте просто двигаться дальше. Но после того, как я недавно узнал об этом больше, я, честно говоря, уже не так уверен в этой позиции. Теперь, не поймите меня неправильно, это все еще Vibe-кодинг в определенной степени. И поэтому многое из того, что я осветил в последнем видео, остается верным. Но одна из самых больших претензий, которые у меня были к Ральфу Вигуму, заключается в том, что в нем действительно нет встроенного процесса планирования. Или, по крайней мере, я так думал, потому что я действительно сосредоточился на плагинах Anthropic специально для Ральфа Вигума. Но это, мой друг, не официальный Ральф Виггум. И на самом деле, после того, как я выпустил это видео, Джеффри Хантли, создатель Ральфа Виггума, прокомментировал и поделился некоторыми ресурсами, некоторыми видео на своем канале, которые я оставлю по ссылке в описании, где он рассказывает о том, как он встраивает обширное планирование в Ральфа Виггума, рассматривая Ральфа Виггума как философию, а не как этот действительно блестящий объектный фреймворк, как его представил Anthropic. И поэтому в Ральфе Виггуме гораздо больше, чем вы думаете. Это то, что я хочу осветить с вами в этом видео.

Теперь я абсолютно не говорю, что с надлежащим планированием Ральф Виггум — это лучшее, что есть в мире. На самом деле, даже в моем последнем видео я сказал, что когда мы добавляем планирование заранее, чтобы направлять нашего кодинг-агента, этого все равно недостаточно. И поэтому, если вы действительно хотите увидеть, как выглядит мой процесс запуска сложных проектов с нуля, у меня скоро будет видео на моем канале. Так что, обязательно оставайтесь на связи. Но для Ральфа Виггума все еще существует гораздо больше сценариев использования, чем я описал в том другом видео, потому что концепции доказательства очень мощная вещь. Даже когда я работал в корпоративной среде, я часто создавал концепции доказательства, чтобы доказать идеи высшему руководству или даже себе, когда я нахожусь в фазе исследования. И просто поразительно, что с помощью ИИ-помощников по кодированию и философских инструментов, таких как Ральф Виггум, наша фаза исследования может буквально зайти так далеко, что мы сможем создать несколько полных версий нашего приложения в качестве концепции доказательства, чтобы проверить такие вещи, как наша архитектура и наш технологический стек. Это при условии, что у вас есть структурированный план. Эти оболочки не работают хорошо, если у вас нет очень четко определенных целей. И это одна из вещей, которые я покажу вам немного позже.

Итак, если есть один главный вывод, который вы должны сделать из этого видео, то это то, что, по крайней мере, по моему скромному мнению, реальное использование Ральфа Виггума и любой оболочки агента для длительных задач — это проверка ваших собственных идей. Потому что теперь с этими инструментами и фреймворками так невероятно легко создавать даже несколько полных концепций доказательства, чтобы убедиться, что вы движетесь в правильном направлении, прежде чем приступить к созданию полнофункционального производственного приложения, применяя ваш более строгий рабочий процесс ИИ-кодирования. И вот что я собираюсь показать вам прямо сейчас. Итак, у меня есть этот шаблон, который я оставлю по ссылке в описании. Вы можете использовать его для создания плана для цикла Ральфа Виггума буквально за 5-10 минут. И пока в вашем плане четко определена область применения, вы можете отправить это в цикл Ральфа, и он создаст для вас красивую концепцию доказательства. Итак, я расскажу, как это работает, а затем проведу с вами живую демонстрацию. И поэтому мы создадим что-то, что даже не так уж тривиально. Мы будем использовать Neon для базы данных, Clerk для аутентификации, Burcell agent browser CLI. Так что у нас есть цикл валидации в рамках Ральфа Виггума. Это тоже очень важно. И поэтому вы увидите к концу этого, что мы можем использовать это для очень, очень быстрого создания концепций доказательства. И вы можете применить это к чему угодно, что вы захотите сделать.

Хорошо, давайте приступим к этому сейчас и создадим что-нибудь вместе. И отдавая должное. То, что у меня есть для вас здесь, очень вдохновлено руководством Джареда Блю по Ральфу Виггуму. Так что это один из ресурсов, который я изучил, когда хотел действительно увидеть, как использовать цикл Ральфа Виггума, не следуя официальному плагину Anthropic, который не является настоящим Ральфом Виггумом. И снова, я слишком сильно сосредоточился на этом в моем последнем видео. И поэтому я взял много вдохновения от этого, но я создал что-то, что я сильно настроил для вас, чтобы сделать его максимально простым для начала. И поэтому, пролистывая введение здесь, где я также говорю о том, почему мы не используем плагин Anthropic, потому что он даже не сбрасывает контекстное окно. как будто это просто плохая идея использовать его. Здесь мы переходим к предварительным требованиям. Так что вы можете использовать Ральфа Виггума с любым кодинг-агентом. Я просто настроил его для использования Claude code в фактическом цикле Ralph. Так что это bash-скрипт, который управляет всем с циклом Ralph Wiggum. И затем, возвращаясь к README здесь, я также использую Versell agent browser CLI для автоматизации браузера, потому что большая часть цикла заключается в том, что мы хотим, чтобы агент мог проверять свою работу в конце каждого цикла, прежде чем мы перейдем к следующему. Так что вы могли бы использовать что-то вроде Playwright MCP. Это просто мой предпочтительный инструмент. Я также недавно сделал видео об этом. И тогда у нас есть все файлы проекта, уже настроенные и готовые для вас. Так что я расскажу об этом подробнее немного позже, но процесс использования Ральфа Виггума со структурированным планированием здесь очень прост. И поэтому мы начинаем с этой команды create PRD/command, которую я создал для вас. И поэтому, опять же, используя Claude code здесь, но вы можете вызвать create PRD, и он задаст вам вопросы, по сути, проводя исследование вашего приложения, чтобы выяснить весь контекст, который ему нужен для создания плана структуры для вас. Он даже проведет исследование, если вы захотите, а затем сгенерирует этот PRD. Это список функций, которые вам нужно выполнить, чтобы создать всю вашу концепцию доказательства. Это основной контекст, который входит в цикл Ральфа Виггума. И тогда у нас есть некоторые другие файлы markdown, которые у нас здесь есть. Так что я хочу быстро объяснить это, а затем я расскажу больше о том, как работает фактический цикл. И поэтому сначала у нас есть prompt.md. Так что это контекст, который мы отправляем в Ralph каждый раз, когда мы делаем цикл. И поэтому, как часть этого, мы также говорим ему читать PRD. Так что у него есть полный объем работ. Что мы строим для этой концепции доказательства? И тогда также activity.md. Это файл markdown, где мы отслеживаем, что произошло в предыдущих циклах. И поэтому каждый раз, когда мы заканчиваем цикл, мы будем обновлять этот файл как один из наших последних шагов. Так что у нас есть, по сути, долгосрочная память для цикла. Так что каждая итерация мы знаем, что уже было реализовано. Мы можем видеть, сколько задач из PRD было выполнено, последний раз, когда он был обновлен, и тому подобное. И поэтому, опять же, возвращаясь к README здесь, после того, как вы создали свой PRD, у вас будет prompt.md, который настроен на то, что вы собираетесь строить. Очевидно, объем работ также настроен. И тогда у вас будет settings.json. Так что у нас есть безопасность, встроенная в Claude code, тоже. Он работает в режиме песочницы. Так что мы будем много доверять, запуская цикл Ральфа Виггума. Но, по крайней мере, мы можем ограничить конкретные команды, которые он может выполнять. Так что мы можем позволить ему работать некоторое время, и он не просто сойдет с ума и удалит все с нашего компьютера. Так что у нас есть settings.json здесь, чтобы предотвратить то, что он может делать, и разрешить только определенные действия. Так что это тоже очень важно. Это еще одна из тех вещей, которые не встроены в плагин Anthropic, когда это действительно должно быть включено в руководство. И поэтому я хочу предоставить это как часть руководства для вас здесь. И поэтому, как только у нас все это настроено и у нас есть наш PRD, тогда мы можем запустить цикл Ralph. И поэтому это классический bash-скрипт, потому что все, что делает Ralph, — это просто запуск Claude code в bash-цикле. И поэтому здесь немного больше, чем мне действительно нужно объяснить. Главное, однако, это то, что мы проверяем, есть ли у нас все необходимые файлы, наш prompt, PRD и файлы markdown активности. И тогда мы начинаем цикл. Так что мы можем ограничить количество итераций, а также. Мы можем указать максимальное количество итераций. Но в остальном, что мы собираемся сделать, это запустить Claude, просто передавая этот prompt, чтобы он знал, вот ваш PRD, вот журнал активности. Теперь идите и выполните следующую функцию. И действительно классная часть нашего PRD, я покажу вам это здесь, что список функций структурирован точно так же, как и в оболочке Anthropic для агентов, работающих в течение длительного времени. Так что я освещал это на своем канале. Есть много действительно отличных выводов из этого. И одна из больших вещей, которую можно узнать из оболочки Anthropic, — это то, как они перечисляют функции, которые необходимо выполнить, чтобы мы могли сказать, что приложение фактически завершено. И поэтому это комбинация того, что у нас есть категория, описание функции, шаги для валидации, когда в нашем случае мы используем Versell agent browser CLI, а затем также этот флаг — работает ли функция или нет. И поэтому единственный раз, когда мы говорим Ralph, вам разрешено использовать этот токен завершения. Так что у нас есть это, вы знаете, как когда вы закончили, это когда вы можете сказать "promise complete". Единственный раз, когда нам разрешено вывести это, чтобы выйти из цикла Ralph, это когда "passes" равно true для каждой функции, которую мы имеем в нашем PRD. Правильно? Как будто это важно, чтобы сосредоточиться на этом здесь на секунду, потому что это наше единственное условие выхода. В противном случае этот цикл Ralph будет работать вечно или до тех пор, пока мы не достигнем максимального количества итераций. И тогда, как я уже говорил ранее, в конце каждого цикла мы также будем обновлять журнал активности здесь. Так что это, по сути, то, как мы берем вывод одного агента и передаем его в качестве входных данных для следующего в следующем цикле Ralph. И это, по сути, все, что нужно осветить в цикле, а также все, что у меня есть в README. Так что я просто хотел, чтобы вы точно поняли, как работает Ralph, потому что это больше философия, чем фреймворк. Это как мы можем отслеживать состояние с течением времени, имея множество различных агентов, выполняющих эти различные функции в разных контекстных окнах, чтобы избежать раздувания контекста. Это также главная вещь, которую я вынес из оболочки Anthropic. И поэтому, с учетом этого, давайте начнем с самого начала вместе. У меня есть совершенно пустая кодовая база здесь, кроме шаблона. Я начну с создания PRD. Мы создадим целое приложение вместе, и я покажу вам конечные результаты.

Хорошо. Итак, теперь в Claude, это единственный раз, когда я сам запущу команду Claude, потому что как только у нас будет наш PRD, тогда я просто запущу bash-цикл Ralph, и все. И тогда в конце у нас будет наше полное приложение. Надеюсь, все работает идеально. Держу пальцы скрещенными. Так что немного Vibe-кодинга, но это часть "быть у руля" прямо здесь, создание нашего плана. И поэтому мы просим кодинг-агента пройти нас через кучу вопросов, чтобы он мог создать план, но мы все еще определяем такие вещи, как технологический стек и архитектура. Так что мы увидим это через секунду. Итак, для каждого из вопросов, которые Claude задает вам, чтобы помочь создать PRD, это выбор из нескольких вариантов, и вы также можете ввести свой собственный ответ. Так что это использует одну из новых функций в Claude, где он может задавать вопросы нативно в CLI. Это очень круто. И поэтому я добавил выбор из нескольких вариантов на случай, если вы захотите быстро пройти через вещи и перейти к циклу Ральфа Виггума. В целом, чем более конкретно, тем лучше. Так что я буду вводить все ответы сам. И для приложения у меня есть довольно потрясающая идея, чтобы бросить Ральфу Виггуму здесь. Я хочу создать приложение для отслеживания привычек, управляемое агентом, потому что отслеживание наших привычек очень важно. Так что возможность отмечать их каждый день, но использовать агента, чтобы давать нам предложения и помогать нам оставаться подотчетными. И поэтому я буду использовать Clerk для аутентификации, Neon для базы данных для отслеживания истории разговоров и Open Router для LLM для агента. И поэтому это не совсем тривиальное приложение в целом, и я хочу быть довольно конкретным относительно моего технологического стека здесь. Так что я отвечу на этот вопрос и все остальные за кадром, просто чтобы не утомлять вас деталями. И я вернусь позже и покажу вам, что я запланировал для PRD.

Хорошо, наш PRD теперь сгенерирован. Я хочу быстро показать вам мои ответы на вопросы, если вы хотите вдохновиться этим, чтобы пройти весь этот процесс самостоятельно. И поэтому, прежде всего, я сказал, что хочу создать приложение для отслеживания привычек, управляемое агентом, как я вам описал. И тогда весь текст серым цветом — это вопрос, который он мне задал, а затем ответ, который я дал. Так что он спросил меня, кто аудитория. Я просто сказал: "Общие личные пользователи". Я перечислил некоторые функции, которые он мне предложил. И поэтому одна из вещей, которые я люблю делать с кодинг-агентами на этапе планирования, — это держать себя у руля, по-прежнему позволяя ему делать мне рекомендации, но в конце концов я — тот, кто говорит "да, это наш технологический стек" или "это функции, которые я хочу реализовать". И поэтому он спрашивает о технологическом стеке, говоря об этом. И поэтому здесь я указываю, что хочу использовать Clerk для моей аутентификации, Neon для моего серверного PostgreSQL, а затем у меня есть API-ключ, настроенный в Open Router. И поэтому этот API-ключ будет постепенно исчерпываться по мере того, как Ральф Виггум будет проводить валидацию с помощью SDK браузера агента Versell. Так что, в качестве защиты, у меня есть лимит в 5 долларов. Так что я буду тратить реальные деньги, чтобы пройти цикл, но я уже трачу реальные деньги на кодинг-агента в любом случае. И поэтому, пока у вас есть лимиты, чтобы убедиться, что он не войдет в бесконечный цикл и не исчерпает все ваши кредиты API, тогда вы в порядке. Так что защиты на месте. Я позаботился об этом. И тогда он спросил меня о некоторых других идеях для технологического стека. Так что я буду использовать Next.js и Tailwind. Я буду использовать Drizzle для ORM. Так что пара разных вещей, чтобы закончить технологический стек. Shadcn, тоже. Это главное, о чем я спрашивал при развертывании на Versell, что меня сейчас не очень волнует развертывание, но, думаю, хорошо, что он тоже спросил. И тогда последний вопрос, понимание критериев успеха. Так когда мы фактически можем выйти из цикла Ральфа Виггума? Я просто сказал: "Как только у нас будут все функции, отмеченные как выполненные в PRD, чтобы он знал, что мы используем Ральфа Виггума, мы должны выполнить все в PRD, только тогда мы можем выйти из цикла". И теперь, наконец, после того, как все эти вопросы были отвечены, и я знаю, что это занимает некоторое время, но это стоит того, чтобы создать план структуры, потому что теперь он редактирует все заполнители, которые у нас есть здесь, он создает промпт, который специфичен для того, как мы хотим начать наше приложение, он запускает журнал активности для нас здесь, у нас ноль из 19 задач выполнено, и тогда у нас есть наш PRD. Это единственный источник истины для того, что мы строим здесь с Ральфом Виггумом. И поэтому у нас есть вещи, которые мы решили вместе с нашим агентом при планировании целевой аудитории, основных функций. Самое главное, однако, это список задач, который у нас здесь есть. И поэтому шаг за шагом, вот все, что вы собираетесь выполнить. Так что обычно каждый цикл Ральфа Виггума будет фокусироваться на одной из этих задач. И поэтому это не всегда один к одному, но мы проведем около 19 циклов, чтобы реализовать все 19 из этих задач. И тогда еще одна пользовательская вещь, которую я хочу быстро показать вам, прежде чем мы запустим цикл, это то, что есть некоторые вещи, которые я добавил в свои глобальные правила, мой claude.md. И в зависимости от того, что вы строите, вам, возможно, придется сделать что-то подобное. Потому что подумайте об этом, у нас есть наш агент, который проводит самопроверку с помощью инструментов автоматизации браузера. Так что он создаст этот фронтенд для отслеживания привычек, и он посетит его и будет перемещаться по нему, как это сделал бы пользователь, но ему придется войти в Clerk. Ему придется настроить вещи в нашей базе данных. Ему нужны переменные окружения. И поэтому я говорю ему: вот эта тестовая учетная запись, которую я уже создал в Clerk. Вы можете использовать ее для входа с помощью имени пользователя и пароля. И тогда я специально запрещаю ему читать файл .env. Это заблокировано в settings.json, но я говорю ему здесь, что вы не можете читать .env. Но внутри него я уже установил учетные данные, которые вам нужны для Clerk для аутентификации для PostgreSQL, чтобы вы могли запустить миграции и создать таблицы, а также API-ключ Open Router и модель Open Router. Так что вы можете настроить все для взаимодействия с LLM. Так что все, что ему нужно для тестирования полного сквозного приложения, я настроил для него здесь. Я не хочу, чтобы он имитировал вещи. Я не хочу, чтобы он просто создавал модульные тесты. Я хочу, чтобы он мог проверить все приложение, как это сделал бы я, когда провожу ручную валидацию, потому что таким образом, когда управление передается мне после всех этих циклов, которые прошли, вещи действительно работают хорошо и проверены, и поэтому мы можем использовать то, что находится в .env, не читая его самостоятельно.

Итак, мы закончили создание нашего PRD, он внес все эти изменения в эти файлы и создал наш PRD. После того, как он это сделает, я бы рекомендовал проверить эти файлы, чтобы убедиться, что все соответствует вашим целям проекта. Затем мы переходим к запуску цикла, и это так же просто, как просто запустить этот скрипт Ralph.sh. Это запустит Claude, а затем просто будет работать в циклах, пока мы не получим это обещание завершения. И поэтому я перейду в свой терминал. Я выйду из Claude, потому что мы не запускаем Claude сами. Мы просто запускаем цикл, и сам цикл вызывает Claude. И поэтому я открою новое окно. Вставлю Ralph.sh, а затем 20 для 20 максимальных итераций. Вы можете сделать это как угодно. Что угодно, чтобы предотвратить сжигание сотен тысяч токенов. Вы можете сделать 10, если это что-то более простое, но я бы рекомендовал что-то около 20-25. Я просто сделаю 50, потому что я просто хочу быть абсолютно уверенным, что он дойдет до конца. И у меня есть максимальная подписка на Claude, так что я знаю, что у меня не закончатся токены. Итак, я отправлю это. И вот оно. Мы начинаем через 3 секунды. И поэтому я сделаю следующее: я поставлю на паузу и вернусь, когда у нас будет это обещание, когда приложение будет полностью завершено, и мы увидим результаты вместе.

Хорошо, я вернулся на следующий день, и приложение полностью закончено. Я запускал его всю ночь. На самом деле мне не понадобилось столько времени, я думаю, это заняло около 5 часов, чтобы сделать все, включая всю валидацию. И поэтому посмотрите на все артефакты, которые у нас есть здесь. Так что у нас есть каталог скриншотов, все различные изображения, которые он сделал, пока он строил приложение. Я переключил его на темную тему ближе к концу. Так что мы увидим это через секунду. Вот оно. Так что вещи начинают действительно формироваться и выглядеть фантастически. У нас есть все функции ИИ-тренера, встроенные. У нас есть наши журналы активности. Мы можем видеть, по сути, долгосрочную память для цикла Ральфа Виггума. Каждый цикл он обновлял этот файл своим прогрессом и тем, что он делал для валидации. У нас есть наш PRD. И прокручивая вниз до большой части прямо здесь, каждая функция помечена как "true", потому что мы закончили. И переходя к нашему README здесь, у нас есть инструкции о том, как его запустить самостоятельно. Так что обычно после того, как вы создали концепцию доказательства, вы все равно хотите провести ручную валидацию, даже несмотря на то, что у нас есть инструменты автоматизации браузера для агента, чтобы он делал это сам. Но в идеале, поскольку он сам провел все проверки и даже все регрессионные тесты, то, что мы видим сейчас, должно работать очень, очень хорошо. И поэтому я следовал всем этим инструкциям, чтобы настроить его, и у меня работает сайт прямо здесь. Так что у нас есть страница входа с нашей интеграцией Clerk. Так что я собираюсь войти с помощью тестового пользователя, которого я создал здесь. Так что мой пароль, это тот же, который я сказал ему использовать для входа в учетную запись. Так что я собираюсь продолжить. Очень хорошо. Посмотрите на это. Так что мы можем перейти на нашу панель управления здесь. И, черт возьми, это выглядит очень красиво. И посмотрите на это. Он даже генерирует это маленькое сообщение вроде "ИИ-ободрение" каждый раз, когда я посещаю. Я могу обновить страницу. Не знаю, хочу ли я делать это каждый раз. Это немного дорого, но это очень круто. И поэтому я могу перейти к своим привычкам здесь, и я могу видеть все свои привычки. Я могу отмечать их или снимать отметки. Я могу добавлять новые привычки, например, скажем, "пить кофе". Я хочу пить кофе каждое утро. Я буду делать это ежедневно. Описание необязательно. Очень хорошо. Создать привычку. Бум. Посмотрите на это. Пить кофе. Это потрясающе. У нас есть наши цели здесь. Так что мы можем ставить долгосрочные цели. У нас есть вкладка "Тренер". Так что мы можем видеть инсайты. Так что агент работает. Я не знаю точно, как часто он это делает, но он генерирует инсайты на основе целей и привычек, которые мы установили, и того, как мы отмечаем их со временем. Пользователь испытывает трудности с поддержанием мотивации к упражнениям после первоначального сильного старта. Так что, похоже, когда он проходил тестирование, он как бы постепенно прекращал отмечать вещи. Вероятно, поэтому он это говорит. Это очень круто. Я могу спросить агента: "На какой привычке мне следует сосредоточиться, чтобы улучшить свою продуктивность?" И я могу вести разговор с моим терпеливым агентом, работающим под капотом. Он хранит всю информацию, разговоры в моей базе данных Neon. Как будто это действительно фантастика. Может быть, мне стоит лучше отображать markdown здесь. Так что, конечно, есть некоторые вещи, особенно UI, которые следует доработать, например, рендеринг и интервалы между компонентами. Но в целом, это фантастика. Он построил все это для меня от начала до конца. Я не участвовал в процессе до самого конца. И поэтому я бы не стал полностью доверять этому как идеальному приложению. Но для концепции доказательства это именно то, что мне нужно, если я просто пытаюсь проверить идею, просто увидеть ее в действии, возможно, проверить свою архитектуру или технологический стек. Как я уже сказал, это истинное назначение цикла Ральфа Виггума. И это не было дорого. Я имею в виду, да, он использовал много токенов. Я не знаю точно, сколько токенов с Claude Code, но что касается всего тестирования, которое он провел, используя LLM для ИИ-тренера, это стоило всего около семи центов. Я использовал Claude Haiku 4.5 в качестве своей модели, и он провел десятки и десятки взаимодействий с тренером, и это все равно было очень дешево. Так что в целом это было относительно быстро, довольно надежно. Как бы то, что я получил здесь, достаточно для меня, чтобы проверить любую концепцию доказательства, которую я хотел бы. Так что это, мой друг, истинное назначение цикла Ральфа Виггума. И я призываю вас попробовать это сейчас. Я оставлю шаблон по ссылке в описании. Вы можете пройти тот же процесс, что и я, и вам придется держать руки на клавиатуре всего около 10 минут. В противном случае, просто дайте ему работать и постройте что-то довольно потрясающее, как это. Так что, если вам понравилось это видео, и вы с нетерпением ждете большего по ИИ-кодированию, я был бы очень признателен за лайк и подписку. У меня будет много нового контента в ближайшее время, связанного с моими техниками агентного инжиниринга. И с этим я увижусь в следующем видео.