Transcription
Представьте, что к вам на порог пришел очень умный инженер. У них нет контекста, нет предыстории. Вы бы не стали просто говорить, знаете ли, случайному новому сотруднику: "Сделай мне игру, в которую очень весело играть", а затем ожидать, что он добьется успеха. Это не ракетостроение, но я думаю, что причина, по которой у этого репозитория на GitHub около 4000 звезд, заключается в том, что люди действительно хотят следовать процессу, чтобы получить лучшие результаты. Я бы не хотел, чтобы ИИ убежал и создал 30 задач. Я бы хотел, чтобы он создал высокоуровневые, знаете ли, дал мне пять задач, а затем я бы хотел их одобрить. Давайте поговорим о вашей трехкомпонентной системе, а также о том, чем она отличается от типичного VIP-кодирования. >> Итак, я немного расскажу вам, как это работает.
Хорошо, добро пожаловать всем. Мой сегодняшний гость — Райан. Райан — серийный основатель, который строит свой следующий стартап в одиночку, общаясь с ИИ по несколько часов каждую ночь. И у Райана есть потрясающая трехкомпонентная система для кодирования с ИИ, которую я снова очень рад продемонстрировать. И мы также поговорим о том, каково это — создавать стартап в области ИИ в качестве основателя-одиночки. Итак, добро пожаловать, Райан.
>> Отлично. Так здорово быть здесь. Мне нравится описание кодирования часами по ночам. Кажется, это про всех. Так что это я. С нетерпением жду общения и возможности поделиться тем, что я узнал.
>> Да. Не знаю, родитель ли вы, но, знаете, да. У меня есть время кодировать только по ночам. Просто иди спать. Да.
>> Итак, лучшее время — либо поздно ночью, либо утром. Э-э, но, как вы знаете, проблема в том, что если вы собираетесь, скажем, в час, а потом становится два, то вы говорите: "О, черт. Я заплачу за это завтра. Так что вам придется остановиться в определенный момент".
>> Да. Давайте сразу к делу. Давайте поговорим о вашей трехкомпонентной системе. Э-э, и, может быть, вы поделитесь, что это такое, а также чем оно отличается от типичного вайб-кодирования.
>> Да, конечно. Итак, позвольте мне дать людям немного контекста, чтобы они лучше поняли, как я сюда попал, и каков мой набор навыков. Итак, я окончил Университет штата Колорадо, получил степень по информатике и получил свою первую работу в качестве веб-разработчика. Так что я учился в основном, читая книги O'Reilly. Так что, вероятно, есть фанаты, которые любят O'Reilly. Эм, и, э-э, знаете, читал кулинарные книги по PHP и начал строить. Затем, забегая вперед, я подумал: "Хорошо, какая проблема меня волнует?" И я понял, что нужно отправлять большие файлы, которые нельзя было отправить по электронной почте. Так что я, по сути, построил Dropbox. Он назывался Drop Send. Эм, построил его сам. Мы разместили наши собственные серверы, и, э-э, это было приобретено, я думаю, через два года. Так что это был мой первый стартап, когда он был действительно основан в одиночку. Эм, это был B2C продукт, э-э, но это было захватывающе, а затем я понял, что я действительно хочу масштабировать это и расширить возможности большего числа людей, поэтому мы построили онлайн-школу, обучающую коду, верно, так родился Treehouse. >> В итоге мы привлекли венчурный капитал, вы знаете, расширили эту команду до более чем 100 человек, и в итоге мы научили около миллиона человек кодировать, так что затем я просто кодировал, кодировал, кодировал часами и часами по ночам, эм, и моя жена говорит: "Знаешь, пожалуйста, ложись спать в какой-то момент", так что если я поделюсь своим экраном и покажу вам, о чем мы говорим. Хорошо, позвольте мне показать вам сам репозиторий на GitHub. Он с открытым исходным кодом, так что, пожалуйста, используйте его. Эм, и я проведу вас по трем файлам по ходу дела. Вот он. Итак, у нас, по сути, есть три файла. Итак, файл для создания PRD. Э-э, у нас есть файл для генерации задач, э-э, и затем у нас есть файл для обработки списка задач. И это просто промпты, верно? Итак, я покажу вам первый, эм, который вы бы использовали. Теперь позвольте мне очень быстро объяснить, как вы бы это использовали. Итак, что, вероятно, произойдет, это то, что вы будете использовать своего агента, и у вас будет идея функции, которую вы хотите использовать. Эм, а затем вы поговорите об этой функции, а затем вы пометите этот файл. Итак, я на самом деле покажу вам это, а затем я, вероятно, перейду к агенту и покажу вам, как это может работать. Итак, если мы немного прочитаем, эм, цель состоит в том, чтобы направить ИИ-помощника в создании подробного PRD в Markdown. Эм, и процесс довольно прост, верно? Итак, это четырехэтапный процесс. Вы, ИИ получит первоначальный промпт. Эм, затем агент задаст уточняющие вопросы, э-э, а затем он сгенерирует PRD, а затем сохранит PRD как файл Markdown. Эм, мы дали ему несколько примеров, э-э, уточняющих вопросов. Он может спросить, знаете ли, о проблеме цели, целевом пользователе и т. д. А затем мы немного поговорили о структуре PRD, целевой аудитории и выводе. Итак,
>> Да, уточняющие вопросы довольно важны, потому что я становлюсь таким ленивым, когда даю промпты ИИ. Я просто говорю: "Эй, пойди построй мне это, ну, приложение для фильмов или пойди построй то". Это заставляет меня фактически предоставить больше деталей.
>> Да, это, ну, потому что одна вещь, которую я люблю говорить всем, это то, что, знаете ли, представьте, что к вам на порог пришел очень умный инженер, верно? У них нет контекста. Знаете, у них нет предыстории, и вы бы не стали просто говорить, знаете ли, случайному новому сотруднику, знаете ли, э-э, сделай мне игру, в которую очень весело играть, а затем ожидать, что он добьется успеха, или сказать: "Хорошо, мне нужно знать больше". Итак, эм, давайте на самом деле покажем вам это в действии. Эм, позвольте мне переключиться, э-э, на Ghosty. Хорошо, я переведу вас в свой терминал, чтобы на самом деле показать это в действии. Итак, э-э, я большой поклонник Ghosty. Так что, если вы на Mac и вам нужно использовать терминал, я бы полностью рекомендовал Ghosty. Это потрясающе. Э-э, а затем я использую T-Mox, э-э, для управления болью. Эм, опять же, вы можете использовать IDE, что абсолютно нормально. Эм, но я как бы влюбился в этот подход "голое железо". Эм, так что справа у меня есть, э-э, одна панель, в которой я собираюсь запустить AMP. Итак, мы продолжим одну секунду. И снова, моя клавиатура HHKB, э-э, сейчас мне мешает. Итак, мы собираемся запустить AMP, и мы собираемся запустить его со специальной функцией под названием TUI, потому что, эм, это бета-функция, что довольно круто. А затем слева мы собираемся запустить, э-э, э-э, Neoim. Итак, давайте запустим это, и мы собираемся, эм, давайте продолжим и покажем вам. Хорошо, так что слева у нас наш проект, и я на самом деле собираюсь использовать, э-э, реальный репозиторий моего стартапа. Он называется Untangle. Это, э-э, приложение Nex.js. Это около 100 000 строк TypeScript. Так что это довольно приличный репозиторий.
>> Эм, а затем справа у нас, очевидно, AMP, который является моим выбранным агентом, э-э, работающим в командной строке.
Итак, давайте продолжим и подумаем о функции, которую мы хотим выпустить. Итак, теперь Untangle — это, по сути, приложение, помогающее людям пережить развод. И причина в том, что
>> Да.
Э-э, это реальная проблема, с которой сталкиваются люди. Эм, к счастью, я счастливо женат. Я женат на своей замечательной жене 21 год. Эм, но у меня есть, э-э, три сестры, и мы лучшие друзья. И, эм, около 2-3 лет назад, эм, к сожалению, моя старшая сестра пережила развод, и это было довольно тяжело, дорого и сложно, а затем, к сожалению, немного позже моя младшая сестра пережила развод, и я просто наблюдал, как это было тяжело, и я подумал, знаете что, я чувствую, что, эм, помогая людям пройти через этот процесс, знаете ли, помогая им заполнить все формы, наложив сверху действительно умную большую языковую модель, знаете ли, сэкономит им много адвокатских гонораров, много боли. Это не адвокат. Эм, но это делает много вещей, которые должны сэкономить вам деньги. Итак, это контекст. Итак, я думаю, что мы собираемся добавить небольшую функцию, эм, когда пользователь будет подключен, эм, чтобы попытаться понять, знаете ли, каковы его отношения с партнером. Итак, что я собираюсь сделать, это зайти сюда, и я также большой поклонник whisper flow. Так что я произношу большинство своих промптов.
>> Я тоже. Так что я собираюсь это сделать. Итак,
Хорошо. Хорошо. Итак, я хочу создать функцию, которая поможет нам понять, как пользователь относится к своему нынешнему партнеру. Мы хотим попытаться выяснить, в хороших ли они отношениях, в плохих ли отношениях, общаются ли они? Эм, знаете, каковы эти отношения? И мы хотели бы оценить это, эм, от 1 до 10. Э-э, один означает, что это ужасно, а 10, э-э, означает, что они в хороших отношениях. Хорошо. Так что это функция, моя своего рода "бле". Эм, теперь мы собираемся пометить, э-э, эм, prd. Итак, давайте посмотрим, смогу ли я вспомнить, как это называется. Создать prd. Хорошо. Так что мы пометим это, и мы позволим ему работать и зажигать.
>> И это, по сути, как слэш-команда, верно, которую вы где-то создали.
>> Эм, нет, это буквально просто, э-э, пометка файла, чтобы поместить его в контекст.
Хорошо.
Так что это очень просто, верно? Эм, вот почему я построил эти, э-э, как промпты markdown, которые вы на самом деле, э-э, помечаете в промпте. Эм, так что то, что мы видим, это, э-э, некоторые токены рассуждений. Эм, а затем теперь мы получаем ответ. Э-э, я собираюсь сделать это довольно легко. Знаете, обычно я бы прошел и ответил на все это. Эм, но я на самом деле просто, чтобы ускорить это. Я собираюсь сказать: "Почему бы тебе не выбрать то, что ты считаешь лучшим для всего этого?" Хорошо. Итак, э-э, AMP собирается убежать и выбрать то, что он считает лучшим из этого, а затем он сгенерирует PRD. Итак, что здесь происходит, это этот управляемый процесс. Теперь, нужно ли вам делать что-то подобное, когда вы просто выпускаете быстрое исправление? Конечно, нет, верно? Эм, но это действительно полезный способ пройти через, хорошо, мне нужна довольно большая функция, написанная. Я хочу план. Я хочу пройти через это. Эм, а затем, э-э, я хочу выпустить это. Итак,
>> М-м.
Прямо сейчас он собирается подумать об этом.
И вы используете что-то вроде сонета или
>> Да. Итак, одна из интересных вещей, эм, об AMP, э-э, которая мне сначала не нравилась, эм, это то, что нет селектора модели. Эм, и я помню, когда я впервые попробовал, я подумал: "Подождите, какую модель я использую и как это работает, а также где, э-э, принять или отклонить, э-э, различия, верно", и что я узнал, это то, что AMP очень категоричен в выборе определенной модели, которая была сильно оптимизирована для каркаса агента, верно, потому что каждый, кто строит с моделями, знает, что каждая модель дико отличается, верно, и вы не можете на самом деле горячо менять модели, это просто не работает. Эм, и поэтому, э-э, команда AMP решила использовать Sonnet 4 в качестве основного драйвера для главного агента. А затем через минуту я покажу вам эту довольно крутую функцию, э-э, где вы можете попросить Оракула, э-э, помочь. И что это делает, это вызов инструмента к 03. Эм, а затем вы получаете немного больше рассуждений. Эм, это немного медленнее, но вы получаете более вдумчивый результат. И я склонен думать об этом как о том, что я хочу пойти и задать вопрос своему старшему инженеру. Эм, а затем получить их мнение по этому поводу. Мы также используем, эм, Gemini Flash для, э-э, некоторых задач по суммированию. Итак, хорошо. Итак, давайте вернемся сюда.
Хорошо. Итак, он создал, эм, PRD. Он называется PRD partner relationships assessment MD. Эм, а затем то, что я собираюсь сделать, это мы пометим следующий файл, э-э, чтобы сгенерировать эти задачи. Эм, давайте, однако, быстро взглянем на этот файл. Итак, мы увидим, что он называется, э-э, PRD. Вот он. Я на самом деле собираюсь Хорошо, так что вы можете видеть, знаете ли, довольно простой PRD. Эм, эта функция будет оценивать и выставлять баллы текущей динамике отношений, целям, э-э, пользовательским историям. Эм, что еще у нас есть? Э-э, пара открытых вопросов, метрики успеха. Так что, вроде того, что вы ожидаете от приличного PRD.
>> Ага.
Хорошо. Итак, теперь я собираюсь переключить свой экран обратно. Хорошо. Итак, мы вернулись к репозиторию на GitHub, и я собираюсь показать вам наш следующий файл, который мы собираемся пометить. Эм, который является файлом генерации задач. Итак, у нас есть отличный PRD, и теперь то, что мы хотим сделать, это построить конкретную атомарную задачу, которую мы хотим, чтобы агент выполнил. Верно? Итак, цель состоит в том, чтобы направить ИИ-помощника в создании подробного пошагового списка задач в формате markdown. Эм, и он должен направлять разработчика через реализацию. Верно? Итак, мы хотим файл markdown. Мы хотим, чтобы он был в папке tax task. Мы хотим получить это имя файла. Так что это довольно просто. Опять же, у вас есть 10 шагов, которым я хочу, чтобы ИИ следовал.
>> Эм, получить PRD, проанализировать PRD, оценить текущее состояние. Фаза один, он генерирует родительскую задачу. Верно? Так что я бы не хотел, чтобы ИИ убежал и создал, знаете ли, 30 задач. Я бы хотел, чтобы он создал высокоуровневые, знаете ли, дал мне пять задач, а затем я бы хотел их одобрить, а затем, э-э, затем я хочу подробную. Так что это то, что мы делаем здесь. Генерация родительских задач, сообщение пользователю,
ожидание подтверждения, а затем генерация подзадач.
>> Да. Да. Я думаю, что родительская и подзадача довольно важны. Да. Потому что обычно он просто генерирует около 30 различных задач.
>> Да. Я думаю, это так, и это будет улучшаться по мере улучшения моделей, верно? Но прямо сейчас, я думаю, все мы, кто строит с этим, понимаем, что вам действительно нужно быть внимательными. Вы должны читать, что агент говорит, что он собирается делать, и направлять его. Эм, теперь, если вы просто "живете один раз" и "кодируете по настроению" и веселитесь, кого это волнует? Но, знаете, я не "вайб-кодер". Эм, я думаю, многие люди, смотрящие это, не "вайб-кодеры". Мы просто инженеры, которым нужно строить реальные вещи. Эм, и поэтому эти шаги очень важны. Эм, вот как будет выглядеть файл. Э-э, так что у вас есть соответствующие задачи, и это просто для того, чтобы держать в контексте, э-э, для агента. Эй, над какими файлами мы работаем, чтобы он мог ссылаться на них. Эм, некоторые заметки, которые ему могут понадобиться, а затем это задачи. И причина, по которой я использую точечную нотацию в этих задачах, заключается в том, чтобы они были атомарными и понятными. Так что у вас есть, знаете ли, один 1.1 1.2 и т. д. Так что довольно просто. Итак, давайте покажем это в действии. Я собираюсь переключиться обратно. Хорошо. Хорошо, так что мы вернулись в Ghosty, и, э-э, э-э, мы собираемся использовать этот файл генерации задач. Итак, давайте вернемся сюда. Эм, пара вещей, которые довольно забавно отметить. Эм, э-э, у Sonnet теперь гораздо больше контекста, верно? Так что у вас есть как минимум 400K. Эм, иногда это до миллиона, э-э, в зависимости от того, хотите ли вы это использовать. Это, однако, дороже.
>> Эм, это сколько строк мы изменили. Э-э, мы, очевидно, добавили около 70 строк, что вы можете видеть здесь. Итак, давайте продолжим и пометим это. И я могу на самом деле, эм, я собираюсь пометить как PRD, э-э, так и генерацию задач, э-э, генерацию задачи. Вот так. Итак, я просто помечу их оба, чтобы у агента были обе эти вещи в контексте. И мне даже не нужно говорить ему, что делать, э-э, потому что инструкции по генерации задачи, эм, все там. Итак, мы позволим ему как бы поработать над этим, и мы снова откроем наш, э-э, файл, чтобы вы могли видеть, что происходит.
>> Да. Обычно вы, вероятно, сначала просматриваете PRD, убеждаетесь, знаете ли, вносите некоторые изменения, а затем просите сгенерировать задачу, верно?
>> Вы бы. Да. Я бы обычно читал этот PRD немного внимательнее.
>> Да.
Итак, эм, но просто чтобы вы все не заскучали, наблюдая за этим, э-э, мы не будем читать это слишком внимательно. Эм, что интересно, многие агенты, такие как AMP, теперь имеют списки дел, верно? Так что вы можете видеть в правом нижнем углу, что он, э-э, строит свой собственный список задач. Эм, я должен сказать, что, знаете ли, будь то облачный код или CLI-курсор, или AMP, или действительно любой агент, это теперь довольно стандартно. Я думаю, что все они теперь поставляются с задачами.
Вам нужно на самом деле немного управлять между двумя, верно, так что вы можете видеть, что эти высокоуровневые задачи имеют смысл. Эм, но через минуту я собираюсь попросить его, э-э, знаете ли, выполнить эти очень подробные атомарные задачи, эм, и, э-э, и не использовать свою собственную систему задач. Итак, давайте посмотрим, что он делает. Итак, он говорит, что я сгенерировал высокоуровневую задачу на основе ваших требований, готовую к генерации. Так что я на самом деле собираюсь открыть этот файл. Эм, давайте переключимся сюда. Э-э, как это называется? Он называется, э-э, задачи. Вот так. Хорошо. Скрыть это. Хорошо. Итак, у нас здесь есть соответствующие файлы. Эм, он будет смотреть на схему, потому что мы, вероятно, собираемся записывать эти вещи. Эм, у него есть основная страница опросника оценки отношений. Э-э, у него есть схема валидации ZOD и т. д. И затем пара заметок. А затем задача. Это самые важные вещи, верно? Итак, номер один, схема базы данных и слой данных. Э-э, номер два, опросник оценки, пользовательский интерфейс. Э-э, номер три, оценка, расчет, логика. Номер четыре, результаты, отображение, интерпретация. И, э-э, номер пять, интеграция системы рекомендаций ИИ. Я имею в виду, это кажется мне довольно хорошим. Если бы я не записывал подкаст, знаете ли, я бы, вероятно, углубился в это немного больше.
>> Да.
Эм, я собираюсь дать ему немного обратной связи и сказать, эм, я думаю, так что я собираюсь сказать
нам нужно сначала создать ветку, прежде чем мы сделаем все это. Так что идите вперед и добавьте это как первый шаг. Итак, всего шесть шагов. Я также хочу убедиться, что, э-э, на самом деле, неважно, мы этого не будем делать. Так что позвольте мне удалить этот последний кусочек. Вы увидите, когда мы сгенерируем подзадачу, мы на самом деле убедимся, что пишем тесты.
Хорошо.
И причина создания ветки просто в том, чтобы вы знали, если что-то пойдет не так, вы можете просто откатить. Верно.
>> Точно. Да. Так что обычно, знаете ли, я создаю ветку для любой функции, которую я строю. Эм, я на самом деле также являюсь частью основной команды разработчиков AMP. Так что мы всегда коммитим, э-э, мы всегда создаем, э-э, э-э, PR для всего, что мы делаем, чтобы они могли быть объединены обратно. Эм, так что, хорошо, он говорит: "Отлично". Знаете, мы собираемся добавить первый, э-э, шаг сюда. Итак, давайте перейдем сюда и обновим файл. И вы можете видеть, эм, у нас есть создание ветки функций. Хорошо. Итак, теперь, эм, я собираюсь показать вам, э-э, мы на самом деле собираемся продолжить процесс и сказать "вперед". Так что вы можете видеть здесь, он сказал: "Идеально". Обновите список задач, чтобы включить создание ветки как шаг один с шестью готовыми к генерации подзадачами. Я скажу: "Конечно". Поехали. Итак, теперь AMP собирается пойти и выдать, э-э, подзадачи для каждой из этих шести родительских задач. Эм, на самом деле, знаете, я собираюсь остановить это. Я собираюсь показать вам кое-что очень быстро, что я хочу сделать. Э-э, я собираюсь сказать, э-э, э-э, почему бы тебе, так что вызови оракула, чтобы убедиться, что мы не пропустили какие-либо более крупные родительские задачи. Я, вероятно, должен был это сказать, но, эм, так что это пример того, что я хочу использовать немного больше вычислений, эм, чтобы действительно убедиться, что я не упускаю ничего очевидного. Эм, так что в AMP, как я сказал, это вызов инструмента к 03, так что он будет использовать немного больше рассуждений. Это немного дороже. Эм, и если вы используете любого другого агента, вы могли бы, очевидно, переключить селектор модели, знаете ли, а затем, э-э, сделать это, но мне как бы нравится DX просто иметь возможность как бы поговорить с, э-э, более старшим инженером. Эм, так что мы можем видеть прямо сейчас, он консультируется с Оракулом. Эм, и он собирается проверить пару вещей. Это, очевидно, работает на 03, так что будет немного медленнее.
>> Да. Чтобы вернуться. Эм,
>> О, это как, да, он, вероятно, проверит. Он будет просматривать все ваши файлы или только этот?
>> Ну, не обязательно. Итак, что он делает, это просто использует больше интеллекта, верно? Итак, то, что мы делаем, это используем немного более тяжелую модель рассуждений. Эм, э-э, а затем говоря: "Посмотрите, что мы делаем, все, что в контексте". Эм, он не делает много вызовов инструментов, верно? Итак, я думаю, что это то, что ценно, это то, что вы не получите много агентского поведения здесь. Что вы делаете, это говорите: "Я просто хочу, чтобы кто-то перепроверил то, что я делаю, верно?" Эм, и он говорит: "Хорошо, на самом деле, нам нужно добавить еще несколько шагов, э-э, к этому". Итак, эм, теперь другая интересная вещь об AMP, которая сначала меня сбила с толку, которую люди, вероятно, замечают, это то, что здесь нет принятия различий или отклонения различий. Эм, что мне сначала не нравилось, но теперь я на самом деле научился, э-э, любить это, потому что это ускоряет меня. Итак, давайте вернемся сюда и перезагрузим файл. Эм, просто чтобы быть реалистичным, я собираюсь сказать: "Знаете что?" Эм, я не думаю, что нам нужна автоматизированная, э-э, я не думаю, что нам нужна аналитика. Так что я собираюсь, я собираюсь вернуться сюда и сказать, что я не думаю, что нам нужна аналитика, эм, и документация. Э-э, так почему бы тебе не удалить их, а затем мы продолжим. Я просто даю вам немного более реалистичный диалог здесь, э-э, чтобы вы могли видеть, э-э, как это может выглядеть. Итак, хорошо, теперь это переключение обратно на сонет 4, верно? Итак, теперь мы используем главного агента. Эм, так что мы пойдем сюда.
Вот так. Хорошо. Итак, теперь у нас есть высокоуровневые задачи. Эм, теперь нам нужно продолжить и сгенерировать все подзадачи. Итак, давайте продолжим и сделаем это. Эм, он говорит: "Идеально, удалить аналитику". Теперь у нас есть 11 фокусных родителей, готовых к генерации. Э-э, вперед. Итак, поехали. И, и опять же, это не ракетостроение. Эм, но я думаю, что причина, по которой у этого репозитория на GitHub около 4000 звезд, заключается в том, что люди действительно хотят следовать процессу, чтобы получить лучшие результаты, верно? И проблема в том, что у нас теперь есть эти удивительные магические агенты, которые могут так много, и они так стремятся помочь, что вы можете что-то сказать. Знаете, я это мог быть промпт из одного предложения, верно? И агент приступил бы к работе над этим, верно? Но было бы это тем, что мы на самом деле хотели? Было бы это управляемым? Вероятно, нет.
Итак, этот процесс как бы помогает ему пройти. Хорошо, так что у нас есть наши подзадачи. Эм, они выглядят довольно хорошо
для части тестирования. Э-э, в идеале у вас есть тестирование на каждом шаге, верно? Вместо того, чтобы, знаете ли, в конце.
>> Да, абсолютно. Итак, давайте посмотрим на это. Итак, создайте ветку функций. Это хорошо. Мы бы этого ожидали. Эм, схема базы данных и слой данных. Эм, я думаю, что мы хотели бы сделать, это реализовать бывшее управление состоянием и react hook form добавить валидацию формы. Я думаю, мы действительно, как вы сказали, хотим добавить, э-э, тестирование в конце каждого шага. Эм, и, как вы знаете, причина, по которой вам нужно действительно заботиться о разработке, управляемой тестами, сейчас заключается в том, что это цикл, который нужен агенту, чтобы на самом деле знать, правильно ли он делает вещи. Верно.
>> Да.
Эм, и поэтому чем быстрее вы можете ускорить этот цикл, тем быстрее вы можете строить. Верно. Так что я собираюсь зайти сюда и попросить его сделать это. Так что в конце каждого шага мне нужно, чтобы вы добавили тест, чтобы мы понимали, правильно ли все работает. Давайте использовать justest, пожалуйста. Хорошо. Так что мы собираемся, он собирается продолжить и изменить их. Так что, эм, так что Питер, вы, очевидно, делаете это много. Вы разговаривали со многими людьми. Как вы видите, люди используют разработку, управляемую тестами, чтобы действительно ускорить свои агентские рабочие процессы? Э-э, я имею в виду, просто включение этой строки или включение в план является ключевым, потому что иначе, э-э, если вы этого не делаете, то вы, по сути, занимаетесь "вайб-кодированием". Вы говорите: "Эй, это не работает. Иди исправь это. Я могу просто ходить туда-сюда около двух часов".
Это не работает. Это все еще не работает. Нет, это все еще не работает.
>> Так что, да.
Хорошо. Итак, вы можете видеть, э-э, давайте перейдем сюда.
>> Да. Итак, теперь у нас, по сути, есть, э-э, просто тесты, эм, и мы используем типы. И что такое just? Эм, just — это просто хороший, э-э, фреймворк для тестирования, э-э, для TypeScript и, э-э, Nex.js. Итак, это действительно удобный способ быстро запускать ваши CI-проверки, эм, чтобы, э-э, убедиться, что все работает правильно. Теперь, вы могли бы использовать всевозможные различные фреймворки, но, эм, мне нравится just, и это, вероятно, потому, что агент предложил его мне в какой-то момент. Эм, хорошо, так что мы прошли, чтобы как бы провести всех через, э-э, то, что мы сделали, верно? Итак, у нас была идея для функции. Эм, что мы сделали, это мы зашли в AMP и произнесли, знаете ли, весь текст функции, а затем мы пометили промпт генерации PRD, заставили его сгенерировать PRD, затем мы, э-э, взяли PRD и сгенерировали высокоуровневые задачи, мы отредактировали эти задачи, а затем мы спросили, а затем мы использовали, э-э, промпт генерации задач, э-э, э-э, чтобы затем сгенерировать все подзадачи. Так что вот где мы находимся. Итак, у нас есть довольно подробный, эм, список, э-э, задач здесь. Эм, знаете, под каждой из них у нас есть, знаете ли, шесть или семь, эм, довольно подробных задач, которые являются атомарными. А затем то, что мы сделаем сейчас, это, э-э, мы используем третий.
Хорошо. Итак, мы вернулись на GitHub, и что мы собираемся сделать, это перейти к нашему третьему файлу, который является файлом списка задач процесса. Эм, теперь то, что это делает, это, по сути, контролирует, как быстро агент может двигаться. Эм, я решил сказать: "Делай одну подзадачу за раз и не начинай ее, пока я не скажу "да" или "Y"". Эм, а затем, когда вы закончите подзадачу, немедленно отметьте ее как выполненную с помощью X. А затем, если все подзадачи под родительской задачей завершены, эм, тогда продолжайте и, эм, сначала запустите набор тестов. Он на самом деле говорит: "Эй, не забудь сделать это, эм, если все тесты пройдут, тогда ты можешь, э-э, добавить это, а затем ты можешь закоммитить это". Итак, идея в том, что мы пытаемся создать это, э-э, поведение, эм, код, тест, затем коммит прямо в итеративном роде, э-э,
это, по сути, лучшие практики разработки программного обеспечения.
>> Да. Да. Точно. Так вы должны работать, если вы инженер-программист. Эм, да,
опять же, это не ракетостроение и не что-то новое. Как вы сказали, это базовое, э-э, поведение в области разработки программного обеспечения. Итак, что мы собираемся сделать, это вернуться в Ghosty и посмотреть, как это работает. Хорошо, так что мы вернулись в Ghosty, э-э, с AMP, и слева у нас есть наша задача, которую мы хотим выполнить, и мы на самом деле собираемся сказать агенту: "Ну, давайте начнем". Итак, я собираюсь пометить, эм, список задач процесса здесь. Собираюсь пометить это, а затем я могу на самом деле просто выполнить это, э-э, потому что в нем есть все инструкции, а затем мы начнем смотреть на это. Он говорит: "Хорошо, я должен выполнять только одну задачу за раз". Эм, и он, э-э, знает, что должен сделать 1.1.
Хорошо. Итак, он начинает, так что, по сути, мы разговаривали около 20 минут, верно? И вот теперь он наконец-то начинает кодировать.
>> Да. Да. Разве это не дико? Я имею в виду, это так отличается от, знаете ли, "живи один раз" типа одного промпта, а затем просто смотреть, что происходит. Теперь, вероятно, это очень скучно смотреть, и мне жаль, но это на самом деле то, как происходит реальная разработка программного обеспечения с агентами. Эм, так что теперь он говорит: "Должен ли я продолжить?" И мы скажем: "Конечно". Итак, да, если я смогу правильно печатать сегодня.
>> Эм, хорошо. Итак, это у меня теперь у каждого, кто кодирует с агентом, разные мнения по этому поводу. Знаете, вы переходите в желтый режим и позволяете ему запускать любой инструмент, который он хочет, или вам нужно спрашивать разрешение? Я обычно говорю: "Не выполняйте никаких команд git без моего одобрения". Эм, я заставляю своего агента запускать или, по крайней мере, печатать все мои команды git, потому что мне просто легче их запоминать. Так что, эм,
хорошо. Конечно, мы уже на main, но он проверяет на всякий случай. Э-э, и теперь он собирается создать ветку функций для оценки партнерских отношений. Эм, а затем мы увидим, как он это запустит. А затем вы можете видеть, что он отметил это как завершенное, верно?
>> Да.
Теперь, и опять же, вот почему мне приятно не принимать все эти различия. Типа, это просто приятно, как я могу видеть, хорошо, да, он изменил, э-э, 1.1 на проверено. Мне не нужно было это одобрять. Эм, так что мы просто как бы зажигаем. Так что, э-э, должен ли я продолжить? Мы скажем, э-э, да.
Хорошо. Хорошо. Итак, итак, я думаю, что этот третий шаг вашей системы на самом деле требует, чтобы вы сидели здесь и смотрели, как он кодирует, потому что, знаете ли, обычно я бы пошел за кофе или чем-то вроде
здесь. Да.
И я думаю, что я могу пересмотреть или это открытый исходный код, так что кто-то должен, знаете ли, создать PR для пересмотра этого. Я думаю, знаете, когда я выпустил это, э-э, мы были на сонете 37, эм, и я думаю, что с сонетом 4 вам действительно не нужно так сильно его держать за руку. Эм, э-э, что довольно интересно. Так что мы увидим, как он как бы, э-э, проработает пару задач.
>> Да. Эй, так что пока мы ждем, эм, быстрый вопрос, например, когда я использовал курсор, я мог прокручивать чат назад и отменять любую предыдущую контрольную точку, верно?
>> Ага.
И, например, э-э, я, я с часами я, я не делал. Есть ли простой способ сделать это или, например, с AMP? Есть ли простой способ вернуться?
Если вы используете расширение VS Code, вы можете откатить. Эм, хорошо. В нашем текущем CLI вы не можете. Мы на самом деле сейчас это строим. Эм, э-э, но что интересно, есть много раз,
э-э, где, если я довольно обеспокоен тем, что то, что я делаю, не сработает, я просто сделаю коммит, а затем отменю коммит.
>> Эм,
так что,
хорошо.
>> Да. Да. Просто используй git, чтобы сделать это. Да.
>> Ага. Хорошо. Итак, мы скажем, э-э, да, давайте продолжим и сделаем это. Мы сейчас, э-э, возимся со схемой базы данных, что всегда весело. Мне нужно сделать миграцию здесь, что мне не нравится.
>> Да, база данных — это то место, где все может пойти наперекосяк. Да, надеюсь.
Но что интересно, я имею в виду, но опять же, вот где, если вы, знаете ли, работаете с PRD, у вас есть довольно подробный список задач, знаете ли, если вам придется изменить схему базы данных и сделать миграцию, э-э, скорее всего, все будет в порядке. Эм, опять же, это, вероятно, не самая захватывающая вещь, э-э, для вас всех, чтобы визуально увидеть, но я думаю, что видеть, знаете ли, реальную разработку программного обеспечения, происходящую с агентом, и то, как это на самом деле выглядит и работает. Эм, надеюсь, это как бы дает вам взгляд за кулисы, эм, в этом.
Я имею в виду, это все еще бесконечно проще, чем писать код самому, верно? Я имею в виду, я имею в виду, как, знаете ли, родитель после 9 вечера, я, я, я не могу писать код сам, но я могу печатать эти команды и
вы можете нажать "да", вы можете, вы можете читать, знаете ли, вы можете немного говорить в whisper flow. Эм, так что хорошо, мы собираемся сказать, э-э, да, давайте продолжим работать. Так что интересно видеть, как все это происходит, верно, и видеть, ну, сколько вашего кода вы на самом деле читаете сейчас? Э-э, насколько вы полагаетесь на свои тесты? Эм, и, очевидно,
вы хотите делать все это. Эм, но интересно посмотреть, как это развивается. Знаете, я думаю, мы только что видели, как Митчелл Хашимото, создатель Ghosty, знаете ли, один из основателей Hashi Corp, эм, недавно сказал, что он требует, чтобы все, э-э, PR, которым помогал ИИ, четко это указывали.
О, хорошо.
Знаете, что имеет смысл. И многие так делают. Теперь, он говорит, знаете ли, соавторство с AMP или соавторство с, э-э, Cloud Code. Эм, так что
Я имею в виду, это будет как каждое управление PR. Я не знаю.
>> Да. Да. Так что это то, что я сказал. Я думаю, это будет около 99%, эм, э-э, и мы быстро к этому придем.
Позвольте мне спросить вас вот что, пока мы ждем, пока эта штука сгенерируется, вы научили около миллиона человек кодировать, верно? Так что, но, но, я уверен, когда вы учили, это было о том, как изучать циклы и изучать, ну, функции и все такое.
и теперь, как вы думаете, это лучший способ научиться кодировать? Например, вы просто строите вещи, а затем задаете вопросы о коде или
>> Да. Да.
Как бы вы научились кодировать сейчас? Да.
Ну, что интересно, вы, по сути, кодируете с репетитором сейчас, верно?
Верно.
И это действительно зависит от студента, от глубины его знаний, верно? Знаете, как вы знаете, я просто продолжу это. Эм,
как вы знаете, вам на самом деле не нужно понимать код, чтобы на самом деле выпустить продукт. Теперь, теперь вы должны, верно? Потому что это немного страшно, если вы выпускаете продукт, и вы понятия не имеете, что на самом деле происходит. Но вы могли бы технически это сделать. Но, но проблема с этим в том, что это вроде как, это вроде как строительство дома, и у вас есть робот, который знает, как использовать пилу, верно? И это вроде как: "Хорошо, ну, вы могли бы это сделать, но что, если что-то начнет ломаться, и вы понятия не имеете, как, знаете ли, была установлена сантехника или почему эта стена там?" Так что я думаю, что есть этот очень ценный, эм, очень, очень, очень ценный навык понимания кода до сих пор, и я думаю, что это продлится годами, но как вы его изучаете, это вопрос, так что я думаю, знаете ли, если бы дерево, если бы ИИ существовал, по крайней мере, большие языковые модели существовали, когда я управлял Treehouse, это было бы совершенно по-другому, и, и что мы бы сказали, это хорошо, опыт обучения заключается в том, что вы сядете и будете общаться с ИИ о чем-то, что вас волнует, верно? Эм, давайте продолжим это. Итак, должен ли я продолжить добавление типов TypeScript? Давайте сделаем это. Хорошо. Эм, и так вы бы сказали, знаете ли, что вас волнует? Знаете, это Warhammer или это баскетбол, или это шитье, верно? Итак, вы выбираете тему, которая вас волнует, а затем говорите: "Хорошо, ну, что мы должны построить для этой темы, которая вас волнует, верно?" Итак, если это шитье, знаете ли, возможно, вы хотите создать программу, которая поможет вам разработать выкройку, верно? Или, скажем, это о баскетболе, возможно, вы хотите отслеживать, знаете ли, своего, э-э, любимого игрока НБА всех звезд и отслеживать его статистику и иметь их загруженными на вашем экране в правом верхнем углу. Верно? Итак, ключ в том, чтобы построить что-то, что вас волнует, верно? И, итак, я думаю, все говорят: "Ну, я не знаю, как кодировать, или я не знаю, как строить с агентами". Просто скажите: "Выберите что-то, что вас волнует, и поговорите с агентом об этом, попросите его построить это с вами и объяснять по ходу дела, верно?"
>> Эм, и я думаю, что это тот способ, которым люди будут учиться, э-э, в будущем.
>> Да. Вам следует, вам следует создать новую, э-э, трехступенчатую систему для обучения с ИИ.
Вот так.
Так что это объясняет, знаете ли, архитектуру и все остальное.
Это моя следующая идея. Спасибо. Я собираюсь это украсть.
Итак, теперь мы запускаем некоторые тесты, верно? И, и видим, ну, то, что мы построили, на самом деле будет работать? Эм, я на самом деле не обращаю внимания на код. Типа, очевидно, если бы я кодировал, я бы не болтал с Питером и как бы, знаете ли, не очень внимательно слушал. Эм, но, э-э, это то, что происходит сейчас. Так что это своего рода реалистично. Эм, когда мы сможем перейти к, например, если мы сделаем шаг три? Знаете, шаг, нам нужно дойти до шага, э-э, пять, чтобы увидеть какой-то пользовательский интерфейс или
Ну, у нас есть, так что у нас есть пользовательский интерфейс опросника оценки в шаге три. Эм, и так мы на шаге 2.6. Так что я думаю, э-э, довольно быстро мы доберемся до 3.1. И, вероятно, что мы можем сказать, эм, ИИ, это то, что я на самом деле хочу, чтобы вы создали статическую версию этого, чтобы я мог увидеть макет. Эм, и я могу вернуться и на самом деле немного пересмотреть этот рабочий процесс, потому что то, что я узнаю, это то, что иногда лучше, чтобы ИИ сначала сделал макет полностью статической версии пользовательского интерфейса, знаете ли, без функциональности. Эм, э-э, просто используйте Tailwind, а затем покажите мне, верно?
Да, и тогда это на самом деле устранит много путаницы, например: "О, вау, я не это имел в виду" или "это ужасно, знаете ли, давайте не будем этого делать". Так что, эм,
да, я думаю, это лучшая практика, потому что, например, он может изменить базу данных для чего-то, что вы на самом деле хотите.
в я даже не забочусь об этом. Эм, так что, что мы делаем? Итак, э-э, давайте продолжим, и я на самом деле прерву это, потому что это просто, это, по сути, делает то, что мы хотим, а именно итерирует по этим тестам. Эм, но на самом деле собираюсь остановить это, и я собираюсь сказать, эм, я на самом деле хочу пропустить до шага три и просто просмотреть пользовательский интерфейс. Э-э, сделать статическую версию пользовательского интерфейса опросника, просто чтобы я мог ее увидеть и как бы убедиться, что мы на одной волне. Хорошо. Итак, AMP скажет: "Что? Мы делали весь этот процесс, типа, что ты делаешь?" Эм, но что мы сделаем, это мы получим, надеюсь, эм,
это, э-э, Untangled ваше приложение, типа, живое, и люди используют его для управления своим разводом.
Это совершенно новое. Итак, мы, по сути, э-э, мы, я, по сути, запустил нашу первую рекламу сегодня.
Захватывающе.
Да. Итак, если вы зайдете на untangle-us.com, вы сможете это увидеть. Эм, знаете, надеюсь, никто из вас, слушающих, не переживает развод. Эм, но если вы, знаете ли, то вы можете это проверить. Итак, на самом деле, пока это строится, эм, я быстро, э-э, покажу вам, как это выглядит. Итак, Untangle — это приложение, э-э, чтобы помочь людям пережить развод, но оно только для Коннектикута. Итак, я думаю, это хороший пример, эм, множества стартапов, которые мы увидим, где люди решают очень специфическую вертикальную проблему, верно?
И идея в том, что, знаете ли, развод в Коннектикуте — это не сексуальная проблема для стартапа, которую нужно решать, верно? Эм, но суть всего этого в том, что это специфический рынок, на котором, я думаю, я могу помочь многим людям, э-э. И поэтому я взялся за это, и я думаю, что мы увидим тысячи таких стартапов. Эм, так что будет интересно посмотреть, как это пойдет.
И подключен только потому, что, например, у Коннектикута другие правила, чем у других штатов.
>> Да. Так что, если вы не переживали развод, вы это знаете, но, к сожалению, если вы переживали, вы очень хорошо осведомлены, что законы о разводе очень сильно отличаются в каждом штате. Эм, понял. И своего рода болезненная вещь, причина, по которой я показал эту кучу PDF-файлов, заключается в том, что в Коннектикуте есть 14 форм для развода с 277 уникальными полями, которые вы должны заполнить правильно. Это кошмар, верно? Эм, так что здесь много интересных функций для создания. Так что это, в любом случае, то, что я строю. Эм, это то, что такое Entangle. Но давайте вернемся, э-э, к коду и посмотрим, как он работает.
Хорошо. Итак, мы вернулись, э-э, с AMP и Neovim внутри Ghosty. Эм, так что, он сказал, что это создание статической версии пользовательского интерфейса опросника оценки отношений. Вот что я построил. Э-э, хорошо, так что мы на самом деле собираемся, эм, давайте создадим, давайте получим, позвольте мне посмотреть одну секунду. Хорошо, мы собираемся запустить dev-сервер. Хорошо, так что мы работаем на 3000, а затем, я думаю, он сказал, что URL-адрес — это case new relationship, верно? Итак, позвольте мне вернуться. Хорошо, все. Мы вернулись в браузер, и мы собираемся перейти на localhost, и мы собираемся запустить это. Итак, мы только что запустили веб-сервер, э-э, веб-разработки, и я думаю, это был случай, позвольте мне просто проверить. Это было в случае отношения, в случае новых отношений. Хорошо, все. Итак, у нас есть веб-разработчик, извините, сервер веб-разработки запущен и работает, и вы можете видеть очень базовый пользовательский интерфейс. Эм, очевидно, это не ракетостроение. Эм, вы можете видеть, хорошо, мы проводим оценку отношений. Эм, мы спрашиваем, как бы вы описали свое общение с супругом? Итак, Питер, как бы вы описали свое общение с супругом?
>> Э-э, давайте посмотрим. В целом могу общаться. Еще не близок к разводу. Да.
Хорошо. Хорошо. Э-э, насколько ваш супруг готов сотрудничать в решениях, связанных с разводом? Надеюсь.
Надеюсь, совершенно неразрушительный. Надеюсь, знаете, этого не произойдет.
Надеюсь, потому что вы вообще не разводитесь. Как бы вы описали уровень конфликта?
Есть, эм, я думаю, э-э, низкий конфликт с супругом, высокий конфликт с детьми, верно? Низкий конфликт с супругом. Это звучит как каждые, э-э, каждые родительские брачные отношения в мире. Как бы вы описали эмоциональное состояние вашего супруга относительно развода?
>> Да, она будет разочарована. Типа, знаете, она замужем за лучшим человеком в мире, так что она будет
так что она, вероятно, крайне расстроена.
Она будет очень расстроена, если это произойдет. Да.
Хорошо. Итак, вот так. Хорошо. Хорошо. Итак, к сожалению, у вас высокий конфликт, потому что она очень расстроена.
>> О, хорошо. Хорошо. Потому что хорошо. Да. Хорошо. Ну, я, я не думаю, что я целевая аудитория. Так что,
да. Надеюсь, вы и никто из смотрящих не является моей целевой аудиторией. Так что
да, но вы можете видеть, знаете ли, базовый процесс, верно? Так что я, я думаю, на самом деле, что я бы сделал, это поощрял людей, и я на самом деле, вероятно, собираюсь сделать запрос на извлечение в своем собственном репозитории здесь, это на самом деле добавить генерацию пользовательского интерфейса в начале, верно?
как только вы сделаете PRD,
эм, потому что тогда вы можете устранить многие из этих, э-э, многие из этих проблем на ранней стадии. Так что
>> Да, это, это потрясающе, чувак. Итак, я хочу немного поговорить о правильных проблемах, которые нужно решать в качестве основателя-одиночки ИИ. Например, мне на самом деле очень нравится тот факт, что вы занимаетесь этой, э-э, знаете, проблемой развода в Коннектикуте, потому что
например, знаете ли, все 21-летние, знаете ли, я не знаю, что они делают. Они вроде как строят причудливые ИИ-агенты для кодирования или вроде как
>> Да.
в в в Сан-Франциско, верно? Но как основатель-одиночка, я думаю, что решение сверхболезненной проблемы для нишевой аудитории, которая готова платить много, кажется очень подходящим, знаете ли, как вы об этом думаете?
>> Да. Итак, что интересно, у меня не было идеи после того, как Treehouse был приобретен, верно? Я, потому что, как все знают, когда вы начинаете компанию, вы должны быть увлечены проблемой, которую хотите решить. Эм, и вы не можете волшебным образом создать это из ниоткуда, верно? И поэтому был период времени, когда я думал: "Я не знаю, что строить, верно?" Эм, а затем поэтому я присоединился к Intel. Я подумал, я просто пойду изучать кремний, верно? У меня нет идеи. Эм, и я также хочу узнать, как работают корпоративные компании, потому что я никогда не работал.
в огромной, вы знаете, компании из 100 000 человек. Так что я пошел и просто учился, а потом, знаете, когда я увидел, как мои сестры проходят через развод, я подумал: "Почему это так ужасно?" Как, почему это так дорого? Как, это не похоже на то, что должно происходить. Хм, это кажется неуместным, и я думаю, что как основатель, когда вы чувствуете это ощущение, как будто "Почему это так?" Это не должно быть так, это всегда семя для идеи, и, к сожалению, вы не можете создать этот момент. >> Да. >> И я думаю, вы правы, это не очень привлекательная идея для стартапа, но это может быть очень реальная важная компания, потому что она решает проблему, которая действительно существует. Знаете, вы либо платите от 15 000 до 40 000 долларов за развод, либо платите 300 долларов за Untangle, а затем, вероятно, пару тысяч за услуги адвоката, верно? >> Да. >> Итак, я бы посоветовал людям подумать о реальных проблемах в их жизни. Хм, последнее, что я скажу, это, хм, хотя Trios была моей самой успешной компанией финансово, хм, это был трудный стартап. И причина в том, что мы продавали витамин, а не болеутоляющее. И я уверен, что люди слышали эту аналогию раньше, но вы действительно хотите решить проблему или построить компанию, которая является болеутоляющим, а не витамином. И что я имею в виду под этим, так это то, что научиться кодировать - это очень, это то, что вы делаете, потому что вы хотите стать лучше, верно? Вы делаете это, потому что хотите быть умнее. Вы делаете это, потому что хотите лучшей работы, верно? Вот почему это витамин. Хм, в то время как развод - это болеутоляющее. как это острый болезненный момент в вашей жизни, от которого вы хотите избавиться от боли, верно? Хм, и поэтому, если вы можете найти болеутоляющее, это всегда, это всегда лучший бизнес, чем витамин. Так что, хм, имейте это в виду. >> Вы руководили примерно 100 сотрудниками или около того, верно? Как бы вы сказали, и я чувствую, что многие люди как бы гонятся за этим, они хотят быть во главе большой команды и так далее. Итак, как вы сравниваете свою жизнь тогда с нынешней, когда вы просто кодируете по ночам? >> Итак, я люблю, знаете ли, не иметь 100 сотрудников. Хм, >> да, >> замечательно расти команду, заботиться о ней, делать все возможное и быть успешным и нанимать много людей. Хм, но это отвлекает вас от того, чтобы делать, хм, и поэтому, как я уже сказал, знаете ли, в начале я был единственным основателем, когда запустил Drops. Это был я. Я кодировал это, знаете ли, я занимался поддержкой клиентов, маркетингом и всем этим. Хм, знаете ли, а затем вы переходите к Treehouse, где, знаете ли, я начал это с другом, а затем это росло, и мы нанимали и нанимали, и я отстранился от всего кода. И я думаю, что сейчас мы находимся в фазе, когда вы абсолютно можете быть компанией из одного человека. Хм, и знаете ли, размер этой компании может быть не таким большим, как у компании с 20, 100, 1000 сотрудников, но, возможно, это не то, чего вы хотите. Хм, и поэтому с Untangle, знаете ли, я специально решил построить его сам. Хм, и я решил, что буду заниматься бутстрэппингом, и я буду делать все сам. И это просто радостно, как возможность выпускать и создавать, знать и понимать и двигаться так быстро, как я хочу. Хм, это так удивительно. Какое удивительное время быть основателем. Хм, теперь, почему я присоединился к AMP? Потому что я хочу, есть другая часть меня, которая хочет дать возможность как можно большему количеству людей делать то, что делаю я. Верно? Если я могу дать возможность тысячам, миллионам, знаете ли, 10 миллионам, 100 миллионам людей делать то, что я делаю с Untangle, или выпускать лучшее программное обеспечение внутри своей команды и получать повышение, знаете ли, создавать вещи, которые действительно меняют мир. Какая удивительная возможность, верно? >> И я не собирался создавать еще одну, знаете ли, компанию по разработке агентов. Хм, так что это просто имело смысл построить Untangle внутри AMP, знаете ли? >> Да. Я, я, я думаю, что у Antgo гораздо больше шансов на успех, чем у другой компании по разработке агентов. Так что >> да, я думаю, что поле битвы довольно определено на поле битвы агентов по кодированию. И, знаете ли, я верю, что у AMP есть хорошие шансы победить, но это будет битва, верно? Хм, так что >> Я думаю, это очень важно, чувак. Я думаю, что многие люди этого не осознали. Как, сейчас лучшее время для соло-основателя ИИ, чем когда-либо прежде. И вам не нужно, как, привлекать венчурное финансирование и делать все эти великие сумасшедшие вещи, верно? Потому что, знаете ли, если вы, как генеральный директор компании из 100 человек, да, вы, вероятно, просто будете на совещаниях каждые 30 минут снова, как весь день >> в течение девяти часов в день. >> Да. Я думаю, я не знаю, можете ли вы об этом говорить, но это зависит от того, какой образ жизни вы хотите, верно? И, знаете ли, сколько денег вы хотите заработать. >> Да. Я думаю, это огромно. И я хочу отдать, знаете ли, должное Джейсону Фриду и DHH, потому что они говорят это уже 20 лет, верно? Да. Где идея в том, что вы можете построить замечательный бизнес, который откроет вам финансовые возможности и будет намного меньше, верно? Так что вы можете представить, хорошо, скажем, у меня была очень хорошо оплачиваемая работа, знаете ли, в качестве инженера, хм, и у меня были, знаете ли, льготы и 401k, и, знаете ли, сколько денег мне нужно было бы зарабатывать в год? Хм, это разумная сумма, но это не миллионы, верно? А потом вы думаете, подождите минутку. Как, если я построю свою собственную компанию, и это, по сути, я или я и подрядчик, или, возможно, я и один сотрудник, вам не нужно строить очень большой бизнес, чтобы иметь хотя бы такую же замечательную жизнь, как эта. А потом это может быть намного лучше, потому что вы просто получаете денежный поток и становитесь, в конечном итоге становитесь богатым. Но дело в том, что вы контролируете свое время, верно? Так что люди понимают ценность своего времени, верно? И быть основателем Кремниевой долины, финансируемым венчурным капиталом, может быть привлекательным и захватывающим, верно? Но правда в том, что это безумие. Вы вообще не контролируете свое время. Знаете, у вас есть совет директоров, у вас есть, знаете ли, сотни сотрудников, о которых нужно заботиться, кормить и защищать, и у вас есть конкуренты, которые пытаются вас убить, и у вас нет времени, верно? Так что, я думаю, вам придется как-то сбалансировать эти вещи. И интересно, потому что я думаю, что в прошлом я хотел построить компанию, которая была бы, знаете ли, привлекательной и огромной, и люди бы говорили: "Вау, Райан построил эту огромную компанию". Хм, и мне это сейчас неважно. Это как, я хочу работать над проблемой, которая меня волнует. Я хочу работать с людьми, которых я уважаю, и я хочу иметь возможность контролировать свое время и заботиться о своей семье. Хм, и это на самом деле высшее богатство, верно? Хм, так что, да, больше силы всем, кто слушает, кто хочет построить компанию самостоятельно. Вы абсолютно можете, реально сейчас. Как, вам больше никто не нужен, если вы сами себе джентльмен. Вау. >> Да. Это мой план для моих детей, чтобы они встали на этот путь, чтобы избежать всей этой крысиной гонки, знаете ли. >> Аминь. >> Да. >> Да. Мы все пытаемся, как бы, сделать наших детей как можно более самостоятельными. Да. Именно так. И сказать, знаете ли, если у вас есть какой-либо вопрос, сначала спросите ИИ, верно? Потому что очень вероятно, что вы продвинетесь намного дальше. >> И просто еще один маленький анекдот, интересно присоединиться к AMP. Я думаю, что я на 22-м дне, может быть, сейчас. Хм, знаете ли, и AMP - это большая кодовая база, верно? И это так дико, что все, что мне нужно сделать, это открыть репозиторий в AMP и задать AMP вопрос и сказать, знаете ли, как, где в кодовой базе это происходит, знаете ли, и он разбирается, а затем я скажу, хорошо, какой разработчик над этим работал, верно? Хм, и я выясню это. А затем я могу перейти в Slack, например, и задавать гораздо более умные вопросы, верно? Я могу пойти к инженеру, который над этим работал. Я точно знаю, где, знаете ли, код и что он делает, и я могу задать очень умный, быстрый вопрос, который не замедлит их. >> А, и это просто пример одной вещи в жизни, которую вы можете сделать, примените это к чему угодно, верно? Хм, мы намного мощнее сейчас благодаря агентам. Это просто безумие. >> Да, я полностью согласен. Хорошо, чувак. Итак, где люди могут найти Untangled, а также AMP? >> Итак, если вы хотите использовать AMP, просто зайдите на ampcode.com. Хм, круто то, что вы можете зарегистрироваться бесплатно. Мы даем вам 10 долларов, чтобы использовать его бесплатно. Так что просто пользуйтесь им и свяжитесь со мной в X. Так что я просто Райан Карсон, верно? Так что свяжитесь со мной в X, скажите мне, что вы используете его. Я буду подбадривать вас, если у вас возникнут какие-либо проблемы. Хм, я позабочусь о том, чтобы мы передали его нужному человеку. Так что попробуйте. Получайте удовольствие. Хм, тогда, если вы хотите найти меня, как я уже сказал, я просто Райан Карсон везде, но я живу и дышу в X весь день, каждый день. Мне это нравится. Хм, а затем, если вы хотите, надеюсь, вы не разводитесь в Коннектикуте, но если вы это делаете, просто зайдите на untangle-us.com и дайте мне знать, что вы думаете. >> Отлично, Райан. Да, было здорово связаться с вами в X. Я думаю, у меня есть своего рода соотношение любви-ненависти к X, но, знаете ли, приятно видеть вас там, и, да, спасибо, что рассказали обо всем. Это очень практично. >> Спасибо, Питер. Я ценю это.