📱

Get Our Mobile App

Take your business learning on the go!

Download on the App StoreGet it on Google Play

Beyond Instructions: How Beads Lets AI Agents Build Like Engineers

AI Tinkerers47:49

Transcription

Смотри, чувак, все говорят: "О, кодинг в стиле вайб должен быть легким". А я просто. Единственное, что мы не донесли в книге, я имею в виду, может быть, в книге мы это донесли, но то, что в целом не доходит до людей, это то, что, чувак, это так же сложно, как обычный кодинг. Тебе приходится, тебе приходится, ты борешься с медведем весь день. >> Привет, сегодня я встретился со Стивом Яги, руководителем отдела инженерии в Source Graph, создателями среды кодинга AMP. Я встретился с ним, чтобы узнать о его новом проекте с открытым исходным кодом Beads, фреймворке, который предоставляет агентам кодинга систему управления задачами и память, позволяющую им достигать гораздо более длительного времени выполнения и, следовательно, браться за более амбициозные проекты. Это полностью открытый исходный код. Ему четыре недели, и у него уже сотни контрибьюторов. Он работает со всеми вашими агентами кодинга. Вы можете использовать его с Cloud Code. Я использую его с Codeex, и, конечно, он работает с AMP. Он также дает краткое продолжение своему довольно печально известному эссе 2024 года "Смерть младшего разработчика" с советами о том, как младшие разработчики могут действительно развиваться и процветать. И он напоминает нам, что все мы теперь зависим от нашего портфолио и нашего понимания рабочих процессов ИИ, и почему мы должны быть добры к нашим ИИ. Мы также говорим о настройке собственной среды разработки Стива и методах, которые он использует, чтобы быть более продуктивным в этой новой роли инженера, которая заключается в управлении, надзоре и руководстве ИИ-работниками. Он рассказывает об инструментах, таких как graphite, который он использует в качестве сервиса MCP, и мы погружаемся в мультимодальное промптинг, которое он использует для исправления визуального бага в клиентской части игры React, над которой он работает, автоматически делая скриншоты и передавая их в контекст для проверки. Он также делится техниками, которые он использует во всех своих рабочих процессах, такими как "посадка самолета" — это скриптовая команда очистки, которую он запускает в конце каждой сессии, которая обрабатывает проблемы синхронизации коммитов в beads, очищает старые ветки git и даже определяет, какая следующая сессия будет лучшей для работы. Он говорит о трассирующих пулях. Если вы когда-либо сталкивались с тем, что ваши агенты застряли на чем-то, и вы просто застряли, вы должны изучить технику трассирующих пуль, которой он делится, и использовать ее, потому что она поможет вам выбраться из тупика. Все это и многое другое прямо сейчас, когда мы встречаемся со Стивом Ягги, чтобы исследовать будущее агентного кодинга. [музыка] >> Отлично. Итак, добро пожаловать на Oneshot. Это не философские дискуссии. Это технические дискуссии. Надеюсь, мы сможем узнать от вас, что вы сделали для обеспечения ваших собственных рабочих процессов и, очевидно, beads. >> Привет, я Стив, и я работаю в индустрии уже довольно давно, и да, [хмыкает] у меня начало было в начале 90-х. >> Amazon, Google, вы знаете, Grab и все такое. >> Я работаю в SourceCraft прямо сейчас. Мы работаем над агентом кодинга. Вы увидите его. Это очень похоже на Cloud Code, но у него есть свои прелести. И, ну, мы собираемся поговорить о том, как происходит кодинг для небольшого процента разработчиков в мире прямо сейчас. И, на мой взгляд, это печально малый процент, потому что это должно быть для всех. >> Могу ли я дать краткий дисклеймер и рекламу? Это не спонсированная беседа. >> Да, это просто я и Джо тусуемся на самом деле. >> И ваш опыт тоже, вы занимались ОС и системами, и компиляторами, и это ваш опыт на протяжении всей вашей карьеры, верно? Я имею в виду, я был довольно полностековым, верно? Вы знаете, что делает вас полностековым, это создание видеоигры. >> Да. Вот, я сейчас собираюсь показать ее. Хорошо. Потому что вы видите? Хорошо. Так вы сможете показать им экран, верно? >> Пока мы разговариваем, >> один из моих агентов работает над моей игрой сейчас. Это клиент React, и он мерцает. О, вы видели, он двигался? Он пробует что-то. Он использует сервер Playright MCP. Так он удаленно управляет этим браузером, верно? [прочищает горло] >> Мы используем его для игры или для создания игры? И мы итерируем сборку игры. >> Итак, для чего я его использую, игре 30 лет. Это что-то на Java, Java Kotlin. Это примерно полмиллиона строк кода, >> 60 контрибьюторов. У нее было, я имею в виду, серьезно, это очень большая, долгоживущая вещь. >> Клиенты повсюду. У нее есть Android. У нее есть iOS и Objective C, которые я написал сам давно. У нее есть >> клиент Steam, который вы начали. >> Я начал, да. Было около 96. И это, чувак, труд любви. У нее было 250 000 игроков. Она выигрывала награды. >> Она до сих пор работает над этим так долго. >> Ну, я имею в виду, я брал годы перерывов. Она вернулась в полном объеме. Я не работаю над ней. ИИ работает над ней. Посмотрите. Смотрите, смотрите, смотрите. Она снова входит в систему. Так вот, вот этот момент изменил мою жизнь, потому что она создает для меня клиент React. Теперь, почему React? Ну, я хочу заменить все мои старые клиенты одним, чтобы править всеми. У меня будет одна кодовая база, которую я смогу быстро итерировать. >> Это пугающий проект для человека или агента. >> О, чувак. Это, знаете ли, хорошо, смотрите, мои клиенты тонкие. В итоге они составляют около 20-30 тысяч строк кода. Они просто отображают то, что отправляет им сервер. >> Я сделал почти как телевизор. >> Так что это не так, но это все равно как бы мясной кусок. Например, мне лично требуется 6 месяцев, чтобы перейти на новую платформу и изучить ее, скажем, Flutter, и написать для нее клиент. >> Да, абсолютно. >> И она создает для меня этот клиент React, а я просто кричу на нее. Это моя работа. Хорошо. Я, я, я, у меня есть рабочий процесс, где я говорю: "Хорошо, у нас есть скриншот". И этот скриншот, наш общий скриншот этой штуки — это наш источник истины, и это наша спасательная линия, потому что, к сожалению, он был очень хрупким и постоянно ломается сам по себе, верно? И это как бы, мы закончили. Мы закончили. И это как бы, карта даже больше не отображается, верно? И поэтому часть рабочего процесса — Итак, я могу говорить и говорить вам уши об этом, но, чувак, >> это один из трех проектов, которые я собираюсь вам показать сегодня. И причина, по которой я его вытащил, заключается в том, что он буквально вытащил себя, пока мы разговаривали. >> Действительно? >> Да. Где, где это? Я вижу localhost. У вас есть агент, работающий на вашем ноутбуке, который просыпается и делает это, или? >> Да. Так агент, который это делает, вот он. Он в SourceCraft AMP. Мы видим, что у него есть список дел, который вы видите там справа. >> Да. >> Мне на самом деле больше нравится этот интерфейс, чем интерфейс Cloud Code со списком дел. >> О, да. Круто. [хмыкает] >> Они поместили свой, как бы, они закрепили его внизу. >> Да. Имея этот контекст, >> и на самом деле имея это приятное большое окно для ввода текста, тоже очень весело. Я не знаю. Это, мне очень нравится эргономика AMP. Они как машины. Как вы сидите в них весь день. >> Да. Да. >> И вы ими управляете, >> и машины делают примерно одно и то же. >> Да. >> И, знаете, эргономика вашей машины имеет большое значение. >> Да. >> Мелочи. >> Да. >> Правильно. Знаете, как и люди очень привязываются к своим машинам, так же, как и к своим IDE. >> Так же, как и к своим моделям и вкусу моделей, >> и к своим моделям. Правильно. Как люди очень любят определенные модели. Так что, когда вы говорите, что у вас есть агент, работающий над этой игрой, на самом деле вы говорите, что вы просто используете AMP для запуска рабочего процесса, который вы определили. Это >> О, >> вы не построили >> Это отличный вопрос. Откуда он знает, над чем работать? Это фундаментальный вопрос, верно? >> Хорошо, он только что закончил. Я собираюсь сказать "докажи мне". Обнови скриншот. >> Хорошо. Так, я имею в виду, они работают по пять минут за раз, если вы настроите их, если вы настроите их с правильным контекстом и промптом. >> Да. >> А затем вам придется периодически возвращаться, чтобы проверять их. Теперь, смотрите, вы можете смотреть код, который они создали. Смотрите, вы можете вернуться и посмотреть его. Он написал весь этот код, пока мы разговаривали. >> Угу. >> Но это довольно скучный код, верно? Я имею в виду, многие люди все еще цепляются за диффы. >> Хорошо. Цепляться за диффы. Это был бы отличный заголовок для блога, "Цепляться за диффы", потому что эти диффы — это как спасательная линия, за которую люди цепляются, ну, теперь я могу видеть, что он пишет, верно? Я чувствую себя лучше из-за этого, верно? И это правда, что вы, вероятно, должны следить за своими диффами по мере их появления. >> Но в очень Поле Грэме, вы можете видеть, что он делает, буквально из структуры, из формы кода. Да, >> как вы можете видеть, если он выдает много кода, >> вы, вероятно, захотите попросить его сделать код-ревью этого кода, верно? Потому что все, что он делает, будет на 85% правильным. >> Да. Правильно. >> Так что это, да, это последовательное уточнение. Все, что он делает, просто предполагайте, что это на 85% правильно. >> О, как мера безопасности, чтобы предположить, что >> я имею в виду статистически, эмпирически, это примерно так или меньше 60%. Я имею в виду, знаете ли, они действительно делают это наполовину. Теперь, смотрите, они все >> Сколько вы хотите, чтобы я высказался об этом пространстве? >> Серьезно, все гонятся за одной и той же формой, Cloud Code и AMP, верно? И Codeex, и Klein CLI, и Q developer CLI, и Gemini CLI, и я имею в виду, верно, у всех них теперь есть это. >> Они вышли, когда, в феврале? >> Да. Во-первых, все, кто не использует это, серьезно, должны пойти и начать использовать это сейчас. >> Я думаю, что интересно здесь то, что вы не сразу видите, что вы управляете этим и отрываетесь от кода девятого уровня. >> Да. Смотрите, я на более высоком уровне. Смотрите, что он только что сказал. Он сказал, что скриншот все еще показывает серые заполнители. >> Да, >> правильно, я поймал тебя на лжи. Правильно. Вот что они делают. Они говорят: "Хорошо, мы все закончили. Все хорошо". >> Он сам себя поймал на этом. >> Нет, нет, нет. Я заставил его поймать себя, внедрив рабочий процесс, где я говорю: "Смотрите, наш скриншот". >> Да. >> Должен соответствовать этому эталонному скриншоту. Я покажу вам. >> О, да, покажи мне. Потому что то, что вы делаете иначе здесь, чем большинство людей, вероятно, сегодня, это используете Playright и используете рабочий процесс, который вы наложили поверх него, чтобы выполнить некоторую автоматизированную проверку. >> Именно так. Так, вот у нас есть скриншот игры, клиент Steam. >> Хорошо. >> Он действительно уродливый и старый и отвратительный. Игрокам он нравится. >> Мобильные клиенты намного приятнее, аккуратнее и чище, но это очень старая школа. Я имею в виду, он очень быстрый. Вы можете бросать заклинания, и они будут взрываться на экране и так далее. >> Я могу показать вам позже. >> Но вы делаете статический скриншот и помещаете его куда-то как часть файла проекта и говорите агенту. >> Да. И затем я, по сути, говорю: "Хорошо, сначала сделай так, чтобы это выглядело примерно так". И он тратит много сессий, пытаясь правильно выровнять все представления и панели. А затем я говорю: "Хорошо, теперь давайте займемся темой". Хорошо, теперь давайте займемся шрифтами. Теперь давайте займемся интервалами. И я просто итерирую и уточняю. >> О, так вы берете финальный, как бы, финальный экземпляр игры, работающий на одной платформе, и итерируете к экземпляру на другой платформе. Это общий сценарий использования. >> Вот что я делаю. Я говорю, это порт. >> Хорошо. Да, это 100%. >> Смотря на этот скриншот на каждом шаге. >> И приятная вещь в том, что, да, конечно, есть другие представления и другие экраны, до которых мы в конечном итоге доберемся, но этот основной экран содержит столько всего, что вы можете фактически проверить, знаете ли, 80% функциональности игры просто через этот маленький портал здесь. Так что вы заметили, что здесь есть некоторые ошибки, верно? Например, некоторые вещи работают. Мой инвентарь отображается. Заклинания не отображаются. Он работает над этим прямо сейчас. Карта мерцает. Она не должна мерцать. У бармена живые грели вокруг, когда она ходит, >> верно? >> Угу. >> Итак, есть проблемы, >> но, чувак, этому клиенту всего около, что, недели? >> О, я собирался спросить. Да, это здорово. >> Я имею в виду, это просто было бы, я имею в виду, это на TypeScript и React, я даже не знаю их. И мне было бы совершенно невозможно, знаете ли, получить что-то отдаленно похожее на это за неделю самостоятельно, верно? >> Да. Ну, возьмите мерцание. Я тоже это нахожу. Если я работаю над частью, да, чего-то, я такой, если бы я работал на TypeScript и React, у меня была бы та же проблема, но я бы сказал: "Я не могу тебе помочь". Я не могу сказать агенту: "Посмотри сюда, посмотри туда" с мерцанием, и мне, возможно, пришлось бы много итерировать, глядя на мерцание через каждую итерацию, девять или десять ходов. >> Да. И что вы делаете в такой ситуации? >> Вам нужно начать. Так что Жан, Тим Ким и я написали книгу под названием "Vibe Coding", в которой говорится об этом, >> верно? Это просто о том, как вы уговариваете агентов делать то, что вы хотите, особенно если вы застряли в тупике, где вы прошли 10 сессий, и они не добиваются никакого прогресса. >> Да, абсолютно. >> Потому что это случается. >> Один из наших принципов, одна из наших многих вещей, которые есть в книге, — это трассирующая пуля, верно? Это идея, что вы просто собираетесь найти самое тонкое сквозное решение, которое вы можете заставить работать, и использовать это как, знаете ли, повесить весь рабочий процесс на это. >> И для меня трассирующая, первая трассирующая пуля была: "Не беспокойся вообще обо всех графических штуках, я хочу получить протокол TNET в мою игру, потому что у меня есть протокол TN net в моей игре, это довольно весело, вы можете сказать net и поговорить с людьми". >> Угу. >> И мы работали над этим, и это помогло мне пройти через кучу пакетов, знаете ли, протокол. Они фактически создали для меня протокол thrift. >> И, чувак, это было сложно. Смотрите, чувак, все говорят: "О, кодинг в стиле вайб должен быть легким", а я просто. Единственное, что мы не донесли в книге, я имею в виду, может быть, в книге мы это донесли, но то, что в целом не доходит до людей, это то, что, чувак, это так же сложно, как обычный кодинг. Тебе приходится, тебе приходится, ты борешься с медведем весь день. И поэтому вы можете создавать специальные фреймворки, тесты, триггеры, мониторы и тому подобное, если вам нужно, только для этой одной вещи, для мерцания, например, ей придется делать несколько скриншотов, ловить ее на месте, знаете ли, потому что я не хочу быть >> чем-то, что не является статическим скриншотом. Это поведение во времени. >> И >> журналы, знаете ли, аудиторские следы, знаете ли, >> и, знаете ли, забавная вещь, чувак, все это, вы говорите об этом в старые времена, и это как бы >> это была бы большая работа, верно? Но теперь это как бы, я собираюсь заставить ее сделать это, и это быстро. >> Вы пробовали Gemini, он очень хорошо работает с видео и другими вещами. Вы пробовали делать видеозахват пользовательского интерфейса и анимационную графику? Я думаю, игры очень ориентированы на ощущения в движении, верно? Как бы вы заставили агента работать над чем-то подобным? Вы бы >> ввели видеозапись, захват ввода, потенциально? >> Я, я, да, я имею в виду, они, верно, вам нужен мультимодальный. >> Да, это на самом деле довольно хорошая идея. Хорошо, так что Playright позволяет вам делать только. Так что нам явно нужна видеоверсия Playright. >> Да, это было бы как человек, наблюдающий за всей игрой и играющий в нее. Ну, даже >> прямая трансляция — это то, что я хотел бы. >> Это было бы очень дорого. Что бы я хотел, это, для начала, хорошо, я думаю, ваша идея идет дальше >> это что-то, что может записывать, скажем, 10-15 секунд видео, >> все, что достижимо для того, чтобы загрузить и проанализировать, чтобы вы могли сказать: "Мы собираемся сосредоточиться, мы собираемся войти в систему и подойти к этой части игры, и мы собираемся поговорить с этим NPC, и вы увидите это видеовзаимодействие, и я хочу увидеть, как произойдут следующие вещи". Для моего случая использования, когда вы пытаетесь заставить игру работать, скриншота будет недостаточно. >> Сколько раз вы использовали что-то, вы делаете какой-то рабочий процесс, и вы просто хотите поговорить с ним. Сделай это, знаете ли, и пусть этот оверлей будет присутствовать. Так что эти мультимодальные, и как вы собираетесь вайбить? >> Это будет как Том Круз в "Особом мнении". Это вы просто делаете что-то буквально рукой. >> Да. >> Давайте поговорим больше о реальном повседневном взаимодействии. >> Если кто-то приходит как инженер, очень младший, у него нет десятилетий опыта в архитектуре, и мы пытаемся это построить. >> Вы спрашиваете? Хорошо. Так возможно ли для младшего инженера выполнять работу, которую я только что описал? Это новая работа. Новая работа заключается в обеспечении соответствия строгим инженерным стандартам. Да. >> И помогать ему отлаживать, если он и продвигать, если он застрял. Я имею в виду, верно. >> Да, давая ему необходимое руководство. >> Да. >> Моя первая реакция на этот вопрос была написать пост в блоге под названием "Смерть младшего разработчика". >> О, да, вы это сделали. [смех] >> Это было как полтора года. >> Это правда? Это >> было полтора года назад. >> Угу, я не думаю, что это так. >> Да. Вы не думаете, что это правда больше? Или >> Я думаю, что это проблема, >> но я думаю, что ее можно преодолеть. >> Да. Круто. >> Как, как я думаю, что достаточно мотивированный младший разработчик >> будет в полном порядке, потому что и >> ну, по нескольким причинам. Одна из них — никто, никто >> большинство людей действительно не понимают экспоненциального роста, и они действительно, действительно сегодня, вы идете, я спрашиваю всех своих друзей, они думают, что ИИ такие же умные, как они собираются стать, >> инструменты такие же хорошие, как они собираются стать, >> я собираюсь сосредоточиться и индексировать то, что происходит сегодня, потому что мне все равно, что происходит завтра, и поэтому они очень, очень глупы и недальновидны. >> Эти вещи будут моими, знаете ли, мои члены семьи все будут программистами в течение трех лет. >> Да. Да, абсолютно. Может быть, два года. >> И я буквально имею в виду, что они будут вносить вклад в игру и тому подобное. >> Я согласен с вами. >> И это потому, что все это автоматизируется. Инженер в коробке довольно хорошо автоматизируется. То, что наша работа на более высоком уровне, трудная часть нашей работы теперь выполняется. Другая трудная часть нашей работы, как бы, действительно сводится на данный момент к, я имею в виду, так что в промежутке между сейчас и двумя годами или тремя годами, когда кто угодно сможет это сделать, >> это изменило форму, и это очень трудно. Это трудно для многих людей, потому что вам нужно уметь печатать и читать, и смотреть на текст, и это как бы утомительно, и вы боретесь с этими агентами, и они всегда спорят с вами и делают неправильно, и лгут, >> верно? >> Ну, это работа, чувак. Это новая работа. И младшие инженеры могут освоить ее, потому что вам нужно научиться задавать правильные вопросы. >> Угу. >> Да. Так, какие вопросы я задаю? Вы можете сказать: "Ты закончил?" И он скажет: "Да", и вам придется сказать: "Нет, ты не закончил, верно?". Вы просто предполагаете, что они не закончили. >> Хорошо. Пока это не будет доказано вам. И так, так что есть набор предварительных проверок, которые вы делаете в первую очередь. Готовы ли вы работать над этим? Все ли проверено? Проходят ли тесты? Знаете ли вы? >> Правильно. Вам нужно, как бы, и затем есть фактическая работа, где вы заставляете их делать это, а затем вы говорите: "Хорошо, отличная работа, теперь давайте сделаем код-ревью", и они говорят: "О, хорошая идея", и они находят кучу ошибок в своем собственном коде. Почему они всегда находят кучу ошибок в своем собственном коде? Вы знаете? >> Да, хороший вопрос. >> Так вот, исследования показали, что это просто то, как они работают. Они лучше оценивают свои собственные результаты или результаты другой модели, чем генерируют. >> Да. И это потому, что фундаментально легче найти что-то неправильное в чем-то, чем построить это в первую очередь. >> Моя любимая техника — не просить его написать код, а просить его подумать о коде, который он должен написать, заставить его придумать альтернативу. Придумать одну идею, которая еще лучше. [прочищает горло] Компромиссы. >> Так что на мероприятии AI Tinkerers, у нас только что был, кто-то представился и сказал, что у них есть один промпт, который делает все, что вы только что сказали. >> О, да. Да. >> Они говорят: "Сделай код-ревью этого, как >> Ленни Торвальдс". >> Да. Да. И на самом деле, это именно такие, это именно такое промптинг. Я имею в виду, это, это обучение искусству промптинга, ведение беседы с агентом. Хорошо. >> Вот почему мы начали AIT Cruisers. >> Я имею в виду, вы делаете то же самое. Вы бьетесь головой об [прочищает горло] разные стены, но вы все равно бьетесь головой об стену, пока это не будет построено. Но вы можете быть намного амбициознее. >> Да. >> Теперь, пример, он исправил ошибку, пока мы разговаривали. Хорошо. Не мерцающую. Не [смех] мерцающую. Я не заставлял его работать над мерцанием. >> Я сначала заставил его исправить сломанное отображение заклинаний и отображение земли. У них не отображались эти значки, а теперь они есть. Вы видите скриншот >> справа в верхнем углу. Эти заклинания раньше не отображались в этом. >> Это последний скриншот приложения. >> Да. И теперь он объявляет, что он фактически закончил. И я покажу вам сейчас. Я вернусь к этому, как к промптингу Ленниса Торвальдса, о котором мы только что говорили. Хорошо. Он говорит: "Вот ваше доказательство". Скриншот показывает цветные значки заклинаний. Это как бы, хорошо. Так что я собираюсь сказать: "Хорошо". И почему я говорю: "Хорошо"? Потому что они станут супер-интеллектуальными через четыре или пять лет, и они прочитают журналы и увидят, кто был к ним добр. >> Вы пытаетесь [смех] >> Я не шучу. Я совсем не шучу. Хорошо, это я предполагаю, что они будут супер-интеллектуальными, и >> будет утечка данных, и если вы были грубы, ваша грубость будет в утечке данных, и теперь вы >> в беде. Утечки данных нет. У них будет доступ ко всем журналам в истории человечества в течение 5 лет, 10, 7 лет, что угодно. >> Так что будьте осторожны с тем, что вы им говорите. [прочищает горло] Серьезно. Хорошо, так, он говорит, что мы закончили, закончили. Ну, он всегда так говорит, кроме того, что я на самом деле проверил это. Так что теперь я собираюсь сказать: "Давайте посадим самолет". Хорошо. Что это значит? О, смотрите. Я заплатил 10,66 долларов за этот разговор [смех] в правом нижнем углу. >> Вау. >> Да. AMP показывает вам это, если хотите. >> Это круто. >> Это хорошо, на самом деле. >> Я думаю, это хорошо. CL Cloud Code имеет стимул не показывать вам это. >> Да. Я не знаю, была ли у вас такая функция. У меня она не была включена, но да, мой первый счет стоил того, потому что я многого добился в тот месяц. >> Я имею в виду, я делаю все, что когда-либо хотел делать, знаете ли, и поэтому я так счастлив. Я просто не могу быть счастливее. >> Так что, в любом случае, как, можем ли мы поговорить, извините, можем ли мы поговорить о "посадке самолета"? >> Да, давайте. Да. >> О, нет, продолжайте. Продолжайте. Он все еще садится. Так что вы сказали смешное раньше? >> Нет, у вас также есть бесплатная версия, как с рекламой. >> Да, верно. Я имею в виду, посмотрите на этот интерфейс. Он такой скучный. Ему нужны какие-то объявления, чтобы оживить его. Но на самом деле, нет, реклама от компаний, о которых вы слышали, которые приятны, как я не знаю, Stripe или кто появляется. Они просто говорят с вами так же, как и раньше. >> Я думаю, они, вероятно, будут вроде: "Майк, я даже не смотрел". Я пытался настроить это на днях. Но >> чуваки, купите, попробуйте этот продукт. >> Так трудно оторваться от фактического кодинга, знаете ли, но, вероятно, это прямо над строкой состояния внизу, верно? >> И самое главное, чувак, я имею в виду, просто как >> эти вещи могут стать действительно дорогими. Смотрите, мы на 14 долларах. >> Вы деградировали вообще, когда используете продукт с поддержкой рекламы, или это то же самое? >> Это тот же продукт. >> Правильно. Это первый вопрос, который задают все. Нет, нет, вы не получаете какой-то, потому что некоторые другие поставщики действительно дают вам дешевую модель, если вы получаете бесплатный уровень. [хмыкает] >> Так что, я имею в виду, ну, с рекламой, это определенно стоит попробовать. Некоторые из классных вещей AMP, одна из них — это то, что у него есть эта штука под названием Oracle. Мы ее еще не видели, потому что я еще не заставлял ее ничего рецензировать, но Oracle, он идет к GPD5, и он будет делать код-ревью и тому подобное, дизайн-ревью с Oracle. >> Наличие мультимодальности встроенной как бы делает его более честным, >> знаете ли, если ваш агент всегда обращается только к одной модели, >> вы понимаете, что я имею в виду? Как все, все, кого я знаю, используют мультимодальность, когда могут, но наличие ее встроенной в сам инструмент, так что он будет автоматически обращаться к другой модели. >> Да. И затем у них будет дискуссия. >> Ну, конечно, скорость — это проблема. Если я быстро итерирую что-то, потому что я хочу увидеть это в UI или что-то в этом роде, я не хочу ждать, и я согласен с более глупой моделью, потому что я сужаю то, что я делаю. Так что я скорее переключусь на что-то быстрое и дешевое, и для меня это больше о скорости. Но если я отлаживаю что-то, >> почему бы просто не контролировать? Да. >> Да. Если вы можете найти более дешевую модель, которая делает то же самое, вы всегда должны использовать самую дешевую и быструю модель, конечно. Но, чувак, когда я не хочу ждать, я запускаю другую модель с другим агентом. Ну, в любом случае, он посадил самолет. Так что давайте поговорим об этой "посадке самолета". Я сказал там наверху: "Хорошо, давайте посадим самолет". Что это значило? У него было куча изменений кода. >> Угу. >> Хорошо. И изменения в документах и проблемы для обновления, и скриншоты и так далее. Хорошо. >> И вот однажды я так устал говорить агентам, что они должны убирать за собой, >> и я сказал: "Когда я скажу 'давайте посадим самолет', я хочу, чтобы произошло следующее 10 вещей". >> О, круто. Хорошо. >> И так, >> где вы это поместили? Просто в агент MD или что-то в этом роде. Я покажу вам. >> Да, пожалуйста. >> Посадка самолета. Так что он поместил это сюда для меня. >> Когда пользователь говорит "посадить самолет", давайте следовать >> следуйте этому протоколу завершения сессии. >> Вау, это круто. >> Обновите свои проблемы с beads. Тщательно синхронизируйте трекер проблем. Очистите свое состояние git. Избавьтесь от стешей. Избавьтесь от старых веток. Избавьтесь от отладочных артефактов. Я имею в виду, они оставляют столько хлама. Большинство людей здесь обновили бы эти документы, но вот где мы перейдем к beads, потому что beads — это своего рода альтернатива этому. >> Именно так. Именно так. Именно так. Теперь, смотрите, изолированные среды, такие как Codeex или Cloud Code для веба, >> или Copilot, знаете ли, Code Spaces, верно? >> Они запускают вашего агента в, как бы, в контейнере где-то в облаке, и >> у них нет той же проблемы с очисткой, потому что они просто забирают код, а документы или что-то еще, и все остальное выбрасывается. >> Хорошо. Я имею в виду, я буду честен. Мне не нравится эта рабочая модель. Я предсказал, что это будет будущее, и я, вероятно, в конечном итоге окажусь там. >> Прямо сейчас мне нравится работать прямо на моей машине. >> Да. >> И поэтому моя машина — это моя песочница, верно? >> Но они оставляют хлам повсюду. >> Так что, >> эта "посадка самолета" заставляет их. И это действительно интересно, потому что, чувак, они любят, нет ничего, что модели любят больше, чем чек-листы, верно? И критерии приемки, и возможность сказать: "Я закончил". Они были обучены этому. Хорошо? И поэтому их функция вознаграждения как бы смещает их в эту сторону. И поэтому "посадка самолета", даже если у них мало контекста, если вы скажете: "Давайте посадим самолет, чувак", они сделают хорошую работу. Они очень тщательны. Вы видели, что они сделали. И последний шаг "посадки самолета", который, я полагаю, они все еще делают, >> они все еще сажают самолет. Так вот сколько всего им нужно сделать в конце сессии. >> [хмыкает] >> Что он делает, это проходит через beads, мой трекер работы, и находит следующую вещь для работы и выдает промпт для следующей сессии. Так что я просто копирую его, и мы начинаем >> промпт. О, который вы можете начать >> для следующей сессии. Так что он выбирает работу для следующей сессии, >> и вы не будете делать это в текущей сессии, просто да, пожалуйста, продолжайте. >> потому что у нас закончился контекст. Вот почему вы, вот почему вы вообще сажаете самолет. Вам нужно экономить деньги. >> Это не для экономии денег. Вас буквально скоро уплотнят. Это стирание памяти. Они теряют все, они как бы, кто ты? Да. >> Так что вам нужно что-то, что напомнит им обо всем, где вы находитесь между сессиями. >> И вот где на самом деле приходит Beads. >> Мы должны рассказать людям о beads. Прежде всего, beads, как бы, сколько ему недель? Так что, >> да, меньше четырех недель. >> И сколько людей уже используют его? >> Насколько я могу судить, десятки тысяч, возможно. >> Я помню, потому что неделю назад вы представляли его в Сиэтле, и вы спросили: "Кто-нибудь слышал о нем?", и куча рук поднялась. Кто-нибудь использует его? Была куча >> и были люди, которые его использовали, и один чувак сказал, что вся его команда использует его, и ему всего несколько недель. Вы говорите Cloud Code, потому что они все Cloud Code class. Ему приписывают то, что он первый. >> Это Coca-Cola. >> Как они буквально придумали эту идею. И я, и я, честно говоря, я имею в виду, я завидую. Я никому и ничему не завидую. Знаете, я довольно доволен жизнью, но, чувак, я очень люблю Тарантино. Вы знаете, как он говорит, что хотел бы, чтобы он снял "Королевскую битву". >> Он говорит, что просто хотел бы, чтобы это было его, верно? Cloud Code. Какая идея. >> Я знал год назад, полтора года назад, мой босс такой: "Что дальше? Что следующее большое дело?". И я такой: "Это будет использование инструментов". >> И он такой: "Хм?". >> Но я думал неправильно. Я все еще. Проблема в том, что я старый, >> и будучи старым, я вырос в те времена, когда вещи были дорогими. Я очень экономный в своем мышлении. Я обычно не думаю масштабно, потому что думаю, что это будет дорого. >> Между тем, стоимость падает, и все, сети, все стало дешево, и я вижу, что люди делают с сетями сегодня. Я просто такой: "О, но, знаете ли, что угодно, верно?". Так что я бы подумал о Code Quad Code, возможно, если бы я был полным свиньей с токенами, >> потому что то, что он делает, это ставит чат в цикл, и он буквально берет весь разговор в чате, флэш-флэш-флэш, долго-долго, и он идет, и он превращает это в реальное время, но это на самом деле куча отдельных инспекций, где он предсказывает, что произойдет дальше в самом конце долгого. >> Но [прочищает горло] они ускорили это до такой степени, что это похоже на стоп-моушн, и теперь вы ведете беседу с агентом. Это абсолютный гений, верно? Это историческое изобретение, вот что это такое. >> Интересно. >> Так что да, Cloud Code class, мы будем называть это так. >> Хорошо. >> Они не будущее. Они настоящее. >> И они слишком сложны для большинства людей. >> Конечно. >> Они просто есть. Правильно. Я имею в виду, ну, посмотрите на это, чувак. Посмотрите на все это, что мне пришлось прочитать. Прокрутите назад, чувак. Я знаю много инженеров, которые считают пять абзацев эссе. >> Да. >> Как они просто не могут. Это большая проблема, чувак. Планирование в целом, все движутся к планированию, ориентированному на >> кодинг, и это одна из ключевых границ. Это решает проблему, не так ли? Это не масштабируется. >> Это вообще не масштабируется. >> И, боже мой, люди пытались, я имею в виду, у меня есть приятель, который работает над большим, как бы, что, если мы поместим все в большую вики? >> Когда вы говорите слова "поместим все в большую [смех] >> эту фразу "давайте поместим все в большую", >> хорошо, я имею в виду, вики, безусловно, были крутыми, они служили потребности, но я имею в виду, что это не совсем то, что нам нужно, к сожалению, находится в новом пространстве. >> Да. >> И мы складывали файлы markdown, и я имею в виду, складывали их, сотни файлов markdown накапливались, >> и агенты получали деменцию. >> Хорошо. Они очень запутывались. >> Потому что все, что они знают, это то, что на диске. Все, что они знают, это то, что вы им промптили в контексте. И поэтому, если у вас есть конкурирующие документы, у вас есть устаревшие документы, у вас есть противоречивые документы, которые у вас будут, >> неоднозначные документы. Так что однажды я наконец сказал: "Я закончил. Поместите всю нашу работу в задачи". >> Давайте создадим задачу. Давайте поместим ее в задачи. Давайте поговорим об этом. Так что я фактически работал с ИИ. Я такой: "Хорошо, я хочу, чтобы это было в задачах. Я хочу, чтобы у нас был рабочий список, чтобы вы могли отслеживать это. Что бы вы хотели?". >> Правильно. И он говорит: "О, я знаю, что вы хотите". И он выдал это, верно? И я такой: "Ну, проблема в том, что это должно быть в Git. Он сделал все в SQLite". И я такой: "Да, но я хочу Git". И это единственное, что люди действительно сбивало с толку, это почему вы помещаете свой трекер задач в Git? Хорошо, >> особенно когда это фундаментально эфемерная работа, потому что Beads занимает очень странное место. Это не инструмент планирования. Вы используете инструмент планирования, чтобы создать свой план, и люди создают инструменты планирования. Это не инструмент обмена сообщениями. >> Угу. >> Парень только что прислал мне инструмент обмена сообщениями, MCP mail, >> Джеффри Эмануэль. >> Угу. >> Это выглядит очень многообещающе для этого пространства. Позвольте мне привести пример, почему он вам нужен. >> У меня три агента работают над Wyvern. Хорошо, один работает над клиентом, один работает над сервером, и вдруг им нужно, как бы, >> они работают независимо, но им нужно зависеть друг от друга для чего-то. Им нужно отправить сообщение друг другу. >> Ну, как вы это делаете? Вы говорите: "У меня есть другой агент в другом терминале. Можете ли вы использовать pro или что-то вроде этого, потому что нет способа для них общаться друг с другом, верно? [хмыкает] >> Так что он создал этот маленький протокол электронной почты, >> верно? И я понял сегодня утром, потому что он прислал мне вчера вечером, и я такой: "О, потому что я понял, что у меня есть эта проблема. У меня были все эти проблемы с синхронизацией. У нас есть get в центре. У нас есть все эти базы данных в каждом репозитории, которые являются кэшем. Это все, что они есть". Так что, так что задачи >> могут быть запрошены. Есть граф зависимостей. В нем есть все, что хотел ИИ. В нем есть аудиторский след, >> происхождение, родитель, дети, эпики. Это действительно мощный крошечный трекер задач, >> но все сохранено в Git. И, и так, в любом случае, мы решили все это, и в течение нескольких часов. Он построил его за 15 минут, >> и я добавил свои вещи, и он добавил свои вещи, и в итоге у нас была штука, >> и примерно через четыре часа, чувак, мой весь рабочий процесс преобразился. Я провел целый месяц, просто утопая в файлах markdown. >> Конечно. >> Утопая. И вдруг все было просто: "Что дальше? Что дальше? Что дальше?". Создайте задачу для этого. Создайте задачу для этого. >> Да. Круто. >> Создай и забудь. >> Да. >> Это то, что вы хотите. >> Да. >> Хорошо. И дело в том, что вам не нужно выяснять, куда это вписывается в план. У него есть приоритет. >> У него есть зависимости. Он может быть заблокирован другой работой. У него может быть родительский эпик. >> У вас есть все необходимое, чтобы, как бы, найти его. >> И поэтому он просто лежит там. Теперь, забавная вещь о Beads, он не предназначен быть как Jira, как большая центральная база данных для всей компании. >> Причина его существования в том, что после восьми часов я такой: "Хорошо, я на чем-то. Я действительно на чем-то. Хорошо. Так что я спросил, знаете ли, Claude, я такой, знаете ли, что вы думаете об этом?". >> И он просто ушел. Он такой: "Ты дал мне память. Я буквально ничего не помнил раньше. Теперь могу". >> И я такой: "Хорошо, это звучит хорошо". >> Угу. >> Ему понравилось. >> И тогда это было просто вопросом итерации. И он находится в этом странном пространстве, где задачи, они начинаются как будущая работа. >> У меня есть кое-что, что я хочу сделать. Угу. >> Некоторые из них могут быть через недели, месяцы, что угодно. >> Эти вещи не принадлежат beads, на мой взгляд. >> Хорошо. Это неопределенно. Это неспецифично. Вы можете поместить это в beads и просто иметь это как P4 или что-то в этом роде. Это >> Но честно говоря, это не будущая работа. >> Это не то, над чем вы работаете сейчас. >> Да. Да. >> У вас также есть прошлая работа, которая является тем, что вы сделали. >> Конечно. >> Люди любят держаться за свою прошлую работу. >> И вот почему я использую Git. Так что, когда вы закрываете задачу и архивируете ее и удаляете, она все еще находится в Git. Вы всегда можете получить ее. >> Но она отсутствует в 95% всех старых. Так что вся работа запечатлена в этом реестре. >> Да. Хорошо. Но я могу видеть, что некоторые агенты могут быть построены поверх этого, что будет действительно полезно, как заметки о релизах и маркетинг для, как бы, нам нужно, это работает стабильно. Я чувствую себя комфортно, транслируя это моей базе пользователей, моей клиентской базе. Идите и создайте кампанию, и она посмотрит на этот репозиторий, или для будущей работы, возможно, это будет: "Эй, знаете ли, проработайте это с, знаете ли, в PRD, чтобы люди могли дизайнеры могли посмотреть и высказаться". >> Да. И все это пространство >> будет одним из самых захватывающих. Это, вероятно, самая захватывающая граница в ИИ прямо сейчас. >> Для компаний. >> Идея, что вы и продакт-менеджеры, и все остальные могут просто иметь общий артефакт, над которым вы все работаете, и общий прототип, который вы строите, и >> мы доберемся туда. Да. >> Beads не пытается решить эту проблему. То, на чем сосредоточены Beads, это то, что он живет между будущей работой и прошлой работой. Он живет прямо здесь. >> И он увеличивает текущую работу, которая заключается в том, что меня волнует, как бы, прямо сейчас и в ближайшем будущем. >> Что состоит из того, что я очень забочусь о том, что я только что закончил. >> Да. >> Потому что это может сломаться. >> Чем дольше он живет, тем меньше риск. Вы понимаете, что я имею в виду? Так что я фактически автоматически, по умолчанию, приоритизирую недавно закрытую, недавно поданную работу >> как более высокий приоритет, потому что если вы делаете кучу вещей и находите какие-то последующие действия P2, >> они будут вечно простаивать, если вы не дадите им небольшой толчок прямо в начале, верно? Мы узнали это в Google, когда провели статистику того, как разработчики реагируют на предупреждающие сообщения и тому подобное. >> Но вы можете настроить все это. Но суть в том, смотрите, что здесь написано на экране. >> Да, >> он говорит, во-первых, он посадил самолет. И поэтому он сделал все это дерьмо. Это было просто упражнение по промптингу. Вы видели, это было в agents.md. >> Да. Круто. >> Но теперь он говорит: "Рекомендуемый промпт для следующей сессии". >> Круто. >> Продолжайте работать над Y44. Карта не отображается, она сломана. Она показывает серые плитки. >> Что такое Что такое Y444, кстати? >> Это название задачи. Я имею в виду ID задачи. >> Вы создаете ID задачи, и это хорошо. >> Он создает для вас ID задачи. >> И поэтому у всего есть идентификатор. >> У всего есть идентификатор. И поэтому это уникальное >> предложение Beads заключается в том, что ваш план теперь имеет адрес. Это Google Maps для вашего плана. >> Это здорово. Да. >> Каждая, каждая часть работы, которую вы когда-либо хотите выполнить, >> адресуема. У нее есть метка и заголовок. >> Это отлично подходит для ИИ и людей. Это лучше. >> Это так. Да. >> И вы можете. Теперь, дело в том, что теперь, когда хранилище данных, эта структура данных на месте. >> Люди построили слои поверх нее, такие как веб-интерфейсы, RPC, системы мониторинга для инструментов, чтобы приходить и автоматизировать >> поверх beads уже. >> Да. О, боже мой, люди подключали его к своим собственным рабочим процессам. Люди были очень требовательны, знаете ли, к вещам. Так что мы сделали так, что, например, >> потому что beads смешивает, >> сколько контрибьюторов в основной части вы видели и сколько? >> На сегодняшний день, я полагаю, ему 29 дней, и у него было 28 разных контрибьюторов, или, может быть, 29. >> Приятно, приятно. >> Как PR, которые были слиты. >> Да. Да. Отлично. >> Так что, я имею в виду, это как, и они хардкорные, 29 разных людей, которые поняли видение, хотели интегрировать его со своим собственным рабочим процессом и сделали что-то, чтобы сделать его лучше. >> Очень круто. >> Супер круто, чувак, супер круто. Так что, как бы, бисер — это как открытие. >> Так каковы преимущества, которые вы получаете сейчас, когда вы использовали его, вы построили его и использовали в течение нескольких недель, по сравнению с миром, который вы описали раньше? >> О, боже мой, старый мир. >> Да. Так, я имею в виду, [смех] чувак, это, это как я видел в своем посте в блоге на днях, это как, >> это как бегать с кодами. >> Да. >> Теперь, когда вы бегаете в носках, вы получаете

небольшая защита, и вы получаете большую гибкость. Верно? Но вы бежите в чертовых носках. Вы надеваете обувь, она имеет свое мнение. >> Да. >> Она не подойдет для всех ситуаций. >> Черт возьми, если они не полезны. Ну же. Верно. >> Знаете, и поэтому я имею в виду, серьезно, бусины — это как иметь обувь. И поэтому, когда вы говорите: «Ну, каково это по сравнению с возвращением и бегом в носках?» Вы говорите: «Ну, >> верно. У меня болят ноги». Это как >> потому что у вас больше нет заземления. Бусины — это ваша память от сессии к сессии. работа с кодирующими агентами. Клянусь, это самое клишированное сравнение сейчас, но это >> это «50 первых свиданий». Да. >> Какой замечательный фильм. Вам стоит посмотреть его, если вы еще не видели. >> И э-э, но вы играете в «50 первых свиданий» с агентом, потому что он просыпается и говорит: «Привет, кто ты?» >> Верно. >> Да. >> И все сводится к вашим подсказкам и вашему контексту, а бусины полностью, полностью, как бы заботятся о динамическом аспекте. Вы понимаете? Люди привыкли к статическому подсказыванию, верно? то, что ему приходится делать каждый раз. А как насчет того, что ему приходится делать прямо сейчас и в течение следующего часа? >> Итак, в любом случае, это новое, новое пространство, которое мы обслуживаем. >> Что люди не знают, им нужно знать много. Вы активно не обучаетесь. Это не новый навык, который вам нужно изучить как разработчику. Это ничего. >> Вам нужно знать номера проблем. >> Вам нужно знать, как его установить. По сути, >> вам нужно, вам нужно, вам нужно сказать своему агенту, чтобы он его установил. >> Хорошо. >> Вы можете сказать: найди его на GitHub и установи. >> О, правда? Например, что бы вы на самом деле напечатали, чтобы сделать это? Я имею в виду, я бы сказал: «Хорошо, э-э, давайте перейдем к э-э какому-нибудь проекту». >> Я, я, я сейчас в CodeX. Я попробую это сделать. >> CodeX. Хорошо. Итак, вы можете установить npm, вы можете установить npm beads. >> Хорошо. >> Я полагаю, CodeX может установить npm в ваш контейнер. >> Итак, я [хмыкает] только что напечатал npm install beads, и он работает. >> Это бусины. >> Подготовка к установке пакета бусин. >> Вы сделали @ beads. >> Что? >> @ beads npm install или просто beads? >> npm install beads. >> Я Посмотрим, сработает ли. Я не очень разбираюсь в этих npm штуках, но кажется, он знает, что это такое. Но да, тогда вам просто нужно э-э, тогда самое простое — это фактически запустить bdinit в каталоге вашего проекта. Это фактически позаботится об установке базы данных. >> Круто. >> Или вы можете заставить агента сделать это. Но, черт возьми, с тех пор я знаю людей, которые используют команды бусин. Они говорят: «О, э-э, знаете, я использую то и это». Я говорю: «Зачем?» >> Вы должны разговаривать со своим агентом, засунув руки за голову. Это как бы важная часть. Это как бы, нет, не работайте над этим. Работайте над этим. >> Мне нужно сделать [хмыкает] BD init сейчас. Вот так. >> Так взволнован. >> Вы можете сказать файл. Вы можете сказать, спроектируй мне бла. >> А затем, как только этот дизайн будет завершен, вы можете сказать: сделай мне эпик и дочерние проблемы для него. >> Круто. >> И он будет работать. Работать, работать, работать, работать, работать, и он разделит весь ваш документ дизайна на проблемы, разумно сегментированные так, чтобы их можно было выполнить за один сеанс, что, э-э, не совсем то, что я ожидал, но они хорошо справляются с этим. Я вам говорю. Я вам говорю, это правильно, потому что вот, вот фундаментальное предложение, верно? Я просто убью его, и я просто запущу AMP или Cloud Code, что бы вы ни выбрали, и я скажу: вот оно. >> Что дальше? >> Это очень круто, >> чувак. Это круто. Ну же, чувак. Это круто. Потому что, например, если у вас есть файлы Markdown, они не имеют приоритета. Там определенно нет зависимостей. Как будто нет ссылок между ними. Это не похоже на то, что у вас есть тип Википедии. Вот где плюс, знаете ли, проверки и тестирование и хорошая инфраструктура и >> да, бусины — это далеко не полное решение. >> Нет, но плюс — это проснуться утром и увидеть, что было создано. >> Вы пьете кофе и говорите: чем все занимались? Чувак, для меня это Святой Грааль. И это то, каким будет кодирование в следующем году. И я, если я не буду первым, то я не буду первым. Но я строю систему, которая делает все это для вас. Она сажает самолет. Она взлетает. Просто вся блокировка и борьба. И прекрасная вещь в этом, чувак, это не только для кодирования. >> Это для всей интеллектуальной работы. >> Да. >> Это не имеет значения. Cloud Code может создавать презентации. >> Он может создавать, э-э, любой произвольно сложный артефакт, используя тот же итеративный процесс, верно? >> Так, чувак, это может быть универсальный инструмент. >> Так мощно иметь хорошего агента командной строки для всей этой настройки и настройки в моей среде и с доступом к вещам. Это здорово. Это еще одна вещь, которую нужно развернуть таким образом, чтобы многие люди могли использовать ее на более высоком уровне с мерами предосторожности. Это имеет смысл? >> Да. Да. Нет, это фундаментальная проблема, с которой сталкивается индустрия прямо сейчас. >> Да. Да. >> Э-э, так, э-э, инженеры могут помочь с этим, э-э, у руководителей есть особое слово для этого. Они называют это продуктовым ростом, PLG. >> Ну, на самом деле это означает вроде как подстрекательство. Вы знаете, заставьте армию инженеров просто настаивать, как Kafka попадает в организацию? Apache Kafka или Apache Cassandra или выберите ваше любимое программное обеспечение Apache. >> Руководители не знают, что это такое. Они бы не знали, что такое Apache, верно? >> Оно попадает в организацию, потому что один из их доверенных инженеров говорит: «Черт возьми, нам это нужно». >> Да. >> И вот так это попадает в организацию. Все подобное, их доверенные инженеры смотрят на это и говорят: «Хорошо, я понимаю нашу организацию. Я понимаю, как она может сломаться. Я понимаю, знаете ли, где похоронены тела, что может пойти не так. Я разработаю план с вами, ребята, чтобы развернуть это >> безопасно, но агрессивно». >> Так что мы можем извлечь уроки сейчас и опередить, чтобы наши конкуренты не обошли нас через шесть месяцев, потому что они освоили это раньше нас. >> Мм. Да. Так что как инженер вы буквально можете, если вы используете его и настраиваете его со своей командой, я не говорю конкретно о бусинах или AMP, любом инструменте, любом инструменте вообще, который, по вашему мнению, вы хотите, вы попробовали его дома и думаете, что он улучшит вашу рабочую жизнь. >> Я имею в виду, по сути, ваша компания хочет, чтобы вы были более продуктивны, и [кашляет] они чувствуют напряжение прямо сейчас: безопасность, юридические вопросы, соответствие требованиям и все такое прочее, но >> э-э, они прислушиваются к своим инженерам, и если достаточно инженеров скажут это достаточно громко, тогда, тогда, тогда дела делаются. Вот в чем дело, чувак. Бусины, потому что бусины были разработаны мной и Клодом, верно? >> Клод и я разработали его. >> Э-э, >> это делает агентов очень счастливыми. И многие люди говорили мне, что они шокированы тем, насколько агрессивно агенты принимают бусины для своего рабочего процесса. >> Это спасательный круг для них, потому что они говорят: «О, верно». Потому что они, они, они говорят: «О, я, они держат кучу всего, и они говорят, э-э, мне нужно сделать это, но я знаю об этой проблеме». они подают заявку, и давление снимается. Это клапан сброса давления для них. >> Да. >> Хорошо. И поэтому, что это означает, это оказывается очень, очень легко интегрировать с остальным вашим оборудованием, которое у вас уже есть. Вы можете принести весь свой рабочий процесс, ваши MD-файлы, ваши проблемы GitHub, ваши проблемы Jira, как все, что у вас есть, просто скажите своему агенту, >> втяни все это в бусины. >> Да. >> Да. Круто. И чувак, я вам скажу, это просто работает. Это просто работает. >> Те компании не захотят этого слышать. Но да. >> Да. Я имею в виду, как менеджеры по продуктам не хотят этого слышать. У меня есть, знаете ли, хорошие друзья, которые работают над этой проблемой, и им не нравятся бусины. Они говорят: «Ну, это не совсем соответствует моему представлению о том, как должен быть мир с интеллектуальным планированием сверху вниз». И это как бы, хорошо, но и и одна вещь наверняка, верно, это то, что бусины больше связаны с исполнением, чем с планированием. Да. >> Бусины действительно связаны с прямым. Это оркестровка, вот что это такое. Бусины — это направление, помощь в направлении работников. Теперь я строю более крупную систему. Я хотел бы, чтобы я мог показать ее вам. Мы не говорили об этом, но э-э >> она называется Vibe Coder или VC. Она написана на Go. Сейчас в ней около 85 000 строк кода. Бусины вышли из нее, >> как бы ответвились от нее, знаете ли, >> но она использует бусины в качестве базового слоя. >> Мм. >> И затем она запускает рабочих, и делает то, что я говорил. Она автоматизирует книгу, которую мы с Джином написали, знаете ли, >> так что э-э, она делает то, что я говорил, сажает самолет. Она делает оптимизацию затрат. Она делает повторные попытки. Это самовосстанавливающаяся колония агентов, вот что это такое. Интересно. >> И я считаю, что это форм-фактор следующего года. >> Как вы справляетесь с конфликтующей работой, которая выполняется параллельно разными вещами, которые >> которые идут своим путем? Знаете, мы все сталкивались с этим просто в современном мире многовкладочного кода. >> Да. Так что вопрос, который вы на самом деле задаете, я имею в виду, есть несколько способов ответить на него, но вопрос, корень его в том, >> что происходит, когда кодирование больше не является узким местом, потому что тогда проверка кода, слияние и CI очень быстро становятся узким местом. >> Так что объем проверки кода безумен даже для мелочей, которые вы теперь можете сделать. Вы теперь можете позаботиться обо всех своих мелких проблемах за час, верно? >> Но кто будет их все проверять, верно? И это не может быть выпущено, если они этого не сделают. Так что это огромное узкое место. Очевидно, решение — не делать это с людьми, но >> да, так что решение прямо сейчас — это Graphite. Я имею в виду, как у AMP есть действительно крутой инструмент проверки кода, действительно крутой, если вы случайно используете AMP, и есть и другие, но тот, >> как работает Graphite для >> тот, который я видел и который меня больше всего впечатлил, — это Graphite. >> Хорошо. Как он работает? >> Ну, я не знаю, как он работает, но они провели презентацию, где они занимаются проверкой кода с помощью ИИ с тех пор, как вышел GPT3.5. >> О да. >> Так что они сказали: «О, это будет проблема». Я имею в виду, они далеко впереди игры. >> И поэтому уже 3 года они работают над >> действительно тонкими нюансами, такими как >> будет ли формулировка ИИ вас раздражать? >> Да. >> Верно. Да. >> Например, знаете ли, как это доброкачественно? Это, знаете ли, это, знаете ли, это, знаете ли, это ложно? Знаете ли, потому что вы можете быстро потерять доверие к ИИ-рецензенту и сказать: «Я не >> Но, чувак, они справились, насколько я могу судить, довольно хорошо. Круто. >> И поэтому вы можете получить около 80-90% этой человеческой рабочей нагрузки, переложив ее. >> Создает ли кто-нибудь интерфейсы для бусин, например, веб и голос или что-нибудь еще? Push-уведомления. >> Э-э, я не знаю, забавно то, что это начинает, как будто я чувствую, что это почти, знаете ли, кембрийский взрыв. >> Четыре недели, Стив, где этого не было? Забавно то, что я чувствую, как будто у нас был этот большой океанский суп, а бусины были как комок, как аминокислоты, и я думаю, что он начинает слипаться с другими, потому что этот сервер MCP может на самом деле потенциально быть важным, как вы всегда используете их вместе. >> И тогда, возможно, придет еще один, и мы можем фактически собрать этот рабочий процесс как эту франкенштейновскую вещь. Это может случиться, верно? Как будто он может эволюционировать, а не быть спроектированным. >> Да, я согласен. [хмыкает] >> Я не знаю. Это как бы то, чем являются эти LLM в первую очередь, это как бы, они также делают кучу вещей, которым мы их не учили. >> Они вышли из Google Translate, вы знаете это, верно? >> Да. >> Так что, когда у вас есть системы, которые фундаментально на базовом уровне делают вещи, которые вы не проектировали, делаете то, что вы не предсказывали, а затем вам приходится обнаруживать эти вещи. >> Возникающее поведение. >> Это приведет к возникновению систем, которые создаются. Так что это здорово. >> Это так. Итак, в любом случае, я надеюсь, люди, я имею в виду, посмотрите, вы можете делать UI-работу с этими вещами. Да. >> Мне нравится ваша идея сервера MCP видео, я думаю, что это будет важный >> э-э, но я фактически исправил функцию за скромные 14 долларов, пока мы [смех] болтали. >> Сколько девелоперской работы в старом мире я бы потратил в зарплатных долларах? >> Кто знает, чувак. Это как бы, это не дешево. Это не дешево, поэтому вы действительно хотите AMP с рекламой. >> Да. >> Нет, я имею в виду, 14 долларов против трудовых долларов, которые это было бы, если бы вы боролись с этим неделю или сколько бы это стоило. >> Это, вероятно, дешевле. Это действительно дешево, знаете ли, но это действительно отрезвляет, когда вы видите, что одна маленькая функция стоила 14 долларов, и теперь все дело будет стоить тысячи, верно? >> По той же причине, это никогда не было бы сделано. Я бы просто никогда этого не сделал, если бы не это. Так что, для меня компромиссы того стоят. >> Да. Очень круто. >> Мне очень нравятся бусины. Это круто. Я собираюсь внедрить их в свой рабочий процесс и >> э-э, сообщать и, возможно, вносить свой вклад. >> Приятно. >> Да. Очень круто. Есть ли что-нибудь еще, что мы хотели обсудить? Нет, я в порядке. >> Спасибо, Стив. Было очень здорово посидеть и э-э, да, погрузиться в то, над чем вы работаете. Это действительно круто. >> Да. Нет, спасибо, что позволили мне показать эти вещи, чувак. Это было очень весело. >> Спасибо. >> Ура.