📱

Get Our Mobile App

Take your business learning on the go!

Download on the App StoreGet it on Google Play

Devin’s 80% Moment: Background Agents, 7x PRs, & End of Hand-Held Coding — Walden Yan & Cole Murray

Latent Space1:09:33

Transcription

Когда люди думают о способности ИИ управлять вашим приложением и тестировать его, я думаю, они на самом деле переоценивают часть, связанную с использованием компьютера, потому что использование компьютера, по моему мнению, — это буквально, хорошо, вы хотите, знаете ли, кнопку, вы хотите нажать, можете ли вы выдать правильные координаты, чтобы нажать эту кнопку. Я думаю, что тестирование на самом деле является очень интересной проблемой, требующей решения, для этих ИИ, потому что если бы вы хотели проводить произвольное тестирование, например, представьте, что вы вносите изменение, которое охватывает фронтенд и бэкенд, чтобы фактически протестировать это изменение, мы должны рассуждать о том, как вы сначала запускаете эти приложения, чтобы оркестрировать их друг с другом с правильной версией кода, затем, хорошо, как я запускаю функцию или как я заставляю эту вещь фактически произойти, именно здесь мы проводим большую часть нашего времени, прежде чем перейти к сегодняшнему выпуску, у меня есть небольшое сообщение для слушателей. Спасибо. Мы не смогли бы предоставить вам контент об инженерии, науке и развлечениях в области ИИ, который вы так явно хотите, если бы вы не решили также нажать и настроиться на наш контент. На нас выходили спонсоры почти ежедневно. Но, к счастью, достаточно из вас подписались на нас, чтобы поддерживать все это устойчивым без рекламы, и мы хотим сохранить это. Но у меня есть одна просьба ко всем вам. Единственное самое мощное, совершенно бесплатное действие, которое вы можете предпринять, — это нажать кнопку подписки. Это единственное, о чем я вас когда-либо попрошу. И это абсолютно все для меня и моей команды, которая так усердно работает, чтобы каждую неделю приносить вам Inspace. Если вы это сделаете, я обещаю, мы никогда не перестанем работать над тем, чтобы сделать шоу еще лучше. Итак, приступим. Хорошо, мы в студии с Уолденом Йеном, соучредителем, CPO. >> Да. >> Что является классным титулом. Да. И >> одним из создателей контекстной инженерии. Да. Да. Хотя я думаю, что многие люди использовали эти термины по-разному и раньше. Но я обнаружил, что людям как внутри, так и снаружи понравился переход от инженерии шрифтов или, знаете ли, обертывания моделей к, возможно, более продуманному способу создания агентов. >> Да. Для тех, кто не в курсе, у меня на экране пост «Не создавайте мультиагентов», который вам следует прочитать, и мы можем на него ссылаться. И Коул Мюррей, который создал Open Inspect. >> Приятно быть здесь. Хорошо, давайте поговорим об этом. Все создают своих собственных Devins. >> Что происходит? >> Да, я думаю, инженерный мир просыпается к этой идее фоновых агентов, облачных агентов, как бы вы их ни называли. И я думаю, мы увидели сдвиг примерно в декабре 2025 года, когда модели Opus 4.5 и GPT 5.2 достигли такой степени возможностей, что мы отошли от того, чтобы направлять модель, и смогли более или менее автономно управлять моделью. И под этим я подразумеваю, что мы могли бы практически перейти от спецификации к завершенному pull request, предполагая, что спецификация была достаточно хорошей, с очень небольшим трением. И одна только эта парадигма, я думаю, сильно изменила то, как мы взаимодействуем с агентами, и открыла мир, где фоновые агенты стали более практичными. >> Я думаю, что для Коула все испытали это в декабре, но я чувствую, что был просто этот нарастающий подъем, верно? Как будто был этот момент, который, я думаю, был Sonnet 3.7, когда вы переписали Devon за одну ночь или что-то в этом роде. >> Да. Да. Да. Так опишите 2025 год или, знаете ли, как это ощущалось с вашей стороны. >> Оглядываясь назад, мы всегда думали, что это нарастает, но даже сейчас за последние 3-4 месяца с сегодняшнего дня мы видим, что оно нарастает еще быстрее. Так что почти смешно говорить о том, насколько большим скачком был Sonnet 3.7, и мы, честно говоря, многое из этого было связано с удалением частей Devon, которые больше не были нужны с этим скачком интеллекта. Но я также думаю, что многие недавние скачки, особенно если вы посмотрите на такие модели, как Opus и последние модели GPT, они достигают такого уровня автономии, что люди фактически борются с тем, что они фактически не могут просто быть пассивными, и люди, которые когда-то спорили, нужно ли мне быть в деталях с моей моделью в IDE, могу ли я просто полностью перенести ее в облако, это более серьезный разговор, и мы видели это во всех наших графиках роста внутри компании. Есть забавная диаграмма, где наше использование PR или наших объединенных PR выросло в 7 раз с тех пор, как я, я не помню >> Я думаю, Дэйв, возможно, написал об этом. Да. >> Да. >> Оно выросло примерно в 7 раз за последние, я думаю, 2 месяца, 3 месяца, что-то в этом роде. А затем вы видите рост численности нашего инженерного персонала. Он вырос примерно на 10% или что-то в этом роде. >> Мы боялись это выпустить. Итак, это проценты коммитов Devon по всем репозиториям Devon, 16% в январе и теперь 80% в марте. >> Да, это большой сдвиг прямо сейчас. И поэтому имеет смысл, что многие люди сейчас думают о том, чтобы купить Devon, но также, возможно, пытаются создать свои собственные, и есть много, мне очень нравится создавать Devon, поэтому я могу понять, почему другие люди захотят создавать свои собственные облачные агенты. Да. >> Ну, может быть, хорошо услышать, что изначально вдохновило вас на попытку создать Open Inspect. >> Да, Open Inspect появился в основном благодаря тому, что мои клиенты наблюдали, как они использовали такие инструменты, как Cloud Web, CodeX от OpenAI в то время, и видели некоторые трудности, с которыми они сталкивались. В основном Cloud Web использовался через Slack, и большая проблема, с которой они столкнулись, заключалась в том, что запущенные сеансы были специфичны для того, кто их вызывал через Slack, и поэтому, если PM был тем, кто инициировал сеанс, а затем они передавали контекст инженерам, инженеры не могли видеть сеанс, и это само по себе было своего рода стоппером, потому что PM говорил: «Инженеры, можете ли вы вмешаться», но не было ничего, во что можно было бы вмешаться, если только они не копировали и не вставляли или, знаете ли, единственный ответ, который пришел. И, увидев некоторые из этих проблем, я построил аналогичную архитектуру внутри компании, просто чтобы поэкспериментировать, чтобы опробовать различные идеи, поскольку эта тенденция к уходу от localhost начинала набирать обороты, и когда RAMP выпустил свой пост в блоге, у меня уже были готовы многие части для этого. И я просто подумал, что было бы забавно посмотреть, на что способен Claude, просто основываясь на посте в блоге, и в моем аккаунте X есть фактически поток, где я в прямом эфире твитил, проходя через это. >> Ого. >> Сравнивая GPT и Claude, поскольку оба проходят через это. >> Как в объявлении или что-то еще. >> Сразу после его выпуска. Хорошо. >> Мы можем добавить это в заметки к выпуску. >> Да. >> Было полезно, что я уже знал, как проверить систему. Я знал, что ищу. Я думаю, RAMP проделал отличную работу, действительно проиллюстрировав технические аспекты того, как построить что-то. Это было гораздо больше, чем просто «мы построили отличную систему». Это было «и вот как вы можете построить ее тоже». И поэтому я очень сопереживал этому, учитывая проблемы, которые я уже видел. И я подумал, что, оглядевшись, я не увидел ничего в сообществе с открытым исходным кодом, что соответствовало бы такому типу системы. Я думаю, есть много, которые работают локально, таких как Superset, Conductor и многие другие, но ничего, что фактически работало бы в облаке, и поэтому я построил это, и я подумал, что было бы интересно просто открыть это и позволить любому иметь основу, на которой они могут смешивать и сочетать. >> Так буквально после запуска Devon был Open Devon, который стал All Hands. Я не знаю, пробовали ли вы это или >> Да. Ну, я хотел сказать, что одна из вещей, которая меня очень заинтересовала в Open Inspect, заключается в том, что вы не пытались монетизировать его. >> Есть много, я думаю, эти проекты с открытым исходным кодом затем действительно пытаются привлечь внимание. >> Да. И как вы об этом думали? Мне это показалось очень интересным. Мне показалось, и, основываясь на том, что я видел у своих клиентов, что система фоновых агентов станет критически важной инфраструктурой в их компании. И поэтому, из-за этого, я думаю, я хотел открыть это, чтобы они могли форкнуть его и внести любые желаемые настройки. >> Но на этот вопрос мне постоянно задают: «О, вы собираетесь привлекать средства, вы собираетесь превратить это в сервис?» >> Я уверен, что вы получали предложения. Но в основном я не хочу этого делать по нескольким причинам. Во-первых, я думаю, что я не хочу конкурировать за 20 долларов за место. Я думаю, что это очень сложный бизнес. Я думаю, очень легко скопировать основные части. Я имею в виду, опять же, я построил это довольно быстро, и я думаю, что поскольку вы не владеете, я полагаю, всем стеком, трудно монетизировать. Деньги зарабатываются на уровне песочницы с Daytona, E2B, многими другими игроками. Деньги зарабатываются на уровне модели. И вы сидите в этой странной промежуточной серой зоне, где что вы на самом деле продаете? Вы продаете, я полагаю, инфраструктуру. Вы продаете интеграции, возможно. >> Давайте спросим парня, что вы продаете? >> Ну, да, на практике есть несколько уровней. И на самом деле, забавно, что вы упомянули инфраструктуру, потому что когда мы начали строить Devon, мы тоже должны были разобраться, как создать инфраструктуру. >> Вам пришлось построить это за два года до всех остальных, знаете ли. >> Да, именно. И включая сторону, это не было очень отполировано в начале, когда мы просто построили это на сырых ВМ от облачных провайдеров, таких как EC2, время загрузки было очень медленным, я думаю. И особенно затем, когда выключаешь машины, сохраняешь их, а затем можешь вернуть их снова, когда хочешь, чтобы Devon снова проснулся позже. Он просто был бы холодным в течение 10 минут, потому что именно столько времени занимали эти системы. Они не были построены для такого повторяющегося использования при выключении и включении. И поэтому нам пришлось сделать все это. И в результате, теперь одна вещь, которую мы предлагаем, когда мы продаем Devon людям, это, знаете ли, вам не нужно беспокоиться обо всей вычислительной стороне вещей. Мы сделаем так, чтобы это работало. Мы сделаем так, чтобы это работало в вашем облаке, если вы этого хотите. Но помимо продукта, и я хочу перейти к агентам и настройке интеллекта позже, но я думаю, что большая часть того, что мы делаем в Cognition, это просто убедиться, что ваша компания учится, использует и внедряет этих кодирующих агентов, потому что я думаю, что особенно для крупнейших предприятий в мире, вы обнаружите, что есть много людей, которые хотят перейти к использованию ИИ для своей повседневной работы. Но из-за того, как планируются проекты, потому что не все грамотны в использовании ИИ таким образом, наличие команды инженеров, которые могут фактически войти и провести вас, настроить все необходимые интеграции, автоматизации, чтобы действительно достичь этого уровня, знаете ли, использования ИИ, очень полезно. И поэтому >> в общей сложности >> мы делаем это. Мы выступаем в качестве партнеров по мышлению для клиентов, с которыми мы работаем. Итак, давайте поговорим об архитектурных вещах. Я думаю, это всегда было темой разговора между вами двумя. Это своего рода ментальная модель, с которой вы хотите начать, или что-то еще? Я, я, я просто оставлю вам слово. >> Да, я думаю, что, возможно, мы можем начать с общего обзора того, из чего состоят компоненты системы фоновых агентов, а затем, возможно, мы перейдем к некоторым нюансам решений, которые вы можете принять. Но я также думаю, что, возможно, то, что говорит Уолден, это то, что агент находится как бы в этой открытой коробке кода, я полагаю. >> Правильно, это инфраструктура, а затем есть, это агент, и у вас был этот разговор о том, поместить ли агента сюда или снаружи. Можете ли вы как-нибудь разъяснить это? >> Да, в системах фоновых агентов вам нужно принять решение о том, где агент фактически будет работать. Это обычно описывается как «корзина в коробке» или «вне коробки». >> Да. Запуская агента в коробке. Вы идете на некоторые компромиссы, делая это. Негативный компромисс, который вы делаете, — это в основном безопасность, потому что агент работает в этой коробке. Если вы не спроектируете его иначе, все ваши секреты также должны попасть в эту коробку. И учитывая природу ИИ, он может быть непредсказуемым, и вы можете очень легко случайно раскрыть свои секреты или другое непреднамеренное поведение. Теперь «вне коробки» — это идея, что у нас будет фактически работающий агент, не напрямую в песочнице, и у нас будет «мозг» агента, работающий в каком-то рабочем узле управления. Эта песочница затем будет служить руками, где мозг фактически работает и совершает вызовы инструментов в эту среду для ее манипулирования. Я полагаю, другой компромисс, который вы делаете между двумя системами, заключается в том, что, на мой взгляд, запуск вне коробки намного сложнее, потому что вам нужно управлять состоянием, тогда как если вы запускаете его в коробке, все состояние этого агента фактически находится в коробке, и да, вы можете сохранить его где-то еще, но все это как бы локализовано, и у вас меньше проблем, о которых нужно беспокоиться. Я думаю, многое из того, что вы упомянули, является причиной того, что мы фактически с самого начала создали Devon, чтобы мы называли это «отделением мозга от машины». >> Другое, что это позволяет вам сделать, — это повторно использовать любую существующую инфраструктуру, которую вы имеете для dev-боксов, возможно. >> И поэтому вам не нужно так сильно беспокоиться о создании нового типа dev-бокса, который имеет все зависимости, необходимые мозгу, как вы упомянули, секреты, необходимые мозгу. Как мы видели, некоторые клиенты сталкиваются с проблемой: у вас есть приложение GitHub, и вы хотите, чтобы Devon, ваш агент, что угодно, мог взаимодействовать с GitHub через это приложение, но затем у вас есть разные пользователи с разными фактическими разрешениями. Если они все взаимодействуют через одно и то же приложение GitHub, и нет фактического разделения между системой, которая решает, что она делает, и фактическими секретами на машине, тогда вы сталкиваетесь с проблемой, когда хорошо, разделение трудно осуществить, но на практике с Devon это намного проще, потому что мы просто говорим, что все, что вы помещаете на машину, это как бы область того, что пользователь может делать, что агент может делать, поэтому помещайте на машину только самые необходимые секреты, а затем мозг полностью недоступен с машины. Так что вам не нужно беспокоиться о том, чтобы вмешиваться в самые безопасные части мозга, если пользователь может делать все, что хочет с машиной. Я собирался просто привести, у меня есть эта диаграмма от Open, где я не знаю, находится ли это в коробке или вне коробки, это то, что они используют для описания. И также недавно Enthropic выпустил управляемые агенты, это их штука. >> Я не знаю, это все вариации одного и того же шаблона, верно? >> Да. Так это было бы вне коробки. >> Да. >> Что, как бы, предпочтительнее для них, потому что это меньше работы. >> Я бы сказал, что это больше работы, но, на мой взгляд, это лучшая архитектура из двух. Хорошо. >> Это просто, вы берете на себя немного сложности, делая это. Одна вещь, которую я не видел, чтобы другие игроки делали хорошо, — это как управлять тем, что фактически находится в коробке? И это может быть сложно по многим причинам. Например, у вас есть большой репозиторий, который часто меняется и обновляется с меняющимися зависимостями. Как вы можете гарантировать, что рабочая среда агента остается актуальной, имеет все необходимые учетные данные, скажем, для запуска приложения и его тестирования, всего того, что вы хотите от своего автономного репозитория? >> Да, именно. Так, внутри Cognition, мы называем это настройкой репозитория. Самая сложная часть — это постоянная проблема с самого начала компании: как мы помогаем людям настроить это, потому что не у всех просто есть, знаете ли, рабочие облачные среды, работающие из коробки, и вы находите это распространенной проблемой среди ваших клиентов? >> Да, это очень распространенная проблема, и через мое консультирование я помогаю командам делать именно это. Многие команды не имеют хороших настроек среды разработчика, если вообще имеют. В большинстве случаев нужно поговорить с Бобом и получить секреты, и это, очевидно, не работает, когда агенту нужно фактически настроить это. И поэтому большинство команд используют Docker Compose или какой-то тип микросервисов. И поэтому >> в продакшене >> не в продакшене, как с Open Inspect, вы используете это в основном для взаимодействия и внесения изменений в код. Есть и другие варианты использования, но вы можете подключить это через CLI, MCP, другие инструменты, а затем подключить это к своим производственным системам, в основном для использования типа S sur, но вы не обязательно пытаетесь тестировать свой внутренний продакшн микросервис через эту систему. Да, и вы упомянули Docker Compose. Я думаю, одно из направлений, которое мы видели, как некоторые наши друзья выбрали на ранних этапах, было использование контейнеров Docker как уровня абстракции для наших моделей. Есть много причин, почему Docker-контейнеры не очень хороши. Одна из причин — Docker-контейнеры на самом деле не являются настоящей границей безопасности. Но другая — если вы запускаете реальные приложения, часто эти приложения используют Docker, и тогда вам приходится думать о Docker в Docker, что действительно странно. >> Да. И поэтому я думаю, что часть действительно сложной задачи по заставке ВМ работать, почему мы это сделали? Ну, потому что мы поняли, что вам на самом деле нужны полные ВМ, чтобы иметь возможность делать такие вещи. И особенно в наши дни, когда есть реальная ценность в запуске приложения и кликах вокруг и отправке вам видеозаписей этих вещей, ценность просто продолжает накапливаться. Но это решение, я вижу, что люди сталкиваются, когда пытаются построить свои собственные системы: о, как мы, в дополнение к этому, поместим агента в машину или вне машины? Будем ли мы использовать Docker? Будем ли мы использовать что-то еще? Что вы рекомендуете людям сейчас? >> Я думаю, Docker — это хорошее решение, возможно, не для запуска агента, а для запуска вашей инфраструктуры, потому что это более или менее та же настройка, которую ваши инженеры, вероятно, уже используют. Если нет, то я не знаю, что они используют, но они, вероятно, уже используют Docker Compose. >> Да, я всегда питал небольшую надежду на веб-контейнеры. Я не знаю, пробовали ли вы их раньше. Для меня они должны были быть вроде Docker Lite. >> Нет, я не пробовал. >> Но да, я думаю, любая среда, которую вы настроили, которая является хорошим опытом для вашего разработчика, естественно, легко настраивается для агента. И как только вы поймете эту локальную историю разработчика, вы, более или менее, решили проблему настройки агента в песочнице. Open Inspect также имеет хуки, где вы можете запустить скрипт setup.sh, который предварительно установит все. Вы можете затем предварительно сделать снимок этой сборки, чтобы она запускалась мгновенно, а затем есть второй хук, чтобы фактически восстановить состояние песочницы, когда она вернется. И поэтому у вас уже могут работать все эти микросервисы и, по сути, получить тот же опыт, что и на вашей машине, в песочнице. >> Еще одна вещь, о которой мы много думали, — это различные предложения услуг ВМ. Были ли у вас клиенты, которым нужны были ВМ, специфичные для Mac OS или Windows? >> Пока нет. >> Есть много технологий в мире, которые работают только на определенных типах машин, верно? Если вы создаете приложение, которое должно работать на Windows, или, возможно, чаще, если вы хотите создавать приложения для iOS или Mac OS. >> Поддержка разрешений >> варианты, подобные этим. >> Фундаментальная архитектура, которую мы делаем, потому что мы делаем разделение, поддерживает это, но фактическая работа над этим происходит прямо сейчас. Еще одна вещь, которую мы фактически недавно добавили поддержку, она находится в бета-версии, это разработка под Android. Для этого нам пришлось поддержать, я думаю, вложенную виртуализацию внутри наших машин, потому что сама ВМ — это виртуализированный экземпляр Firecracker, а затем вам нужно запустить еще один эмулятор Android внутри. И знаете, есть странные проблемы с производительностью, которые, знаете ли, поэтому это все еще в бета-версии. Нам приходится продумывать эти проблемы, но это открывает много возможностей для всех, кто хочет заниматься разработкой под Android. >> Я пытался найти видео-справочник по тестированию. Я не смог его найти, но я думаю, вы работали над возможностью тестирования. Почему вы называете это тестированием, а не, скажем, использованием компьютера или, я не знаю, что это за общая категория проблем? >> Я думаю, что когда люди думают о способности ИИ запускать ваше приложение и тестировать его, я думаю, что они на самом деле переоценивают часть, связанную с использованием компьютера, потому что использование компьютера, по моему мнению, — это буквально, хорошо, вы хотите, знаете ли, кнопку, вы хотите нажать, можете ли вы выдать правильные координаты, чтобы нажать эту кнопку. Я думаю, что тестирование на самом деле является очень интересной >> как решение проблем. Да. >> Вызов для этих ИИ, потому что если бы вы хотели провести произвольное тестирование, например, представьте, что вы вносите изменение, которое охватывает фронтенд и бэкенд, возможно, даже какой-то другой, даже более глубоко вложенный сервис. Чтобы фактически протестировать это изменение, мы должны рассуждать о том, как вы сначала запускаете эти приложения, чтобы оркестрировать их друг с другом с правильной версией кода. Затем, хорошо, как я запускаю функцию или как я заставляю эту вещь фактически произойти? И это может стать произвольно сложным, возможно, вам придется быть администратором, возможно, определенная вещь должна быть включена через feature flag, возможно, вам придется запустить два сеанса, а затем отправить очень специфическое слово в один из них, чтобы вызвать определенное поведение. И выяснение того, как это сделать, требует большого контекста кодовой базы, требует большой оркестрации, которую мы специально сделали, и в некоторых случаях мы обнаружили, что фактически ни одна передовая модель не может выполнить эту сквозную задачу самостоятельно. Мы видели случаи, когда нам приходилось оркестрировать разные передовые модели вместе, чтобы решить эту проблему. >> Именно здесь мы проводим большую часть времени, когда думаем об этой проблеме тестирования. Не столько часть использования компьютера. Использование компьютера, насколько это возможно, значительно улучшилось с помощью последних моделей, и это, безусловно, облегчило эту часть работы. Да, особенно с такими вещами, как даже 47, которые они выпустили вчера, видимо, намного лучше в плане визуальных эффектов, которые будут охватывать использование компьютера. Наличие оценок для всего этого также занимает время для создания. И правильная оценка — это тоже сложно. Видите ли вы, как клиенты, которые создают своих собственных агентов, должны начинать создавать оценки, чтобы убедиться, что вещи не регрессируют? Не столько оценка в традиционном смысле, сколько конкретно для части тестирования, которая только что была добавлена. Я только что добавил поддержку скриншотов, и теоретически вы также можете делать видео. Мне нужно установить плагин для этого. Но они фактически появляются нативно, и это была очень востребованная функция, особенно после того, как вышло запись курсора. Я думаю, это было очень познавательно для всех: о, это очень хорошая функция, которую действительно стоит иметь. Я думаю, с Devon у вас это было давно. Да, >> первым. Да. >> О, да, я вижу, как работают скриншоты. >> Да. >> Я не знаю, есть ли что-то супер неочевидное. Это как бы, как только вы знаете, какую функцию нужно создать, вы можете просто вызвать ее, и она, скорее всего, сработает. >> Я думаю, что, как сказал Уолден, использование компьютера является подмножеством более крупной проблемы тестирования. И я думаю, что это очень специфично для кодовой базы, над которой вы работаете. Это не то, что вы можете просто решить из коробки. Вам нужен контекст кодовой базы, чтобы фактически знать, как ее тестировать. И я думаю, что в случае системы фоновых агентов у вас, к счастью, есть эта кодовая база локально, вы знаете, что меняется, и можете затем проанализировать ее и использовать это для управления моделью. >> Да. Да. Для тех, кто раньше не видел, вот пример того, как это работает. Например, после завершения PR вы нажимаете «Тестирование одобрено», и он возвращает вам видео. Что мне действительно нравится, так это то, что он маркирует, он очень маленький здесь, но он фактически маркирует, что он тестирует. И затем вы фактически видите курсор и все остальное. >> Так что я не знаю, как бы, да, инженерия в этом, просто все, что вы хотите показать, потому что это как бы, знаете ли, это один из тех моментов, когда вы чувствуете AGI, потому что >> как только я смотрю на это, я на самом деле хочу, чтобы я мог просто объединить в Slack, а не идти в GitHub, потому что мне не нужно видеть код. Я знаю, что это работает. Может быть, новая функция в будущем. >> Да. Аннотации внизу также были для меня большим отличием, когда я их добавил. >> Да. Это просто, что я смотрю? Что вы пытаетесь продемонстрировать? >> Именно. Есть удивительно длинный хвост мелких деталей, которые в конечном итоге имеют большое значение для этого конечного показателя, насколько быстро вы фактически объединяете код. Один опыт, который мы долго настраивали на ранних этапах, — это то, каким должен быть правильный опыт на GitHub для этих инструментов. >> Конечно. >> Потому что я думаю, что большинство инструментов, когда вы создаете агента, вы думаете: о, он создаст PR для вас. Мы попытались пойти дальше и сказать: о, а что, если мы фактически убедимся, что вы можете взаимодействовать с Devon напрямую на GitHub? И поэтому мы убедились, что вы можете комментировать на GitHub, и Devon фактически получит эти комментарии и ответит на них. Но на самом деле требуется довольно много настройки, потому что вы можете представить, что на самом деле, мы недавно сделали обзор Devon, например. Devon review публикует комментарии к своему собственному PR, а затем Devon должен затем >> он отвечает на свои собственные комментарии, что действительно очень зациклено. Так что, да, мне нравится, что он просто обновляется здесь, что я прокомментировал, но обычно это просто я говорю: «Эй, объедини, исправь любые конфликты слияния». >> Да, когда Дэн исправляет свои собственные комментарии, вы можете испугаться, что, возможно, вы попадете в бесконечный цикл, но мы приложили много усилий, чтобы убедиться, что этого не произойдет, как за счет обеспечения того, чтобы комментарии были высокосигнальными, так и за счет того, что агент вдумчиво относится к тому, какие комментарии он пытается исправить, а какие комментарии он говорит: «Подождите секунду, я думаю, вы ошибаетесь». На самом деле, один из моих любимых моментов — это когда Devon говорит мне, что я не прав, когда я пытаюсь заставить его сделать что-то другое. Да. >> Но настройка этого поведения на самом деле имеет большое значение для того, насколько полезен фактический опыт GitHub. >> Да. Да. Я думаю, что, коснувшись этого, я думаю, что наличие ИИ-рецензента, интегрированного в систему, является критически важной частью этой фоновой системы. Open Inspect имеет это. Он имеет GitHub code reviewer, которым вы можете управлять. Он также делает комментарии. Он еще не делает их автоматически. Возможность есть, но она не полностью >> так что вам нужно попросить об этом. >> Да, вы можете пометить его на GitHub, и тогда, как бы вы ни назвали своего бота GitHub, он затем последует за ним. Он затем, если у вас есть конфликты слияния или что-либо еще, что вы попросили его разрешить, он затем разрешит это, но он еще не делает этого автоматически. >> Ну, мне интересно, что является наиболее распространенным запросом, который люди в конечном итоге запрашивают, что им все еще нужно поверх Open Inspect, когда вы помогаете им внедрить его. Я думаю, большая часть сводится к фактической интеграции в компанию. Одно дело — иметь настроенную систему фоновых агентов, но если она фактически не интегрирована в вашу более крупную экосистему, она не очень полезна. Я имею в виду, полезно иметь возможность запускать сеансы, но то, что мы действительно хотим иметь возможность делать, — это подключать ее ко всем нашим другим системам, будь то производственная база данных с правами только для чтения, журналы, Confluence или внутренняя система знаний. Я думаю, именно здесь я вижу огромный скачок для компаний, и это может быть проблемой для компаний, которые, возможно, не знакомы с тем, как именно к этому подойти. Особенно если они находятся в средах с большим количеством соответствия, где контроль доступа может быть очень важен, и как вы сознательно думаете об этих проблемах, я считаю, что это одна из проблем, которая возникает с такой системой. Да, то, что мы обнаружили, это то, что MCP, очевидно, был действительно большим взрывом, о, вы можете интегрировать его со всеми этими различными вещами. Но чтобы фактически получить правильную интеграцию и правильный опыт, часто мы обнаруживали, что нам приходилось создавать свои собственные специальные вещи. Я думаю, Slack — отличный пример этого: вы можете дать своему агенту Slack MCP, и хорошо, вы можете отправить сообщение обратно вам в Slack. Но мы фактически используем Devon как коллегу в Slack, и именно так он был построен с нуля. Но чтобы сделать это, вам фактически нужно поддерживать веб-хуки, которые возвращаются, верно? И затем Devon должен отвечать естественным образом, и затем, надеюсь, не спамить ваши ветки слишком сильно и не раздражать людей в вашей компании. Так что вам нужно настроить этот опыт правильно. Особенно когда есть много обменов, как мы обнаруживаем, что нам фактически пришлось выйти за рамки простых интеграций MCP в этих местах. >> Я только что открыл рынок MCP. Я знаю, что это немалая работа. Я имею в виду, является ли ответом в конечном итоге взять на себя первоначальный контроль над всеми основными MCP? Это то? >> Я хотел бы мир, где у вас может быть что-то более выразительное, чем MCP, которое как бы идет в обоих направлениях: не просто набор инструментов, а полноценная система, которая взаимодействует обратно и позволяет ей иметь правильный опыт со всеми этими интерфейсами. >> Так что на самом деле есть выборка в спецификации MCP, но никто ее не использует. >> Правильно. И поэтому я думаю, что это другая часть: фактически, мы обнаружили, что когда спецификация MCP становится слишком сложной, она начинает терять свое первоначальное обещание быть простым одношаговым подключением, теперь нам пришлось разбираться, как поддерживать все эти различные вариации вещей, и это начинает выглядеть очень похоже на создание собственных интеграций во многих случаях. >> Да. Я думаю, важно также, насколько это критично для вашей компании, верно? Если это то, через что проходит почти каждый сеанс, вероятно, имеет смысл владеть этим, чтобы вы могли оптимизировать его. >> По сравнению с тем, что есть в наличии. >> Да. Отлично. Другие MCP, что еще? Простите. Ну, я не знаю, не слишком ли мы сужаем фокус на интеграциях, но что еще, какие еще элементы создания Open Inspect или Devon, на которых вы действительно сосредоточились? Да, я думаю, что часто возникает проблема, связанная с идеей памяти или базы знаний. >> О, боже. >> Да. Как вы это решаете? >> Короткий ответ: пока не решено. Это то, над чем есть открытый вопрос. Кто-то спрашивает об этом. >> Хорошо, я, я Dwiki еще ничего не индексировал о памяти. >> Как я вижу, что это решается у моих клиентов, в основном через навыки. Я считаю, что навыки могут быть хорошим пробелом в этом или обновлением облачного MD, но я думаю, что память в целом — это довольно нерешенная проблема, и именно поэтому я был несколько нерешителен в ее добавлении. Я думаю, есть части памяти, которые можно решить. Но я думаю, что в целом это очень сложная проблема извлечения. >> О боже, RAMP ничего не написал о памяти. Я вижу ноль результатов поиска. Нет, память может быть довольно сложной, чтобы сделать ее правильно, потому что это извлечение, а также генерация воспоминаний, что может быть действительно сложным, вы не хотите, чтобы она была очень специфичной. >> Расскажите нам о пути памяти Devon, потому что я знаю, что был путь. >> Первая версия памяти, которая продержалась довольно долго, — это система, которую мы называем Knowledge. И идея заключалась в том, чтобы она собирала вещи со временем и не требовала от пользователя проактивно обучать Devon вещам. Так, хорошо, всякий раз, когда вы напоминаете Devon, подождите, нет, это не совсем то, как вы должны использовать get, как, мы на самом деле хотим, чтобы Devon сказал: «Эй, ты хочешь, чтобы я запомнил это на будущее?» И чтобы вы просто быстро одобрили или отклонили, и чтобы это накапливалось со временем, потому что я нахожу, что 95% — я думаю, какой-то сумасшедший процент воспоминаний, которые есть у Devon, — это все благодаря автогенерации, очень немногие люди действительно хотят сесть и написать большие документы о том, как вы должны работать с технологией и т. д. Генерация и извлечение — это то, что мы пытались настроить в течение многих лет. Генерация, вы не хотите, чтобы она помнила что-то вроде, если вы однажды попросили: «Пожалуйста, откройте как черновик PR». Вы не хотите, чтобы это было: «О, теперь все навсегда должны получать свои PR как черновики PR». Но вы хотите, чтобы у вас был какой-то общий знаменатель. Возможно, вы хотите сказать: «О, Коул обычно любит, чтобы все создавалось как черновики PR». То же самое с извлечением. Знаете, если у вас тысячи таких воспоминаний, как вы можете гарантировать, что они извлекаются в нужное время? И это может быть довольно сложно сделать правильно, не взрывая контекст кучей полезной, бесполезной информации. Удивительное количество просто оценочной работы, чтобы просто убедиться, что память остается надежной системой, поскольку новые модели приходят и уходят. >> Да. >> У вас есть что-нибудь, чем вы могли бы поделиться о, скажем, обрезке памяти, а затем, скажем, временном аспекте памяти? >> Да, именно. >> Да. Сегодня, так, вещи, которые он мог делать, это редактировать воспоминания. >> Я вижу. И поэтому, если ваша память раньше говорила: «О, Коул любит открывать все как черновик PR», то вы можете представить, нет, не делайте этого. И тогда он скажет: «О, вы хотите, чтобы я обновил память, чтобы Коул теперь хотел все как, знаете ли, открытые PR?» Я думаю, что в то же время мы не знаем, будет ли это окончательной версией системы. Все, что у нас есть здесь, вероятно, будет перенесено в новую систему, которую мы будем разрабатывать. Но я думаю, что одно большое отличие между двумя годами назад и сегодня заключается в том, что эти агенты действительно хорошо используют все, что похоже на файловую систему, нативно. И поэтому часть нас думает: «О, должны ли мы перестроить память, чтобы она больше походила на файловую систему, которую мы позволяем агенту навигировать самостоятельно?» Это было интересное исследование. Также некоторые идеи в области навыков. >> Я сейчас открываю функцию памяти OpenClaw. Так, память OpenClaw имеет что-то вроде этого ежедневного журнала памяти, верно? И вы можете, я имею в виду, это файловая система, которую вы можете просматривать, и это источник истины. Я не знаю, лучшая ли это. Вероятно, она очень шумная, но по крайней мере, если вы что-то потеряете, вы можете это обнаружить или применить какой-то алгоритм забывания к более древним воспоминаниям, которые больше не вспоминаются, или что-то в этом роде. Одна вещь, которую мы пытаемся сделать, чтобы расширить границы использования агентов в вашей компании, — это позволить агенту иметь очень похожий файл, вроде memory.md или что-то в этом роде, и просто быть вашим постоянным PM для определенного набора проблем, возможно. Так что у нас есть некоторые каналы Slack внутри компании, возможно, канал Slack, посвященный конкретному продукту, такому как Deep Wiki. И вы можете представить, что вы хотите Devon, который никогда не останавливается. Он просто всегда включен, но у него есть этот документ памяти, который он может поддерживать для себя о том, какие, скажем так, приоритеты номер один, которые мы должны исправить и расставить по приоритетам, кто несет ответственность за предстоящую работу. Возможно, он даже будет отмечать вас на регулярной основе. И поэтому было интересно наблюдать, как мы можем фактически использовать Devon для большего, чем просто инженерия. Можем ли мы фактически перейти выше инженерного процесса? И, возможно, это просто Devon, создающий билеты, которые затем, возможно, делают некоторые люди, но затем, возможно, другие Devons. >> Да, одна из моих более забавных автоматизаций — это исследование конкурентов и еженедельное предложение мне вещей. Это автоматизация. И я не могу ее найти сейчас. Но, по сути, она просто смотрит на конкурентов и предлагает вещи. И вот три вещи, которые вы предложили, которые я больше не хочу, и вы просто вставляете это в промпт. Но я бы хотел, чтобы, например, когда я отклоняю PR, я хотел бы, чтобы он обновлял память, чтобы я мог просто не обновлять запланированную синхронизацию, но запрос на функцию. >> Вы знаете, мы можем скоро изменить это. Я думаю, Open Inspect за время вашего существования, было ли что-нибудь, что вы пытались внедрить, а затем вам пришлось отменить и сделать по-другому? >> Пока нет, но кое-что, о чем я думаю. Первоначальный способ, которым я построил это, заключался в том, что каждая интеграция как бы живет как отдельный пакет, и поэтому у вас есть Slackbot, который обрабатывает веб-хуки, а затем фактически взаимодействует с плоскостью управления. Поскольку я вижу, что система становится более интегрированной, особенно с интеграцией GitHub Bot, я рассматриваю возможность переноса всего этого в центральную плоскость управления, потому что, особенно сейчас, я хочу начать, и запрос, который я получаю, — это возможность отслеживать фактические объединяемые pull request, а также просто отслеживать >> как бы, что у меня открыто? >> Да. Что у меня открыто? Сколько из них объединяется? Сколько комментариев появляется? чтобы просто понять работоспособность системы. И поэтому в случае приложения GitHub у вас есть только один веб-хук. И тогда возникает вопрос: поместить ли этот веб-хук в этот пакет GitHub Bot? Это как-то странно. Это не имеет особого смысла жить там, потому что этот пакет больше для рецензента кода, или мне централизовать его? Так что это то, о чем я думаю, принимая это решение. Я думаю, другое, которое мы обсуждали ранее, — это своего рода «корзина в коробке» против «вне коробки». Я думаю, в долгосрочной перспективе архитектура в конечном итоге вернется к «вне коробки». Некоторые из новых инструментов, которые я добавил, вызывают обратные вызовы в плоскость управления, чтобы у вас не было секретов в песочнице. И поэтому я думаю, что в долгосрочной перспективе я, вероятно, вытащу фактического агента из коробки. Но я думаю, что пока это нормально. Просто, быстрый вопрос о вытаскивании агента из коробки. Я очень оптимистичен в этом году в отношении агентов, вызывающих других агентов или запускающих субагентов, или как бы вы это ни называли. >> Делает ли это сложнее или проще? Я не могу сказать. Потому что если корзина находится в коробке, вы можете запустить больше коробок. >> Да. Корзина находится вне коробки, тогда это менее просто, потому что у вас есть, вы знаете, уникальный питомец корзины, который как бы живет вне коробки. Я имею в виду, теоретически это было бы так же, верно, независимо от того, запускает ли один агент множество субагентов в нем. Open Inspect, например, может запускать субагенты и фактически создавать другие среды и затем отслеживать их. В случае, когда он вне коробки, это фактически будет просто дополнительный сеанс, который работает. И поэтому этот сеанс также работает вне коробки. Он работает в вашей рабочей плоскости, где бы вы ни запускали это. И тогда вам действительно нужно подумать о том, как ваш верхний агент взаимодействует с ним. Я думаю, это может быть сложнее, просто потому, что опять же, у вас теперь более сложная архитектура, но я думаю, если вы разобрались с этим один раз, это, вероятно, нормально. >> Да. Уолден, я просто открываю вам слово в отношении того, что я называю своего рода «мета-управлением Devon». >> Да. >> Что такое вызов Devon Devons или планирование Devon Devons или запрос траекторий или что-либо еще. >> Что вы построили или отказались от чего-либо? Я думаю, одна из удивительных вещей, которые мы видели, заключается в том, что многие способы, которыми эти отдельные агенты работают друг с другом, и вы хотите, чтобы они парализовали свою работу, в основном следовали тому же режиму менеджера-субагента, и многие люди, я думаю, взволнованы этим миром, где у вас есть рои агентов, которые как бы, знаете ли, общаются друг с другом повсюду. Мы фактически дали Devon MCP, чтобы они могли просто произвольно обмениваться сообщениями с другими Devons и создавать новые Devons и т. д. Но я полагаю, что это как бы создает действительно хаотичный мир в этом смысле, и поэтому мы по-прежнему обнаруживаем, что большинство практических применений на повседневной основе — это один единственный движок, который пытается разделить работу и заставить других Devons работать над ней в относительно изолированном смысле, каждый со своими собственными коробками, не разделяя машины. Так что есть очень мало места для конфликтов, это режим, который вам нужно создать сегодня. >> Я вызову эксперименты от Cursor, верно? Это работа Уилсона Линна над переходом от одного агента к мультиагенту, и вы, очевидно, знамениты этим.

сторону не не стройте мульти-агентов, но они прошли через всё это, э, только чтобы прийти к э, вот этому, что в точности есть у Девона. Как вы думаете? >> Я думаю, что в какой-то момент будет пересмотр этого поста о рассказе... э... >> Я думаю, что мульти-агенты год назад были очень, очень невозможны. Вы видите больше экспериментов с мульти-агентами сегодня, но можно поспорить, действительно ли это мульти-агенты, или это просто как вызовы инструментов, знаете, есть люди, которые э... создают суб-агентов, чтобы найти файл XYZ, реализация XYZ имеет очень хорошие преимущества в управлении контекстом, потому что все вызовы инструментов и токены, которые она тратит, затем сворачиваются обратно в ответ для основного агента. В этом есть много преимуществ. Мы, по сути, делаем так, что Девон делает это с Deep Brookie, делает вызов Deepookie, возвращает вам результаты. Но это похоже на вызов инструмента. Знаете, это не похоже на то, как эти два коллаборатора действительно разговаривают друг с другом взад и вперед. Но я думаю, что то, что дает мне наибольшую уверенность в том, что мульти-агенты могут быть действительно возможны, это то, что я сказал ранее о Девоне, он иногда говорит мне, что я не прав, и возражает. И я думаю, что это демонстрирует уровень зрелости и коммуникации сегодня, который делает мир мульти-агентов возможным. Когда два агента, которые видели разную информацию, могут вернуться друг к другу и фактически выяснить, кто прав, какая правильная реализация, они не просто, знаете ли, поддакивают. Клод, я полагаю, раньше просто говорил, знаете, что ты прав, или э... ты абсолютно прав. >> Ты абсолютно прав, да. Э... >> Ты видел, ты видел App Troll и Topic? >> Это приложение Codex. Э... внутри настроек есть маленькое э... есть маленький пасхальное яйцо, верно? Так вот, если вы зайдете туда, там их темы или внешний вид, верно? Там все эти цветовые коды, и верх абсолютно, и это в цветах тем, что является таким троллингом. В любом случае. >> Мне нравится это пасхальное яйцо. Ты сам его обнаружил? >> Нет, это как будто кто-то э... писал об этом в Твиттере, и я был как бы, я был как бы, это правда? Потому что иногда люди просто пишут что-то, чтобы э... вывести тебя из себя. Но э... да, вот оно. И цвета. >> Да. Э... Но да, мы мы вышли из этого режима, где, знаете ли, просто говорится, что ты абсолютно прав, и они могут вести настоящие разговоры и настоящие перепалки. >> Да, вы можете также попросить его быть более конфронтационным или что-то в этом роде. Да. Хорошо. Да. Для меня это больше интеллекта, верно? Как будто это не просто что-то вроде тупого инструмента. Он фактически возражает вам. >> Да. Э... один вы упомянули, что эти посты в блогах, был один блог, где они собрали рой агентов и построили браузер. >> Да. Да, это было, я думаю, это было то. >> Вы можете иметь, я думаю, это тот же самый цикл. Да. >> Мы обнаружили удивительный успех: не делайте рой или что-нибудь еще. Просто пусть один Девон, знаете ли, он сам занимается своим контекстом. Просто дайте ему работать некоторое время и дайте ему какие-нибудь сумасшедшие задачи. Я думаю, мы попросили его перестроить, как бы, систему операционной системы Windows. >> Да. >> И он справился, просто, знаете ли, работая достаточно долго. >> Это была штука Эндрю? >> Да. Да. Хорошо. Э... >> Было много демонстраций, которые мы в итоге не опубликовали, потому что в какой-то момент мы просто публиковали слишком много. куча демонстраций. Но мне это нравится, потому что это показывает, что я думаю, что мульти-агентная штука все еще имеет некоторую захватывающую сексуальность, которая, возможно, все еще выходит за рамки фактического прироста, который она добавляет к возможностям этих систем, но это абсолютно будущее. Я думаю, знаете ли, мы движемся в этом направлении, и мы уже видим прогресс, достигнутый там. >> Да. Если бы я мог бы... сделать одно очень незначительное возражение, потому что я еще не чувствую себя достаточно уверенно, но я... я приглашал Райана Лопо из Open Eye на подкаст, и он супер-пупер пушка, верно? О боже, это мой кодирующий агент, который готов. >> Я... я скачал это, как Пон Пинг. Я не знаю, слышали ли вы об этом. Он берет, как бы, звуковые пакеты из популярных игр, таких как Command and Conquer и Warcraft, а затем воспроизводит их, когда он закончил. Так что это как работа, работа или что-то еще, как по вашим командам или что-то в этом роде. В любом случае, то, что я получил из кодовой базы Cursor и из штуки Райана, это то, что есть подход "пушечного выстрела", где вы пытаетесь ослабить узкое место одного агента. >> Я чувствую, что это, вероятно, очень важная вещь, которую нужно попытаться выяснить. Я не думаю, что кто-то действительно решил это, потому что тогда у вас просто будет больше >> рецензентов, останавливающихся поверх агента, чтобы попытаться разобраться во всем этом. Э... Райан, вероятно, будет сильно возражать, что я говорю, что он не решил это. Он думает, он думает, что он полностью решил это. Но я думаю, что это все еще, я думаю, это очень важно, потому что это узкое место, верно? Я... я чувствую, что Девон иногда медленный, потому что я думаю, ну да, это очень читаемо и очень разумно, но также это медленнее, чем могло бы быть, если бы я просто... я хочу кнопку, чтобы просто сказать, как бы, ускорьте это в 1000 раз параллельно и просто посмотрите, что произойдет, знаете ли, и я не знаю, возможно ли это когда-нибудь в будущем. >> Да. И мы также проводили эксперименты внутри компании, где мы, по сути, пытались построить целые продукты... как настоящие продукты, которые, как мы знали, в конечном итоге выпустим, но пока давайте посмотрим, можем ли мы сделать это просто путем чистого "вайб-кодинга" поверх друг друга, автоматического слияния, без проверки кода вообще, а затем есть этот своего рода бенчмарк, сколько недель вы можете продержаться на этом, прежде чем сказать, что мы должны выбросить эту кодовую базу, фактически переписать ее с нуля. Да. >> Да. Что вы нашли? >> Я думаю, мы обнаружили, что на декабрьском уровне развития технологий вы, вероятно, могли бы работать так около двух недель. К концу этих двух недель вы обнаружите, что, эй, вы хотите изменить цвет кнопки. Ну, оказывается, эта кнопка реализована в 10 разных местах и... >> все эти разные вариации, и о, вы забыли одну из них, и на самом деле она немного другого цвета в одном месте. Ладно, это слишком много работы. Давайте попробуем делать проверку кода одновременно и убедимся, что мы контролируем свои дела, мы фактически немного чистим ее и убеждаемся, что она сделана масштабируемым образом. Да, я думаю, развивая это... идея о том, что вам не нужно смотреть на код, я думаю, в целом плохая идея, и мем, который у меня есть... заголовок: вы думаете, это утверждение будет верным? >> Э... Я думаю, вероятно, в течение некоторого времени будет верно, что вы должны продолжать смотреть на свой код. Э... проблема, с которой я сталкиваюсь у многих команд, с которыми я работаю, которые принимают kind of AI native, э... AI first coding, это мем, который у меня есть: ваша кодовая база регрессирует до вашего худшего инженера, потому что этот инженер, который, знаете ли, очень увлечен ИИ и не проверяет свой код, его паттерны начинают закрепляться в коде, и теперь ИИ ссылается на его паттерны. И поэтому теперь его блоки if-else, которые, знаете ли, состоят из 20 if-else'ов взад и вперед, ИИ видит это как паттерн того, как все делается, и начинает экспоненциально увеличивать этот беспорядок. И я нахожу, в соответствии с вашим пунктом, довольно хороший подход к этому: запланированная очистка, либо людьми, либо системами, которые ищут дублирование. Затем они решают это. Э... знаете ли, у вас будет около 12 помощников для форматирования даты, и вам нужно решить это, потому что иначе оно будет продолжать разрастаться. >> в пределах разумного. Я думаю, нормально иметь некоторое дублирование, а затем иногда иметь сбор мусора, верно? >> Да. Э... то, о чем я... говорил со многими инженерами-руководителями, это то, что вы хотите быть очень строгими в отношении границ между модулями, и ваша работа как архитектора, как CTO, что бы это ни было, сказать: хорошо, вот жесткий контракт между вами и вами. Что бы вы ни делали внутри этой черной коробки, это ваше дело. вы делаете что угодно, но между этими ребятами, давайте будем очень четкими, и любое движение должно быть подписано человеком или мной, знаете ли, и тогда... и это все. Я не знаю, есть ли у вас какие-либо другие модификации или советы. >> Ну, я думаю, в целом по теме того, где люди могут быть полезны. Э... я обнаружил, что некоторые из этих... действительно глубоких информационных проблем иногда просто наличие человека, который обладает действительно глубокой экспертизой, может иметь большое значение. Я фактически видел, как это проявляется при фактическом создании агентов. Так что мы... у нас было несколько друзей, которые пытались создать своих собственных кодирующих агентов, и я думаю, одна и та же проблема, с которой я постоянно слышал, что многие из них сталкивались, была эта проблема: о, как бы... знаете ли, GPT очень медленный на машинах наших агентов, и поэтому многие из них... я предполагаю, потому что они используют ИИ, и они сами не имеют... супер глубоких знаний в области инфраструктуры, говорят: хорошо, мы создадим свой собственный пользовательский GPU-индекс. Это будет действительно быстро, и мы будем использовать его как способ обойти эту проблему. Когда мы столкнулись с этой проблемой около... знаете ли, года или полутора назад, когда мы были на ранних стадиях создания Devon... у нас, очевидно, не было ИИ, чтобы мы просто спросили: как... как вы это делаете? Вы могли бы просто заблокировать новый GPU-индекс. Что вы имеете в виду, вы написали Deon вручную? Что? >> Да. Как вы можете поверить, что мы написали этот код вручную? Э... и... и у нас были наши специалисты по инфраструктуре, которые были действительно потрясающими, они изучали это, и они говорили: "О, знаете что? Мы поняли, что на самом деле первопричина этой проблемы на самом деле очень проста, но... очень мелкая деталь, а именно то, что многие из этих виртуальных машин на самом деле под ними не используют реальные файловые системы. Они используют эти сетевые файловые системы, где вещи фактически кэшируются по сети, фактически в S3. Так что, когда вы грепаете, вы фактически делаете сетевые вызовы. Да. Каждый раз, когда вы делаете эти вещи, и поэтому GP очень медленный на этих машинах. Э... и поэтому снова возвращаемся к, знаете ли, всей этой сумасшедшей работе по инфраструктуре, которую нам пришлось проделать, чтобы фактически заставить эти машины работать. Если вы попытаетесь сделать это сами, знаете ли, есть множество мелких деталей, подобных этой, и поэтому нам в конечном итоге пришлось заменить эту сетевую файловую систему. >> Да, я думаю, есть описание этого, верно? Так что я перечислил одно о виртуальном... >> Это была совсем другая вещь. Штука... >> формат хранения файлов блочных различий, который является... файловой системой, которую мы построили, чтобы ВМ могли очень быстро запускаться и останавливаться. По сути, интуиция за этим заключается в том, что представьте, что у вас есть терабайт диска, а ваш агент написал всего лишь около 100 строк кода поверх этого диска. Сколько времени займет сохранение и повторное восстановление этого диска? >> И большинство систем, поскольку вы не оптимизируете для этого случая... это просто порядка терабайта работы, потому что вам приходится сохранять все это и восстанавливать. В нашей системе мы пытаемся построить файловую систему, которая инкрементально строится друг на друге. Так что каждый раз, когда вы сохраняете и восстанавливаете машину, вы... вы делаете работу, которая пропорциональна, по сути, различию в файловой системе. Да. >> Э... и это... сокращает много времени в... процессе загрузки Devon. Я думаю, мы... это на самом деле устарело. У нас есть новая система внутри Devon. Но да, есть много мелких деталей, которые нужно правильно настроить, чтобы фактически получить хороший повседневный опыт работы с Devon. >> Это не технически агенты, но это агентская инфраструктура. И когда вы продаете агента как компанию, вы продаете агента плюс агентскую инфраструктуру. Да. Э... по крайней мере, так, как мы это делаем. И другая приятная вещь в том, что агент и агентская инфраструктура делаются вместе, знаете ли, мы можем развернуть Devon в любой среде, которую мы хотим. Теперь нам не нужно ждать, пока какой-либо нижележащий поставщик инфраструктуры также поддержит VPC или onrem или fed govcloud, например. Так что мы можем фактически выяснить, хорошо, поскольку мы занимаемся инфраструктурой, как мы можем настроить это для вас? >> Да. Где ваша зависимость от Cloudflare? >> Так что Cloudflare управляет управляющей плоскостью. Э... песочница поддерживается Modal. Контрибьютор только что добавил Daytona. E2B находится в дорожной карте, и я думаю, что существует абстракция, которая позволяет любому контрибьютору добавить нового поставщика. >> Да. Да. >> Потрясающе. >> Ну, как ваши клиенты, с которыми вы работаете? Они обычно пытаются заключить контракт с другим из этих сторонних поставщиков? Они пытаются делать ВМ в доме? >> Большинство из них, я вижу, используют Modal. Я думаю, Modal имеет... привет, Modal. Привет, Modal. Я думаю, Modal имеет отличное предложение. Оно как бы охватывает все необходимые вам компоненты песочницы. Снимки являются довольно важной частью этого. И учитывая, что они также предлагают GPU... Я думаю, это довольно хорошее предложение в целом. >> Да. Нет споров. Э... Modal отлично подходит, особенно я думаю, их предложение контейнеров является наиболее естественным, и особенно если вы готовы... отказаться от полных требований к ВМ, Modal — это очень обширное место, где вы можете что-то запустить. >> Да. Есть ли момент? Так что Modal очень Python, и я чувствую, что большая часть рабочей нагрузки... действительно сместилась в JavaScript. Я не знаю, чувствуете ли вы то же самое, как... так... хорошо, когда я начал Landspace и AIE и все эти вещи, я был как 50/50 Python и JS, верно? Как бы примерно. Я думаю, что сейчас JS победил. Я не знаю, вы... может быть, я преувеличиваю, и, может быть, для когнитивных функций есть C#, Java и все такое, но для... новых зеленых полей приложений, вы чувствуете это? Вы чувствуете это? >> Я думаю, что большинство библиотек, которые я вижу в этой области, в первую очередь на Python, особенно в области наблюдаемости. >> Э... тем не менее, я думаю, что есть довольно большая привлекательность в том, чтобы иметь всю вашу систему на одном языке, особенно когда у вас есть как фронтенд, так и бэкенд, общающиеся друг с другом, вы можете иметь один центральный тип, что очень приятно. >> Да, это мой аргумент против Modal, потому что тогда вам придется запускать... >> Я имею в виду, вы можете запускать JS внутри Modal, это просто один дополнительный шаг, который... не является нативным для среды выполнения. Э... я не знаю, если... Да. У вас есть цифры? Я не... знаю. Единственное, что мне не нравится в Python, это то, что когда ИИ пишет Python, он всегда делает самые странные паттерны, потому что это смешивание двух и трех или что? >> Да, я думаю, это что-то вроде смешивания двух и трех. Да, как бы... я не знаю, видите ли вы это. Он всегда пытается сделать, как бы, has_attribute на объектах. Это как бы, да. >> Но вы не должны этого делать. Как бы, это должно вызвать ошибку, если... >> потому что он обучается на коде библиотеки. Я думаю, это больше, чем... судя по тому, что я видел, это больше похоже на механизм взлома вознаграждения, где он не хочет, чтобы код сбоил, и поэтому он даже когда он знает, что у него есть атрибут, он вызывает get_attr на нем... и для многих моих клиентов, которые перешли к более... автономному кодированию, мы внесли это как правило линтинга, что если вы используете get_attr, ваш pull request будет отклонен. О, это интересная тема. Расскажите мне больше, как это... как еще ИИ... является признаком ИИ-кодирования, для которого вам приходится ставить ограждения. Так вот, мы говорили прямо перед этим о Opus 4.7. Одна из вещей, которую любит делать эта новая модель, это писать много комментариев. Не то, чтобы, знаете ли, она будет комментировать каждую строку, но она будет писать комментарии, похожие на PRD, поверх каждой функции. Э... но я должен сказать, к ее чести, это не описания беспорядка, как раньше, хорошо? Как бы, о, вот что делает эта функция. Это как бы, о, вот на самом деле причина, почему мы выбрали этот подход, и каковы были альтернативы, и почему мы не должны их делать. >> Как бы, все еще слишком много информации. Но я задаюсь вопросом, не является ли это на самом деле правильным направлением, если вы хотите системы, которые могут самоподдерживаться в долгосрочной перспективе. О, они пишут свои спецификации в строке контекста в коде. Да. >> Так что вы одобряете? >> Я... >> но в то же время это сложная проблема, может быть, мы просто дадим нашим пользователям настройку или что-то вроде этого... о том, насколько многословным вы хотите, чтобы это было. Я... мне это не очень нравится, я просто... мне нравится комментарий, но, пожалуйста, избавьтесь от него. >> Да. Да. Да. >> Но я могу представить себе мир, где что-то подобное станет реальностью. Я не знаю, знаете ли вы о Git AI? >> Да. >> Да. >> Мы говорили об этом. Да. Git AI, идея, стоящая за этим, заключается в том, что... >> если вы запускаете агента, фактические промпты, которые вы отправляете агенту, должны храниться вместе с кодом в метаданных Git, чтобы будущие агенты могли ссылаться на них, возможно, боты для проверки кода могут ссылаться на них... и это своего рода идеальный мир, где, знаете ли, ваш контекст для принятия решений постоянно живет рядом с вашим кодом, и поэтому это, возможно, более скрытая версия этого подхода "писать огромные PRD для каждого комментария". Да, я жду настоящего бычьего сценария, когда мы просто избавимся от Git вообще. Я... я еще не там, но я ищу это, потому что это будет большое изменение. >> В некотором роде по теме видимого беспорядка, паттерн, который я вижу у многих кросс-GPT моделей, особенно, это обратная совместимость... любой ценой, где она делает эти странные импорты-экспорты, чтобы ей не пришлось изменять... имена модулей, откуда они были. И... я видел, как Claude 4.66 тоже начинает это делать. >> О нет. >> И снова, я думаю, это своего рода поведение взлома вознаграждения, где оно не хочет, чтобы сбой произошел. И вы можете решить это с помощью SEM grap или других инструментов, где такое поведение довольно легко идентифицировать. Э... но это то, что вы, по сути, узнаете только через опыт, просто видя паттерны кода. Да. Э... нетипизированные кортежи являются очень большой проблемой, просто... снова, просто бросьте любой в туда... dict string any, и снова вы можете решить это с помощью линтинга. >> Отлично. Да. Есть ли еще какие-нибудь, так что... линтинг, любые другие инструменты, обзор Devon, конечно... не так уж и бесплатно сейчас, но, знаете ли, все еще используйте его. >> Так вот, одна вещь, которую я думаю, мы рекомендуем командам, когда они используют больше AI-агентов, это возвращается к этой... локальному тестированию. В конце концов, вы хотите, чтобы ваш агент мог делать все, не только писать код, но и запускать и тестировать его. И многие кодовые базы не были специально построены для этого с самого начала. Например, вы, вероятно, захотите настроить локальную базу данных, локальный docker-compose и Postgress, чтобы у вас было так, чтобы вам не нужно было давать вашему агенту какие-либо сумасшедшие учетные данные продукта, чтобы фактически запускать и тестировать свой код. Мы также внутри компании провели большое изменение, чтобы сделать многие из наших основных... компонентов кода тестируемыми как чисто локальная разработка, без необходимости фактически... интегрироваться с любыми живыми сервисами по этой причине. И, очевидно, чем старше компания, тем больше вам придется изменить, чтобы перейти в этом направлении, но, знаете ли, вы можете использовать ИИ, чтобы помочь вам выполнить эту миграцию. >> Чем старше, чем старше компания, тем больше вам придется изменить, чтобы сделать локальную разработку, неправильное понимание. Так что... так что вы говорите, что большинство людей просто строят с полной интеграцией с другими вещами, и нет пути кода для переключения на локальный? >> особенно когда есть, как бы, много разных сервисов, и у вас есть, как бы, микросервисная архитектура, сделать этот сдвиг, чем больше кодовая база, тем сложнее. Я полагаю, если вы построили ее правильно с самого начала, возможно, но также... многие компании в мире, которые начали работать до того, как Docker появился, и поэтому... вы вынуждены сделать миграцию в какой-то момент. Ну, Devon хорош, очень хорош в создании мок-серверов. >> Да. Верно? Так что... и знаете, один из проектов, который я действительно хотел, это как бы Little Snitch. Я не знаю, слышали ли вы об этом. Я запускаю Little Snitch на своем компьютере. Там есть своего рода "человек посередине", но он... показывает вам весь трафик, идущий взад и вперед. >> Но оттуда вы можете как бы реконструировать сервер, >> верно? И затем... и затем как бы создавать локальные моки, так что вы можете локально мокать все, если вы просто наблюдаете за трафиком некоторое время. >> Да, это интересная идея. >> Э... круто. Э... я... я не знаю, получится ли что-нибудь из этого, но я хотел, возможно, немного поговорить об утечке Cloud Code... потому что обычно, если у меня есть энтропийный человек на... я не могу говорить об утечке Cloud Code. >> Вы что-нибудь узнали >> из Cloud Code? >> Э... наша команда не была так... заинтересована в этой утечке. Мы не тратили на нее много времени. Но... >> Я просто... я просто ищу... >> Э... Нет, я на самом деле не... слишком много исследовал это. >> Понятно. Хорошо, еще одна последняя вещь, прежде чем мы пойдем. Э... Windsor 2.0, вы выпустили еще одну вещь. Так что... >> своего рода мета-контекст заключается в том, что вы используете фоновых агентов достаточно часто, вы захотите перевести их на передний план, и... это маленькое... переключение с локального на облако трудно для работы. Э... и тогда... и у Devon есть или у Cognition есть, просто сделали это. >> Да. Я... я думаю, для меня самый большой... пробел, который это пытается закрыть, это снова, как сделать процесс тестирования как можно быстрее? Когда он может тестировать самостоятельно и отправлять вам видео, это чертовски волшебно. Иногда есть действительно сложные вещи, которые вы можете... которые вам действительно нужно просто скачать локально для тестирования. И знаете ли, мы просто хотим, чтобы Windsurf был вашим... локальным командным центром всех ваших агентов... ваших фоновых, ваших локальных. И вы можете представить: о, хорошо, этому агенту нужно, чтобы я что-то проверил. Я скачаю это, перемещу других агентов на задний план, пойду протестирую. Хорошо, бум, готово. Следующий. >> Да. И... требует ли это, чтобы бинарные файлы были точно такими же для локального и облачного? >> Так вот, забавная вещь здесь в том, что поведение между локальными агентами и облачными агентами, я думаю, что оно на самом деле немного отличается в их идеальном состоянии. Я думаю, локальные агенты, вы хотите, чтобы они были немного быстрее и позволяли пользователю принимать решения. На самом деле, не пытайтесь автономно тестировать вещи. Режим фонового агента, когда вы начинаете его, я думаю, агент должен просто предположить, что следующее сообщение, которое я отправлю пользователю, должно содержать все, что нужно пользователю от меня, и... не запускать и не останавливаться, продолжать работать и не останавливаться, пока вы не получите тестирование, пока вы не получите. >> Так что это просто немного другой промпт. >> Да. Но по многим причинам, из-за всей работы, которую мы делаем, чтобы убедиться, что Devon работает с разными поставщиками Git... что он работает с разными ОС и ВМ, как мы хотим, чтобы большая часть этой логики была общей. Так что для наших собственных практических целей мы стараемся максимально использовать ее. >> Да. Да. Э... я... я не могу представить, сколько работы требуется, чтобы... переходить туда и обратно. Так что поздравляю с выпуском этого. >> Спасибо. >> Хорошо. Э... есть ли что-нибудь еще, что мы должны обсудить, прежде чем мы... закончим? >> Э... просто то, о чем вы говорили за обедом. >> Э... может быть, как варианты использования, как... каковы, по вашему мнению, самые важные вещи, которые ваши клиенты пытаются делать со своими облачными агентами сегодня? >> Вы хотите снова спросить, чтобы мы получили чистый разрез? >> Да. Он пил свою воду. Да. >> Да. То, о чем я хотел поговорить, это варианты использования. Как вы думаете, каковы основные вещи, по которым ваши клиенты приходят к вам сегодня? Вот почему мы хотим настроить облачных агентов. >> Да, я думаю, самый простой и распространенный вариант использования, который я вижу у всех, это случаи использования S sur. Э... идея в том, что независимо от того, есть ли у нас оповещения в Slack или DataDog или где бы они ни были, мы хотим, чтобы агент был первым, кто отреагирует на это. И это не обязательно означает, что агент фактически решает проблему, но просто возможность собрать этот контекст заранее — это огромно, потому что, опять же, агент интегрирован в производственные журналы, базу данных, он имеет полную видимость и со временем также имеет плейбуки для решения определенных проблем. И поэтому это огромное преимущество для команд, потому что мгновенно вы можете получить полную траекторию того, что происходит в системе, и часто фактически pull request напрямую из этого, что является довольно приятным потоком для фактического опыта, как ошибка, pull request сделан. Э... Open Inspect также поддерживает триггер для этого. Так что это может произойти полностью автономно. >> из DataDog конкретно или просто? >> Э... он поддерживает Sentry. Он поддерживает общий веб-хук, и... если кто-то хочет добавить DataDog, он может. >> Да. Другие варианты использования, которые я вижу... это для случаев использования, не связанных с разработчиками, будь то PM или маркетинговая команда. Я вижу много... команд, где идея того, кто фактически вносит код, начинает меняться. И во многих случаях... PM, если есть просто быстрый исправление ошибки, PM больше не создает проблему. PM просто отправляет запрос через Slack, и затем создается pull request. И поэтому я думаю, что это огромное преимущество. Я... я думаю, эта тенденция будет продолжаться, где мы видим, что модификации кода происходят вне инженерии. Последний распространенный вариант использования, который я вижу, это поддержка клиентов, и поэтому, когда они сталкиваются с проблемой с клиентом, они не совсем уверены, почему такое поведение происходит. >> Раньше в этом мире было: эй, есть ошибка, когда они пытались использовать эту функцию. Мы не знаем, что происходит. Ну, теперь они помечают это в Slack. Опять же, весь этот полный контекст готов, они могут затем просто пометить инженеров и иметь полное понимание этой проблемы и полностью обойти предыдуние болевые точки, такие как: о, можете ли вы получить больше информации от них? >> Единственное, что я хотел бы добавить, я думаю, я видел, это как бы... непрерывное сканирование безопасности, непрерывный обзор безопасности — это очень важная вещь. Случаи использования S sur, внутри компании мы думаем об этом как об автоматической сортировке, потому что мы просто хотим, чтобы каждое сообщение, которое поступает, и это оповещение, это отчет об ошибке, чтобы Девон просто начал сортировку, прежде чем что-либо еще. И... мы настолько углубились в этот вариант использования, что мы фактически попытались сделать так, чтобы вам никогда не приходилось покидать Slack, чтобы взаимодействовать с этим. Так что снова, делая взаимодействие с Devon супер плавным с момента поступления отчета до его ответа на отчет и возможности задавать ему вопросы прямо там с полным контекстом кодовой базы обо всех проблемах. Очень похоже на поддержку клиентов. Я думаю, одна вещь, которую мы обнаружили, это то, что CLIs иногда могут быть очень сложными для людей, которые не являются техническими, чтобы использовать, но... знаете ли, онлайн-чат-интерфейс, где любой может задавать вопросы, и он очень интуитивно понятен и не предполагает, что у вас есть какие-либо технические знания, но имеет доступ ко всем частям вашей кодовой базы, очень полезен для поддержки, для продавцов... для всех, кому может понадобиться получить ответы на свои вопросы о кодовой базе. Да, отличный звонок. Это может быть очень дорогой вариант использования. Есть ли какое-то общее правило, как люди должны на это тратить? >> потому что у вас есть неограниченный бюджет, но у других нет, знаете ли, >> Я не знаю, можно ли ответить на этот вопрос, потому что, очевидно, это зависит от... многих факторов, но... >> Я думаю, это действительно зависит от того, как люди его используют. Я думаю, если люди используют его ответственно и получают от него пользу, >> тогда, знаете ли, вы можете определить бюджет. Общие цифры, которые я слышу, составляют от тысячи на инженера до пяти тысяч на инженера. >> Да. >> Я не слышал нигде в районе 50 000 на инженера для справки. >> Мы доберемся до этого. >> Да. Я... я видел, я видел, как цифры достигали таких высот, конечно. Да. >> Э... Я думаю, это также будет большая тема наступающего года: мы увидим очень дорогие, очень умные передовые модели, и мы также увидим людей, которые скажут: знаете что, мне больше не нужен передовой для большей части работы, которую я делаю, потому что некоторые передовые модели на самом деле достаточно хороши для большей части работы. >> Э... >> Также привет, вы были пионером Smart Friend, который является смесью. Я очень заинтересован в мире, где вы, по сути, имеете гибридные передовые и суб-передовые системы, где вы используете суб-передовую часть, чтобы быть действительно быстрой, действительно эффективной, и вызываете передовую часть системы, чтобы вы все еще могли получить передовую производительность для большей части. >> Да, я пытаюсь искать, но поиск в Твиттере полностью сломан. Как бы... поле "от" просто полностью исчезло. Это очень грустно. >> Ничего страшного. Э... я... я, возможно, придется сделать новый пост в какой-то момент о возвращении Smart Friend. >> Да. Да. Я имею в виду, Anthropic теперь официально принят. >> Да. >> Э... Хорошо, круто. Э... Я думаю, это все. Как бы, это действительно отличная дискуссия. Было здорово иметь вас, ребята, на... фоновые агенты — это реальность, и... все их строят. Э... мы много говорили о... э... производственных проблемах и... знаете ли, почему вы хотели бы предложить одну архитектуру вместо другой. Э... да, много чего ожидать. >> Да, я думаю, сейчас в этой области настоящий Zeitgeist, для компаний, которые хотят превратить себя в эти фабрики автономного кодирования, и да, знаете ли, мы делаем многое, чтобы попытаться поддержать это, и поэтому, знаете ли, э... любые слушатели приветствуются, чтобы пообщаться с нами об этом, будь то использование Devon или... работа с нами. >> Да. Нанимаем. >> Да, конечно. >> Э... что... конкретно, знаете ли, просто дайте... один профиль, который очень интересен. Я думаю, люди недооценивают роль... действительно высококлассных продуктовых инженеров. >> Хорошо. >> в этой области прямо сейчас. >> И тест заключается в том, что вы выпустили сквозным образом, что является... вкусным продуктом. >> Если вы выпустили что-то, чем вы гордитесь, знаете ли, вы должны... поговорить с нами. >> Да. Для меня... любые бизнесы, которые ищут дальнейшего развития своей инженерной организации, большая часть консалтинга, который я провожу, связана с этим. Команды, которые, возможно, начинают свой путь в ИИ, будь то с Cursor или Cloud Code... но они ищут кого-то, кто поможет им ориентироваться в передовых технологиях и за пределами первоначального развертывания. Э... как упоминалось, есть много усилий от того, что вы развернули фонового агента, до того, как мы фактически полностью интегрируем это в компанию и действительно реализуем истинную ценность этого. >> Да. Хорошо. Ну, спасибо вам, ребята, за то, что пришли. >> Круто. Спасибо, что пригласили. >> Да. Спасибо.