Transcription
[музыка] [музыка] Жара. [музыка] Привет, Жара. [музыка] >> [музыка] [музыка] [музыка] >> Жара. Жара. [музыка] >> [музыка] [музыка] >> Ура! [музыка] Ура! [музыка] >> [музыка] [музыка] [крики одобрения] [музыка] >> Привет, [музыка] привет, привет. Привет, что происходит, народ? Немного я затормозил на секунду. Четверг, народ, и рано. Что происходит, народ? Спасибо, что пришли. Это прямой эфир VS Code. У нас на этой неделе вечеринка по случаю выпуска, и она огромна. Она огромна. Это большая. Вам понравится эта. Привет, Херон, что происходит? Э-э, кодер-гик. Да, Оливия. Оливия на самом деле проводит другую, у нее встреча, на которой она присутствует. Так что она сказала: "Можешь прийти и провести вечеринку по случаю выпуска?" И я сказал: "Ну, это будет не так хорошо, но я постараюсь". Но, к сожалению для вас, к сожалению, но к счастью, у нас сегодня потрясающие гости из команды инженеров, и это будет потрясающе. Э-э, итак, у нас довольно внушительный список. Мы на самом деле не можем общаться. Мы не можем общаться. Мы не можем, потому что у нас нет времени. Но что происходит, Виктор? Привет, Шон. Мария, доброе утро из Аргентины. Я только что был там, в Ну, я был в Чили. Это не совсем Аргентина, верно? Я просто сбоку. Это было потрясающе. Мне очень понравилось. Привет, Сэм. Э-э, 8 утра. Да, 8 утра — это рано. Что происходит? Э-э, из Бразилии. Потрясающе. Да. Хорошо. Итак, привет, Орин, я тоже скучал, чувак. Большое спасибо за сердечки. Я это ценю. Итак, давайте перейдем прямо к делу, потому что нам предстоит многое обсудить. У нас буквально около 30 гостей. Я смотрю на все их лица в StreamYard. И это будет потрясающе. Итак, давайте начнем так, потому что нам предстоит так много всего обсудить сегодня. В этом выпуске много всего. Мы анонсировали Agent HQ, к которому мы перейдем. Но прежде чем мы это сделаем, я хочу пригласить Меган, потому что мы внесли массу улучшений в терминал за последнее время, что является такой важной частью опыта работы с ИИ. Это действительно важная часть, Меган, опыта работы в VS Code, независимо от того, используете ли вы ИИ. Терминал — это как бы ключ. Добро пожаловать на стрим. >> Спасибо большое. Да, абсолютно. Итак, функция, которую мы представили несколько итераций назад, — это терминальные предложения. Итак, мы включили это в инсайдерскую версию для наших инсайдерских пользователей, думаю, в прошлой итерации. И мы также выкатываем это для стабильных пользователей. Так что вы можете попробовать. И как вы видите здесь, я напечатал "co", и теперь мне предложены всевозможные варианты завершения для того, какую функцию я могу запустить в терминале. Так что я могу нажать Tab, чтобы принять. И затем, когда я печатаю здесь, на самом деле, позвольте мне попробовать еще раз с code insiders, потому что я получаю все эти варианты, эти флаги, которые я затем могу использовать. И что очень круто, мы также предоставляем эти варианты флагов. Так что вы можете не знать, какие локальные параметры доступны. И поэтому вы можете перемещаться здесь с помощью клавиш со стрелками и выбирать все, что хотите, из этого списка. Еще одна классная функция здесь — я могу сделать что-то вроде code insiders, отключить расширение, а затем он покажет мне все расширения, которые у меня включены, и я могу пройти по этому списку и выбрать любое, которое мне нужно. И это действительно приятно, потому что в терминале у вас может быть множество команд с различными флагами и опциями, и вы не хотите их запоминать. Так что терминальные предложения очень полезны для этого. У нас также есть поддержка Git. Так что я могу ввести git check check. Кажется, он сейчас немного неисправен. >> Это прямой эфир. Готово. А затем я начинаю печатать ветку. Так что, например, Marroi, я предваряю все свои ветки этим. И теперь вы можете видеть, очень круто, самый последний коммит для каждой из этих веток. Так что я не знаю, как вы, но у меня так много разных веток, и я часто забываю, как я их назвал, но очень полезно иметь возможность перемещаться здесь и находить их. У нас также есть поддержка папок и файлов. Так что все ваши ресурсы доступны здесь. И вы можете переходить к разным, что тоже очень приятно и полезно. У нас также есть такие вещи, как get cherrypick, а затем мы перечисляем все различные коммиты здесь, что опять же довольно полезно. И есть так много разных вещей, которые вы можете захотеть настроить в терминальных предложениях. Так что вы можете настроить, если у вас есть встроенный текст, который отображается, мы на самом деле покажем это как предложение, и это появится вверху, если вы этого хотите, или вы можете изменить все эти значения. Вы можете определить, какие провайдеры действительно включены. Так что у нас есть предложения LSP, и у нас есть наши встроенные предложения на основе fig spec, и вы можете настроить это. Вы можете определить, какой тип предложений отображается. Так что в случае, когда нет явного предложения, если я включу "неизвестное", вы получите этот действительно длинный список всего, что является возможностью. И затем, да, просто так много вещей, которые люди хотят настроить, если использование Enter вместо Tab примет это предложение, и вы можете настроить это для всех этих различных сценариев. И я думаю, что единственное, что стоит упомянуть, это то, что в 106 вам придется выбрать их, потому что они все еще отключены для всех, поскольку это экспериментально. Но в 106.1 они будут включены по умолчанию. Так что, если вы являетесь частью этой экспериментальной группы, которая видит это, то вы будете получать предложения в терминале по умолчанию. И еще одна вещь, которую стоит отметить, это то, что это основано на нашей интеграции оболочки. Так что вам нужно убедиться, что у вас включена интеграция оболочки терминала, терминальные предложения. И это позволяет нам фактически понимать, где находится ваш курсор, и контекст команды и приглашения, чтобы мы могли предоставлять релевантные предложения. >> Это потрясающе. Особенно возможность отключить расширения, а затем получить выбор — это невероятно. Вопрос здесь: это в стабильной версии или только в инсайдерской? >> Итак, это доступно в стабильной версии. Вам придется, как я уже сказал, в 106 вам придется зайти и включить эти провайдеры. Так что перейдите к демо-провайдерам предложений и отметьте обе эти галочки, если вы хотите оба этих провайдера предложений. Но в 106.1 они будут включены. А затем для определенной части стабильной версии по умолчанию вы увидите это. И если вы хотите согласиться, вам просто придется сделать это. И наше мнение здесь таково: мы хотим выкатывать это медленно, посмотреть, как пользователям это нравится, и получить отзывы от них в сообществе, прежде чем полностью включить это. Но у нас есть планы включить это по умолчанию для стабильной версии в ближайшем будущем. >> Очень приятно. Есть ли место, куда люди могут пойти, чтобы получить эти различные настройки? Мне кажется, нам нужен какой-то пост в блоге Меган или что-то вроде этого о предпочтительной конфигурации терминала Меган для Visual Studio Code. >> Мы для функции терминальных предложений всегда предваряем ее одинаково. Так что, если вы просто напечатаете terminal.suggest, вы увидите все релевантные настройки, которые важно установить здесь. >> Отлично. Итак, терминальные предложения, народ. Это все, что вам нужно знать. Будет ли это работать для Bash? Я думаю, вы использовали ZSH, верно? Я думал, я видел Z. >> Я на самом деле использовал Bash. И это работает для Zshell. И это работает для fish и для PowerShell. Так что для всех наших основных оболочек это должно хорошо работать. Теперь, является ли это одной настройкой, которую я видел, является ли это извлечением, например, если я использую что-то вроде ffmpeg, например, извлекает ли оно аргументы из командной строки? >> Итак, две вещи для получения наших встроенных команд в каждой оболочке мы запускаем соответствующий скрипт. Так что в bash есть встроенная команда, которую вы можете запустить, и она перечисляет все доступные исполняемые файлы в вашем пути, которые мы подбираем, а затем представляем. И некоторые из них будут иметь заданный спецификацию. И я могу показать пример спецификации. Так что, например, для git suggest, да, у нас есть этот файл спецификации, который предоставляет все эти варианты, флаги, значения опций. Так что для вашей данной команды это зависит от того, есть ли у нас уже одна из этих спецификаций для нее, если я правильно понимаю ваш вопрос. >> О, интересно. Так что я могу пойти и добавить спецификацию для ffmpeg, которая добавляет все эти и добавляет предложения. >> Итак, у нас есть API расширений, так что вы можете это сделать. Да, в расширении создайте свои собственные предложения для этой команды. >> Да. >> О, это так круто. >> Это потрясающе, потому что никто никогда не может запомнить все эти флаги и аргументы. Вот отличный вопрос. Насколько хорошо это работает с массивными улучшителями оболочки? Это хороший вопрос, потому что у меня их тоже тонны. У меня есть ZSH autocomplete, верно? У меня есть npm, прошу прощения, nvm в моем zsh, так что мой zsh довольно странный. Работает ли это с ними? >> Оно должно. Все это зависит от того, как оно взаимодействует с нашими скриптами интеграции оболочки, которые запускаются при запуске вашей оболочки. Но мой zshell и стандартные наиболее популярные улучшения должны работать с терминальными предложениями. Очень приятно. Я на самом деле использую его, и я не заметил никаких проблем в моей странной оболочке. Так что это хорошо. Джон, я думаю, эта функция довольно крутая, но я не знал до просмотра этого видео. Я тоже не знал о некоторых из этих вещей, но именно поэтому мы проводим эти прямые трансляции, верно? Расскажите своим друзьям. >> Расскажите своим друзьям. >> Мы были осторожны с медленным выкатыванием, потому что мы понимаем, что у людей сложные оболочки и настройки, и хотим убедиться, что это хорошо работает для них. Так что мы были осторожны, но рады, что люди попробуют это. >> Да. Да, терминал — это то, что нужно сделать правильно. Нельзя выкатывать, а потом люди говорят: "О нет, мой терминал не работает". Типа: "О, извините". Это довольно важная вещь. Так что это вполне понятно. >> О, мой sh О, мой, я даже не знаю, как это сказать. >> Это Oh my PowerShell. >> Э-э, это указывает на проблему с его стартовыми скриптами и нашими конфликтующими. Так что я бы предложил зайти в ваш профиль PowerShell и посмотреть, поможет ли изменение этого решить проблему для вас. >> Потрясающе. Профессиональный совет прямо там, народ. >> Пожалуйста, добавьте несколько классных демо, подобных этому, в примечания к выпуску. >> Оцениваю этот отзыв. Разве это не в примечаниях к выпуску? >> Это да. >> Что, так чего ты хочешь, Джон? Ты хочешь, чтобы это видео было встроено в примечания к выпуску? Ты хочешь, чтобы Меган каждый раз снимала видео на YouTube, когда мы выпускаем обновления терминала? Дайте нам знать. Это серьезный вопрос. Как мы можем сделать это более полезным для вас? >> Да, Джон хочет видео. Хорошо, Меган, возможно, нам придется пригласить вас снова и провести углубленное изучение терминала с Меган. Это очень популярная тема. >> Хорошо. Есть ли еще что-нибудь, что люди должны знать сегодня, Меган, о терминале? >> Думаю, нет. >> Много классной работы ведется с интеграцией чата и терминала, но мы поделимся этим в следующей итерации. >> В следующий раз. Да. И вы можете поиграть со многими из этих новых интеграций сегодня в инсайдерской версии, если вы занимаетесь чатом и агентами, и это так хорошо. Я говорил это вчера на звонке по итерации, насколько хорош терминал в чате сейчас, он так хорош. Хорошо, Меган, спасибо большое, что были с нами. И с этим мы перейдем к следующей теме, которая является большим анонсом, который мы сделали с этим выпуском. В этих выпусках так много всего, народ. Так много всего. Так много всего. Но большим анонсом был Agent HQ, который мы выпускали в Visual Studio Code, который был сегодня. И для этого я приглашу Джоша и Бриджит, чтобы они немного рассказали о облачном кодирующем агенте. Нет, агент, простите, агентские сессии, интеграция CLI и да. Что происходит, народ? Спасибо, что пришли. >> Доброе утро. Как дела? >> Спасибо, что пригласили. >> Доброе утро. Это 8 утра у вас? Это очень рано? >> Да, так и есть. Да. Жизнь на Западном побережье. Это точно. Я по центральному времени, народ. Так что мне приходится начинать свой день примерно в 10. Первые два часа моего дня. Полная тишина. Хорошо. Спасибо, что пришли. Что, что, что люди должны знать о, типа, что это все? Что такое агентские сессии? Что такое Agent HQ? Типа, что здесь происходит? >> Да. Итак, я имею в виду, у нас тонна новых изменений, которые мы много показывали на Universe. Это была, в общем, главная вещь, к которой мы готовились некоторое время. У нас много изменений, просто касающихся разных агентов, так что у нас есть облачные агенты, у нас есть агент CLI, у нас есть поддержка других сторонних агентов, так что я думаю, сегодня я покажу немного этого. >> Очень приятно. Вы поделились своим экраном? Я его здесь не вижу. >> Работаем над этим. Думаю, думаю, мы готовы. >> Вот он. Я его вижу. Вы хотите его добавить? Вот он. >> Правильно. >> Э-э, да, просто чтобы начать, я хотел показать агентскую сессию, которая находится здесь, которая теперь включена по умолчанию в стабильной версии. И для нее также есть настройка: агентское представление. У нас есть пара экспериментальных представлений, которые я, возможно, покажу ближе к концу, но это стандартное представление, которое вы увидите слева здесь, которое мы показывали на Universe. >> Итак, позвольте мне вернуться, Джош. Позвольте мне остановить вас на секунду, чтобы выровнять здесь. Итак, >> это представление, которое вы видите, у вас есть оно во вторичной боковой панели. >> Да. Но большинство людей увидят это, типа, где, что это такое, и где они его найдут? >> Да, так они, вероятно, найдут его здесь, как вы видите, я экспериментировал с разными местами, чтобы поместить его. Они, вероятно, увидят его справа здесь, в основной боковой панели, и у меня немного другая конфигурация здесь, у меня мои кнопки сверху, а не сбоку, но вы, вероятно, увидите его справа здесь, если вы не настроили что-то по-другому. >> Понял. Хорошо. И он действительно появляется перед значком файла? >> Например, какой порядок? >> У меня он появляется, а затем значок файла, что я считаю довольно значительным, поскольку это был первый значок для меня. >> Да. Да, я имею в виду, я полагаю, по умолчанию, и я так много раз менял его, может быть, я больше не вижу стандартный. Но вы увидите проводник, а затем где-то здесь вы увидите агента. >> Хорошо. Хорошо. Так что это новый значок. Он просто там. Расширение не требуется. Ну, расширение Copilot Chat. Да, но >> да, и это еще одна вещь, которую мы сделали: мы переместили всю эту функциональность в Copilot Chat, чего не было в этом расширении в прошлом месяце. Так что людям гораздо проще им пользоваться, потому что оно будет там, если у вас установлен чат. >> Александр, это шестой значок. Хорошо. Спасибо за уточнение. У нас сейчас идет тестирование в реальных условиях. Спасибо, Чад. Вы потрясающие. Хорошо. Хорошо. Итак, агентские сессии. Прошу прощения, что прервал вас. Продолжайте. >> Нет. Да. Э-э, да, у нас работает куча агентов. Вы можете видеть, что у меня сейчас работают два. Так что это реальная игра, которую я сделал на прямом эфире, когда был на Universe. Мы провели небольшую сессию "вайб-кодинга", и с тех пор я продолжаю использовать агентов для ее создания. Я сам не писал никакого кода. Я просто позволял агенту работать в облаке и с CLI, который я покажу чуть позже, возможно, делать всю работу за меня и фактически создавать эту игру. И это действительно моя штаб-квартира для управления всеми агентами, я просматриваю задачи. И да, я не знаю, что вы хотите увидеть первым. Я могу показать вам кучу всего. >> Ну, да. Так расскажите нам немного. Вы сказали, что создали это на Universe. Так что, чтобы люди знали, я думаю, вы были в будочке "вайб-кодинга". >> для >> Да, да, у нас была небольшая будочка. >> [смех] >> и да, там было много нас, у кого были, знаете ли, 90-минутные слоты, и мы просто там строили все, что приходило в голову, в основном, знаете ли, используя режим агента, режим планирования, все новые инструменты, которые мы анонсировали на Universe. >> То, что я построил, это эта маленькая игра. >> Может быть, вы можете показать нам, над чем вы работали, потому что это выглядит как приложение для iOS. >> Да. Так вот, я понял, что когда я делился своим экраном, я не смогу показать симуляторы за кулисами. Так что я просто сделал скриншот того, что делают симуляторы прямо сейчас. Вы можете видеть, что я использовал режим агента, чтобы фактически запустить их. Так что я просто попросил его некоторое время назад использовать сервер MCP, чтобы начать сборку и запустить два симулятора. И вы видите, что он запустил эти симуляторы. И вот что он запустил в фоновом режиме. Так что у меня есть эти два типа iPhone на моей машине, и здесь есть небольшой джойстик, и они общаются через Bluetooth. Так что, если бы у меня было два телефона передо мной, это было бы немного более захватывающее демо. Но на моей машине они общаются по беспроводной сети. Вы как бы >> Да. Да. Да. Это многопользовательская игра. >> >> Так вы, так вы и я играли бы друг против друга по Bluetooth. >> Точно. Так что, так что да, так что это была игра, которая существовала давно на моем iPod touch. Мы с сестрой играли в нее в машине, и это было очень весело, и ее больше нет в App Store. Так что это была моя мотивация попытаться воссоздать ее, вернуть ее к жизни, и я сделал это всего за 90 минут с помощью режима агента, что, я думаю, очень круто. >> Хорошо. Так, подождите минуту, как теперь я любопытен, прежде чем мы, я знаю, что цель этого — показать агентские сессии, но теперь мне интересно, как вы играете в игру, потому что она выглядит как сапер, но там также есть танки. Я хотел бы, чтобы я мог поделиться всем своим экраном, но я думаю, что он слишком широкий для прямого эфира. Но здесь есть эти джойстики, верно? И вы двигаетесь вверх, вниз, влево, вправо. Надеюсь, вы видите мой курсор. А затем вы стреляете с помощью этого >> большого пальца. >> Да. Да. Да. Так что вы используете большой палец и как бы управляете этими левыми стиками. Я думаю, что левый iPhone — это этот танк, а правый iPhone — это танк справа. >> И вы просто перемещаетесь вверх и вниз по сетке, по сути. >> Хорошо. И вы стреляете друг в друга и >> Да. Попробуйте не >> простая игра. Весело играть. >> Хорошо, возвращаясь к представлению агентских сессий. >> Да. >> У вас здесь есть пара разделов. У вас есть локальный чат агента, у вас есть облачный агент GitHub Copilot и у вас есть агент CLI GitHub Copilot. Может быть, расскажите немного о том, что именно представляют собой эти три разных вещи и что здесь происходит? Некоторые из них имеют индикаторы загрузки, а некоторые вообще ничего не имеют. >> Да. Да, вы можете видеть этот локальный агент наверху. Это, в общем, то, что люди думают о режиме агента в VS Code уже, верно? Так что на этой левой стороне вы видели, что я использовал его для запуска, чтобы использовать этот сервер MCP, этот сервер сборки Xcode MCP. Я попросил его запустить мой симулятор для меня. Он выполнил кучу команд. Он вызвал некоторые инструменты и открыл мой симулятор для меня. Так что режим агента. Так что это приятное новое централизованное место, где мы организуем все ваши агентские сессии. Так что, если мы откроем новую сессию, скажем, она появится здесь в редакторе, что довольно приятно. Теперь у вас есть полноэкранный вид. У вас есть доступ ко всем вашим пользовательским агентам и вашим моделям здесь. Я вижу новое место для организации агентов, которое вы создали, которое вы, очевидно, установили. >> Да. Да, которое я на самом деле хотел показать, потому что в облачных агентах теперь это одна из вещей, которые мы добавили в этом последнем выпуске. >> Любые пользовательские агенты, которые вы проверили из GitHub, совместно используются как между VS Code, так и облачным агентом. >> Я понятия не имел, что вы можете использовать свои пользовательские агенты в облаке. >> Правильно. Да. Так что да, это новый выборщик, который я добавил в прошлом месяце, который будет отображаться только в том случае, если у вас есть какие-либо пользовательские агенты, проверенные в GitHub, верно? Так что, знаете ли, это структура, которую мы ожидаем: имя здесь, описание, и это просто говорит использовать этот сервер MCP для выполнения задачи, верно? Чтобы исследовать, и вы видите это здесь. Так что, если я хочу начать задачу, обновить использование API мультипер-соединения, которое обеспечивает работу Bluetooth, мы просто продолжим. И мы начнем эту агентскую сессию в фоновом режиме, и она начнется с этого пользовательского агента. >> Понял. И эти агенты здесь работают в облаке, и мы говорим в облаке, они открывают >> они работают на GitHub и открывают PR от вашего имени для вас и завершают работу там. Теперь мой вопрос здесь, Джош: какую модель используют эти облачные агенты? >> Э-э, да, у нас не так много на стороне VS Code, что не настраивается. Это решают ребята из GitHub. И я думаю, они как бы меняют или обновляют модели по мере их доступности. >> Да, они поделятся последними. >> Я не уверен, что они используют сейчас. >> Они обновляют это в своей документации. Так что, если вы хотите увидеть последние изменения, это лучшее место для отслеживания. >> Но нет ли способа для нас указать, например, когда я делегирую, используй GP5 или используй Кто-то спрашивал меня, и я сказал: "Я не думаю, что так", я думаю, вам придется изменить это на GitHub. Это правильно? >> В настоящее время это просто модель, которую GitHub выбирает в качестве движущей силы кодирующего агента. Так что, когда вы выполняете какую-либо из этих локальных работ и выполняете другие виды пользовательских агентов локально здесь, в VS Code, вы можете полностью изменить свою модель, но сейчас для кодирующего агента она установлена на стороне GitHub. [фыркает] >> Интересно. Я не знаю, как вы, но у меня есть чат, у меня есть очень сильные мнения о том, какие модели я хочу, чтобы фактически писали код, верно? Я почти всегда хочу, чтобы GPT5 писал код. Я не хочу, чтобы что-то еще писало код, кроме GPT5. Я не доверяю. Теперь у меня есть проблемы с доверием к другим моделям. Так что интересно по этому поводу. Теперь, на C, есть агент CLI. >> Да, я думаю, это отличный переход к агенту CLI, потому что вы можете выбирать модели, которые вы хотите использовать, прямо здесь, в этом выборщике. >> И разница между ними, которая, знаете ли, мы только что выпустили агент CLI. Это Copilot CLI, который вы можете установить и использовать в своем терминале. На самом деле, у нас есть поддержка этого, если вам нравится представление терминала. Вы можете открыть его в самом терминале, и вы получите знакомое представление TUI. Но если вам нравится наш родной UI чата в VS Code, вы также можете использовать его здесь. Это позволяет вам выбирать модель. У нас есть некоторая экспериментальная работа по запуску этого изолированно внутри рабочего дерева. Так что это очень интересно. Я хотел бы, чтобы мы могли поговорить об этом больше, но это еще одна вещь, которую вы получаете за то, что пришли на прямой эфир, вы получаете возможность увидеть, по сути, локальные фоновые агенты, работающие в процессе, верно? Это работа, которая находится в процессе в данный момент. Она скоро появится. >> Да. >> Использование работы Git, которую вы фактически можете сделать сегодня. Вы можете использовать рабочие деревья сегодня, но мы делаем это гораздо более интегрированным, где это просто работает для вас за кулисами. >> Посмотрите на это. >> Да, именно так. Так что вы видите здесь, что он фактически создал для меня рабочее дерево. И теперь он будет проходить. Так что я заметил на своем скриншоте, что танк указывал не в ту сторону. Было трудно разглядеть по фотографии, но когда вы играли в игру, вы заметили, что он просто указывал в неправильном направлении. Так что я просто попросил своего агента исправить это. И вы видите, что он немедленно начал работу. И вы видите, как задача выполняется прямо здесь. Вы можете начать другую задачу. Давайте напишем несколько тестов. Вы можете видеть, что она начинается в другом рабочем дереве здесь. И все это хорошо организовано для вас. Очень управляемо, даже несмотря на то, что у вас сейчас шесть разных задач выполняются. >> Да, вы управляете командой разработчиков. [смех] >> Точно. >> Хорошо. И он уже исправил это. Так что, да, вы можете видеть здесь разницу в изменениях, рабочее дерево, которое он использовал. Это все еще работает, но вы видите, что он смотрит на некоторые из моих файлов. Так что, да. Так что, я думаю, в целом, это то, что является нашим видением агентов. Я покажу вам единое представление, на которое я намекал в начале. Которое, о, теперь оно здесь, если вам нравится. Так что это, в общем, направление, в котором мы движемся с UX, для которого мы хотели бы получить отзывы. Вы видите здесь, что теперь это просто один список, а не разбитый на разные группы. Например, мы думаем об агентах как о том, неважно, откуда они берутся. Правильно, есть просто один список, показывающий всю работу, которая выполняется для вас. И он приятный и организованный, и гораздо более последовательный. Так что это, я поставлю его сюда для единообразия снова. Но >> Итак, я хочу перейти к этим вопросам из чата. Может быть, Бриджит, я могу передать этот вам. >> И я брошу его сюда. Немного спорный, не спорный, немного на грани, но я думаю, на самом деле хороший переход. Итак, вопрос: когда Agent HQ будет поддерживать облачный код или открытый код, и как мы можем добавить его вручную? Теперь мой вопрос: почему Agent HQ вообще будет иметь облачный код или открытый код? Также я думаю, что некоторые из анонсов Universe могли касаться расширения провайдеров. Так что я не могу точно говорить о том, что произойдет на стороне GitHub для части Agent HQ, но здесь Джош упомянул это, и вы можете даже увидеть это в представлении агентских сессий, что у нас уже есть OpenAI Codex в качестве другого провайдера. Так что мы строим эту инфраструктуру, чтобы со временем она могла поддерживать добавление и управление другими провайдерами по мере их появления, и вы уже можете попробовать Codex, чтобы увидеть, как это может выглядеть. И просто чтобы уточнить здесь, >> Бриджит, нет >> я просто хочу быстро подчеркнуть это, верно? Мы можем войти с >> пилотом. Мой вопрос: отлично, у меня есть Codex, но я не хочу платить за две подписки. >> Да, вам не придется. >> Да, >> что я считаю невероятным. Вы должны иметь возможность использовать агента, которого вы хотите использовать, верно? Если Codex — это ваше дело, то используйте Codex, верно? Используйте то, что работает для вас. И это так здорово видеть, и просто чтобы уточнить, это доступно сегодня, стабильная версия, инсайдерская версия, говоря о Codex. Позвольте мне вернуться. Агентские сессии, где люди могут использовать это сегодня? >> Вы можете использовать это в стабильной версии, да. Продолжайте, Джош. >> Да. Да, это в инсайдерской версии. Она была в инсайдерской версии некоторое время, и теперь она в стабильной версии. >> А затем интеграция Codex, это тоже в стабильной версии? >> Да. Да, это так. Вы можете скачать расширение Codex. И оно подключится точно так же, как у меня сейчас. >> Итак, вот что интересно. Когда у них нет индикаторов загрузки, обратите внимание на кнопку "Отправить" / "Остановить". ИИ обычно работает, если опция — кнопка "Остановить". >> >> Я думаю, может быть, это было в другом представлении. >> Вероятно, в одном из этих. >> Потому что локальный агент действительно вращается или нет? >> Локальный агент будет вращаться. Он просто был так быстр, что >> О, хорошо. >> Он >> завершился в этих. Но да, мы можем взять этот, например. Это одна из задач, которая завершена. У вас есть приятный вид здесь со всеми измененными файлами. И да, он не вращается. На самом деле, если я отправлю сообщение облачному агенту и скажу: "Добавьте больше деталей", что он сделает, он добавит последующее действие к этому запросу, и он продолжит работать над вашей задачей. >> >> Мне это нравится, потому что вам не нужно проверять PR или что-то еще, чтобы следить за облачным агентом. >> Так что >> у меня все здесь. Да. И я могу посмотреть на это, а затем я могу продолжить. Да. Да, из чата прямо здесь. >> Это был похожий запрос. Как мы можем выбрать модели для выполнения запроса для облачного агента GitHub Copilot? Я не думаю, что вы можете в данный момент из Visual Studio Code, но я не знаю. Бросьте один в чат, если это важная функция, которую вы хотели бы увидеть, чтобы иметь возможность выбрать модель для облачного агента. Я думал, Оливия собиралась, я думал, этот стрим будет вести Оливия. Обычно так и есть. Извините. У нее встреча. Ей нужно было быть. Она сказала: "Берк, можешь провести прямой эфир?" Я сказал: "Я постараюсь, но я не думаю, что чат будет очень счастлив". Но вот мы. Вот почему у нас есть все эти замечательные гости. Давайте посмотрим. У меня есть Codex, и я вижу его там. >> Хотел бы видеть Claude Code next. Хорошо. Привет, спасибо за отзыв. >> Берк с фаворитизмом. Что вы имеете в виду под GPT5? У меня есть, у меня есть, я должен буду устроить рант на своем канале о моем предвзятости к GPT5. Она довольно сильна. >> Позвольте мне посмотреть. У меня нет возможности войти ни в Codex GHC, ни в агент Codex. Я задаюсь вопросом, связано ли это с тем, что у вас нет подписки Pro Plus. Я считаю, что это заблокировано для Pro Plus. Я считаю, что это так. И вам также может понадобиться предварительная версия. Я не уверен, так как я не устанавливал релизную версию. Так что вы можете попробовать это, если у вас есть подписка Pro Plus Pro Plus. Говорится, что >> хорошо, можете ли вы дать краткое резюме? Можете ли вы дать краткое резюме локального чата GitHub по сравнению с облачными агентами GitHub по сравнению с агентом CLI Copilot? Это так [смех] это так, Бриджит, позвольте мне передать это вам. >> Хорошо. >> Можете ли вы обобщить? Это такой сложный вопрос, на который нужно ответить, потому что это как бы, в чем разница и когда что использовать, где, вау, это сложный вопрос. >> Да, это отличный вопрос, и я думаю, что я могу попытаться ответить на него, а затем Джош поделится своими мыслями, и тогда мы будем рады услышать в чате, что найдет отклик у вас. Соответствует ли текущее мышление людям? Есть ли другие мысли? Но обычно, как я работаю, у меня открыт кодовая база или я работаю над новым проектом, и я делаю какую-то работу в моем локальном режиме агента. И поэтому это действительно связано только с моей текущей рабочей областью. Он выполняется на моей локальной машине. Может быть, я делаю там какое-то планирование. Часто это будет: "Эй, я хочу добавить новые функции в свое приложение или на свой веб-сайт". Придумать план, как мы можем подойти к этому, или придумать несколько наборов функций. А затем либо я могу продолжать работать с режимом агента в этом локальном синхронном контексте, где я получаю и получаю обратную связь от агента. Я сосредоточен на этом. Я сосредоточен на его изменениях кода. Я могу итерировать с ним и направлять его. Но в какой-то момент это может быть: "Эй, я хотел бы по-прежнему решать одну из задач из плана или то, что у меня на уме, или то, что сгенерировал Copilot для меня, без необходимости фокусироваться на этом прямо сейчас". Например, я собираюсь поработать над чем-то другим. Может быть, я закончил на сегодня. Может быть, я нашел действительно критическое исправление, которым мне нужно заняться, но я все равно хотел бы, чтобы Copilot работал над каким-то другим улучшением или функцией. Вот тогда я думаю о переходе и делегировании фоновой задаче или фоновому агенту. И вот где может пригодиться агент кодирования Copilot или CLI Copilot. Это как бы для тех случаев, когда, эй, я все еще могу заниматься какой-то другой синхронной работой, но я хотел бы, чтобы какая-то асинхронная работа шла в фоновом режиме. Вот тогда что-то вроде агента кодирования Copilot в облаке действительно здорово. И как бы в любой момент мы стараемся разрешить это, где, как Джош показывал с представлением агентских сессий, можно управлять и понимать, что происходит синхронно, локально, а также что происходит в фоновом режиме, будь то в фоновом режиме локально или удаленно. Потому что фоновый режим не обязательно означает, что он должен быть в облаке. Он может быть в облаке с агентом кодирования Copilot, или он может быть просто более изолированным с CLI Copilot в фоновом режиме. Джош, я хотел бы услышать твои мысли. Что-нибудь я мог упустить? Я просто скажу, что моя любимая часть облачного агента, я думаю, заключается в том, что я могу иметь идею, когда я не за компьютером. Я могу использовать мобильное приложение GitHub, чтобы начать сессию. А затем, когда я буду готов вернуться к своему компьютеру, я могу увидеть ту же сессию в VS Code. Я могу увидеть разницу. Я могу фактически внести изменения сам, если захочу. Так что это, я думаю, то, что я люблю в облачном агенте. А затем, да, есть много вариантов с агентом CLI, если вы хотите выполнять задачи параллельно на своей машине. Вы видели здесь, что я начал две разные сессии в течение минуты друг от друга, и это не было, и я все еще мог бы выполнить задачу самостоятельно в редакторе, и они бы не конфликтовали друг с другом. Так что я думаю, много гибкости с агентами, которые у нас есть. >> Я думаю, что это ключевое слово — гибкость. И я думаю, что мы просто немного уточнили это. Я бы сказал, Чад, что я делаю: я использую локальный агент и облачный агент, и я не использую Codex и не использую Copilot CLI, потому что это не те агенты, с которыми я комфортно себя чувствую. Если вы комфортно себя чувствуете с Copilot CLI, вы, скорее всего, будете его использовать, верно? Вы, скорее всего, будете использовать Codex. Если вы просто не чувствуете себя обязанным использовать каждого агента, который есть на боковой панели, просто потому, что он там. Вы не я очень однопоточный, или, как говорил Понг, инженер команды, то же самое. Я делаю одно дело за раз, потому что мне нужно понять, что происходит, и я буду использовать облачный агент, если я занимаюсь прототипированием или чем-то в этом роде. Например, дайте мне пять дизайнов для целевой страницы. Я не хочу думать об этом сейчас. Сделайте это, и я вернусь и проверю позже. Так что идея в том, что вы собираете свой собственный рабочий процесс. Мы даем вам части, вы собираете рабочий процесс. Хорошо. Мы говорили об интеграции CLI агентских сессий. Есть ли что-нибудь еще, о чем вы хотите рассказать, прежде чем мы пригласим нашего следующего гостя? >> Есть ли что-нибудь, Бриджит? >> Я думаю, как и упоминал Джош, все это действительно, мы итерируем по этому, мы выясняем, какой правильный путь здесь. Получение отзывов и использования людей невероятно полезно. Так что таким образом мы можем действительно сформировать, как выглядит UX. Какова терминология? Каковы потоки? Так что спасибо всем, что пришли и ознакомились с последними новостями, и мы очень рады услышать ваши отзывы. Мы также, я думаю, связали в чате некоторые из наших документов, которые указывают на примечания к выпуску, которые также указывают на дальнейшие документы. Так что, да, не стесняйтесь погружаться и узнавать больше. Мы рады услышать, что вы думаете. >> Отлично. Большое спасибо, что были с нами. Вы двое, очень ценю это. Это очень волнительно. Агентские сессии — одна из моих любимых функций, которые мы выпустили за весь год, а мы выпустили много. Так что не говорите другим инженерам, что я сказал это о вашей будущей работе. >> Хорошо. Большое спасибо. Хорошо. Следующий, народ, у нас есть, у нас есть парень, парень присоединяется к нам, который является частым гостем шоу. О, простите, Пегги. Продолжайте. Продюсер и я боремся. Тайлер, частый гость шоу. И интересный факт о Тайлере. Тайлер — главный эксперт по аутентификации в команде, я полагаю, и, честно говоря, Тайлер — единственный человек на планете, который может написать интеграцию OAuth вручную, не глядя ни в какую документацию и не копируя никакой код. Это правильно? Я правильно понял? >> Абсолютно нет. Что? [смех] Конечно, мне приходится смотреть в документацию. >> Я написал этот пост в блоге несколько лет назад. Он назывался "OAuth разрушил все", потому что я был так зол на спецификацию, и даже парень, который сделал оригинальный OAuth, Аарон Хаммер, был так расстроен спецификацией OAuth 2, что я почувствовал себя оправданным. Но в любом случае, вы здесь сегодня, чтобы поговорить об аутентификации, но где >> Конечно. Да. Я постараюсь изо всех сил, чтобы не отпугнуть людей этой конкретной темой. Я знаю, что она становится немного сложной, но >> да, никто не понимает многого. >> Так что, слушайте, чат, если вы не понимаете, и Тайлер постоянно работает над этим. Он говорит вам, что ему все еще приходится искать. Не чувствуйте себя плохо. Вы в хорошей компании. Хорошо. >> Да, это точно. >> Итак, да, я просто хотел присоединиться сегодня, чтобы поговорить о, боже мой, я думаю, я думаю, я мог бы сформулировать это в забавной форме, как разговор о будущем MCP O. Если бы я хотел быть >> названием видео на YouTube. Да. >> Правильно. Правильно. >> Но я действительно просто хочу сказать: вот некоторые вещи, которые мы сделали для MCP off в этой итерации. И так, боже мой, я думаю, мне нужно рассказать историю об этом, чтобы действительно, чтобы установить контекст, потому что это такая сложная тема, верно? Я думаю, нам нужно как бы подождите. Это было как бы поставить вас в центр и увеличить масштаб. Что, если это просто >> было просто >> Это должно быть как камин на заднем плане. Я ожидаю, что наш редактор сделает это прямо сейчас. В прямом эфире, чтобы добавить камин на задний план, чашку горячего кофе. >> Правильно. Добавить фон. Да. Хорошо. >> Да. И >> что? Дайте нам, дайте нам вступление. >> Хорошо. В любом случае, я нарисовал что-то немного быстрое и грязное здесь в VS Code. Так что я показываю это сейчас. Надеюсь, вы все можете это видеть. Дайте мне знать, если >> мы можем. >> Вы можете. Отлично. Отлично. >> Правильно. Так что MCP O, что это на самом деле означает? На самом деле это означает, что у вас есть какой-то удаленный сервер MCP, которому нужен какой-то уровень аутентификации, потому что он делает что-то на основе вашей личности. Так что идеальный пример сервера GitHub MCP, очевидно, будет создавать проблемы, читать код и множество других вещей, которые основаны на моей личности. Так что мне нужно аутентифицироваться в этом, чтобы фактически использовать инструменты, которые предоставляет этот сервер MCP. Так что вы можете держать это в уме, пока мы идем дальше. В основном, вся аутентификация MCP сводится к трем основным компонентам. Есть сервер MCP. Так что это сервер GitHub MCP, очевидно, клиент VS Code в данном случае, и затем эта третья вещь, которая является сервером аутентификации. И это для серверов GitHub MCP, в данном случае, собственный сервер OAuth GitHub, отдельный сервис, тот же самый сервис, который вы бы использовали, чтобы, знаете ли, войти в Copilot в VS Code, например, так что это три части головоломки здесь, верно? И поэтому VS Code сначала попытается подключиться к серверу MCP. А затем сервер MCP скажет: "Эй, мне нужно, чтобы вы, э-э, мне нужно, чтобы вы прошли аутентификацию". И сервер MCP скажет: "Эй, я использую этот сервер аутентификации". Так что иди и получи токен от этого сервера OAuth с этими разрешениями, которые называются областями действия. И вернись ко мне, когда получишь его, верно? Так что тогда VS Code скажет: "Хорошо, хорошо, я сделаю это". Хорошо. И тогда он пойдет к этому серверу авторизации. И тогда вы увидите обычный танец в вашем браузере, верно? Он открывает страницу, вы проходите через поток, вы возвращаетесь в VS Code, и все, что он делает, это получает этот токен. И тогда токен может быть использован с сервером MCP, и все счастливы. Это действительно просто быстрая пробежка по тому, как работает типичный поток OAuth. Но часть, на которой я хотел сосредоточиться, это эта часть, эта связь между клиентом и сервером OAuth. И в основном, потому что сложность заключается в том, что сервер OAuth должен знать о клиенте. Потому что если кто-либо сможет просто начать запрашивать токены, это выйдет из-под контроля очень быстро. Так что есть концепция регистрации вашего клиента на этом сервере OAuth. И, возможно, вы видели это раньше в виде того, что вы перейдете на какой-то сервис, чтобы получить идентификатор клиента, чтобы пройти аутентификацию для этого конкретного сервиса. Так что, если вы когда-либо хотели что-то сделать с GitHub, вы могли бы зайти сюда, в приложения OAuth и настройки разработчика, создать новое приложение OAuth GitHub, а затем получить, например, получить обратно идентификатор клиента от него. Аналогично, знаете ли, у Spotify тоже есть это, это очень распространенный шаблон, когда вы идете в этот сервис, регистрируетесь, а затем получаете идентификатор клиента. Вы когда-нибудь делали это раньше, Берк? >> О, так много раз. >> Так
много раз. >> Получить Да. Получите идентификатор клиента или токен или секрет или что бы это ни было, как это называет этот поставщик. Введите свои URL-адреса для перенаправления. Да. [смех] >> Точно. Точно. >> Это кошмар, который всем так хорошо знаком. >> Да. Да. Но, э-э, проблема с этим потоком в том, что это очень, как бы, ручная вещь, которую вам нужно сделать. Так что вам придется, как бы, зайти на веб-сайт, верно? получить идентификатор клиента, а затем затем вам нужно будет поместить его внутрь вашего клиента. Э-э, но в этом мире с MCP, э-э, я имею в виду, может быть бесконечное количество серверов MCP, и все они общаются с VS Code, клиентом. Э-э, и если есть бесконечное количество серверов MCP, то есть и бесконечное количество O серверов. И поэтому для O сервера или, скорее, для клиента, такого как VS Code, абсолютно нецелесообразно иметь идентификаторы клиентов для каждого O сервера на свете, верно? Управлять этим было бы невозможно. Э-э, и поэтому >> потому что обычно, обычно, если это ваше приложение, вы ограничиваете его. Вы говорите, что у вас может быть вход через Google, вход через GitHub или вход через Facebook. Но в случае с MCP вы на самом деле не знаете, какой O сервер захочет MCP. [очищает горло] >> Да. Да. Если вы владеете сервером MCP, вы, вы как бы открываете дверь для любого клиента, который может общаться с MCP, верно? Вы, вы не контролируете, как бы, пользовательский опыт. >> Но если бы появился сервер MCP, я бы сказал, я требую MySpace off, а VS Code не был зарегистрирован как клиент на MySpace. Я даже не знаю, существует ли это. Я не думаю, что это вообще существует. Вы понимаете, что я имею в виду, верно? То, что есть это, как бы, n количество O серверов, >> верно? Точно. >> И Тайлер не может выйти и зарегистрировать VS Code у каждого возможного O сервера там. >> Точно. Да. Э-э, так что, к счастью, OOTH имеет решение для этого в течение последних 10 лет, э-э, которое называется динамическая регистрация клиента. И я просто покажу вам, э-э, только верхнюю часть спецификации. Э-э, но она очень длинная и многословная, и мы будем не спеша читать ее в прямом эфире прямо сейчас. Нет, >> все с самого начала. Вот так. Возьмите свою подушку. >> Вот так. Эта конкретная Нет. Э-э, и это, это, как бы, довольно крутая вещь, э-э, потому что то, что она позволяет вам сделать на этой маленькой диаграмме, это то, что сервер MCP говорит: "Привет, я использую, э-э, я использую этот O сервер", а затем VS Code может сказать: "Ну, у меня нет идентификатора клиента для этого, поэтому я просто позвоню этому конечной точке на O сервере, чтобы зарегистрировать себя как клиент". Э-э, и таким образом, он может получить этот идентификатор клиента, как бы, динамически. Э-э, а затем продолжить поток как обычно. Так что вы, так, сделав это, вы, как бы, избавились от необходимости заходить на эту страницу, верно? И, как бы, регистрироваться и получать идентификатор клиента вручную. >> Но не открыли ли вы новый вектор атаки для O сервера, что вы просто позволите клиентам регистрироваться самостоятельно? Что мешает мне просто зарегистрировать свой клиент для майнинга биткойнов? Я имею в виду, да, это, это не столько, э-э, проблема с, э-э, регистрацией и [очищает горло] получением идентификатора клиента, сколько узкое место, потому что, я имею в виду, вы можете пойти и просто создать кучу идентификаторов клиентов, э-э, самостоятельно. Я полагаю, в этом мире это связано с, как бы, моей личностью GitHub, но это не обязательно, как бы, это просто артефакт того, что делает GitHub. Э-э, нет, как бы, я думаю, нет никаких опасений, что, как бы, если вы зарегистрируетесь и получите идентификатор клиента, э-э, динамически, вы можете каким-то образом действовать злонамеренно в этом случае. Помимо того факта, что, э-э, это, и я, я собирался перейти к этому моменту, э-э, динамическая регистрация клиента интересна, потому что теперь вы устранили это, это препятствие, связанное с необходимостью заходить на какой-то, э-э, ручной, э-э, ручной шаг на веб-сайте, чтобы, как бы, получить идентификатор клиента, но у нее есть огромная проблема в том, что теперь вы, как бы, полностью, э-э, увеличили количество клиентов, которые будут регистрироваться на вашем O сервере. Э-э, я имею в виду, подумайте о том, сколько пользователей в VS Code, миллионы и миллионы пользователей. Э-э, если бы они все, как бы, хотели использовать любой сервер MCP, то O сервер теперь должен выпустить миллионы, миллионы и миллионы идентификаторов клиентов, чтобы это работало. >> Услуга, которую он предоставляет бесплатно. >> Ага. Да. Да. Да. >> Э-э, так что, так что это, это действительно круто. динамическая регистрация клиента, и она позволила нам поддерживать кучу новых, э-э, кучу новых, как бы, серверов авторизации. Например, просто перечислить несколько случайных серверов MCP, к которым я подключался, есть, как бы, есть, как бы, есть, как бы, один для PayPal и, как бы, Linear, и, э-э, что еще? Их так много. Есть >> PayPal имеет, я не думаю, что я когда-либо авторизовался через PayPal, но это имеет смысл. Да, есть, как бы, есть даже, как бы, сервер MCP Turkish Airlines, который вы можете, э-э, который вы можете добавить в VS Code, и все эти вещи, как бы, используют динамическую регистрацию клиента, чтобы получить идентификатор клиента автоматически и просто работать. Э-э, но, как я уже упоминал, есть эта проблема, где, как бы, теперь так много идентификаторов клиентов, э-э, которые могут быть зарегистрированы, э-э, и, как вы упомянули, любой действительно может выполнить эту регистрацию. Так что это огромная, как бы, проблема этого, этой конкретной спецификации. И что вы делаете, когда находите большую очевидную проблему в, в спецификации? Ну, вы пишете другую спецификацию, более новую спецификацию, лучшую спецификацию. Э-э, >> знаете, здорово в спецификациях то, что их так много на выбор. >> Это верно. Э-э, и поэтому, э-э, новая горячая штучка, э-э, если хотите, называется документ с метаданными идентификатора клиента. Э-э, и я очень надеюсь, что я не потерял, как бы, так много людей на этом стриме из-за того, насколько, как бы, хрустящим все это является. Но, э-э, это очень интересно, э-э, и это то, что мы только что выпустили в последней стабильной версии - поддержка, э-э, O серверов, которые используют это. И то, как это, это работает, э-э, вернемся к нашей маленькой диаграмме, это, э-э, тот же, э-э, бизнес, как обычно, с сервером MCP. VS Code собирается сказать, э-э, ну, у меня нет идентификатора клиента, как бы, вручную созданного идентификатора клиента для этого конкретного O сервера. Так что, позвольте мне, позвольте мне быстро взглянуть на этот O сервер, чтобы увидеть, поддерживает ли он эту штуку с метаданными идентификатора клиента. Э-э, хорошо. Да, он поддерживает. Это здорово. Так что, так что я собираюсь сделать, вместо того, чтобы, э-э, пытаться зарегистрировать себя на O сервере, я собираюсь указать, э-э, этот O сервер на общеизвестный URI, который описывает, кто я, кто такой VS Code. Э-э, другими словами, он предоставляет всю, всю, э-э, информацию о регистрации, которую я бы поместил в этот, как бы, первоначальный вызов регистрации, который является, как бы, URL-адресами для перенаправления и, э-э, знаете, именами и тому подобным. Э-э, и он просто размещает это на, как бы, URI, который сервер авторизации может пойти и получить позже. Э-э, и это находится. Это не здесь. Это, э-э, здесь. Да. Э-э, и это находится здесь для нас на VS Code Dev, э-э, по этому URL-адресу. И вы видите, как бы, это просто JSON-блок, но это просто, э-э, куча, э-э, метаданных, э-э, которые мы, по сути, отправляли во время динамической регистрации клиента, э-э, получения, но вместо этого, э-э, мы размещаем его здесь, чтобы сервер авторизации мог ссылаться на него, э-э, и в O потоке. Э-э, и это, это действительно круто, потому что это означает, что, э-э, теперь, э-э, сервер авторизации не получает кучу регистраций для каждого пользователя, а вместо этого у него есть только одна регистрация для VS Code. Э-э, и это все, о чем ему действительно нужно беспокоиться. Э-э, но мы все еще получаем эту динамическую природу, как бы, нам не нужно идти в какое-то ручное место, чтобы получить конкретный идентификатор клиента. Это все, э-э, размещено в, как бы, интернете для нас. Так что, э-э, да, так что это то, э-э, так что это, как бы, новейшая спецификация, которая была принята MCP. Э-э, и я привожу это в этом, э-э, в этом звонке, потому что, как бы, если вы посмотрите на спецификацию MCP, вы увидите, что она, как бы, упоминает динамическую регистрацию клиента. Э-э, а затем, если мы спустимся к черновику, мы начнем видеть, на самом деле я не уверен, есть ли это здесь еще. Если нет, то будет. Но, э-э, [очищает горло] да, так что динамическая регистрация клиента все еще здесь, но мы очень скоро увидим метаданные идентификатора клиента в этом. И на самом деле, это будет, как бы, предпочтительный, [очищает горло] способ делать O для MCP. Э-э, и круто, что, как бы, VS Code, мы уже приняли это. Так что, как бы, авторы серверов MCP и, как бы, поставщики удостоверений могут использовать VS Code, э-э, чтобы попробовать эту, как бы, передовую спецификацию. Э-э, но да, это, э-э, прогулка по истории MCP O. Я имею в виду, это было действительно хорошо сделано, и я знаю, что это было хорошо сделано, потому что я мог это понять. Так что, Чад, если ты [смех] выдержал это, ты теперь понимаешь больше, чем 99,999% людей о динамической регистрации клиента. Но это, это так хорошо. Э-э, >> да, >> вы знаете, дружеское напоминание, что VS Code по-прежнему является единственным редактором, который поддерживает полную спецификацию MCP, но это та работа, как бы, не сексуальная работа, которая происходит. Я не знаю, как еще сказать, что это нужно сделать >> и это так критично, >> верно? >> Но это не похоже на модель ИИ. [смех] >> Так что, э-э, э-э, это было, это было потрясающе. Я имею в виду, это все то, что просто, как бы, работает за кулисами, и люди говорят: "Я не думаю, вы не думаете о том, как это работает. Оно просто работает, и оно работает, потому что вы там, чтобы все это работало". >> Да. Так что, я имею в виду, э-э, я думаю, о, да. Я думаю, я мог бы показать вам, что это работает. Я, я могу, у меня есть один пример сервера, который, как бы, на самом деле реализует это. Э-э, а затем, а затем вы можете выгнать меня со сцены и позволить кому-то другому поговорить о чем-то другом. Но, э-э, но да, э-э, Stitch - это поставщик удостоверений. Э-э, я на самом деле встречался с несколькими их инженерами, когда был недавно в Сан-Франциско. Э-э, они очень крутые. Э-э, они собрали сервер MCP, который использует O сервер, поддерживающий документы с метаданными идентификатора клиента. Так что, э-э, на самом деле я уже вошел для этого. Так что, позвольте мне снова войти. Э-э, так что на самом деле все, что мы увидим, это, э-э, извините, увеличение этого экрана такое сумасшедшее. >> Да, если Чад, трудно описать, как трудно использовать, чтобы управлять, когда ваш зум так высок. Нам это не кажется таким высоким, >> но вы должны попробовать это. Я, я всегда говорю Орин, когда он публикует что-то, или все должны следить за Орин в Твиттере. Я говорю: "Увеличьте свой зум", а он, вероятно, говорит: "Я ничего не могу показать. Видны две буквы". >> Да. >> Хорошо. Оно работает. >> Хорошо. Вот так. Так что, да. Э-э, так что, я имею в виду, это довольно типичный O поток, который, который так смешно. Каждый раз, когда я демонстрирую что-то, связанное с O, на, как бы, нашем стендапе, это как бы: "Да, он делает именно то, что вы ожидаете". Я, как бы, вхожу. Э-э, а затем я получаю электронное письмо. Э-э, но я задаюсь вопросом, о, здесь этого не написано, но, э-э, я хотел показать в параметрах запроса, где есть идентификатор клиента VS Code как этот URL-адрес, о котором я говорил, но, э-э, я просто жду, пока это электронное письмо придет. Вот оно. Пожалуйста, подождите. >> Да, точно. Шестеренки, которые движут корабль. Это очень хорошо сказано. >> Хорошо. >> OP это >> И тогда мы получаем наш инструмент. Так что я не знаю, какой инструмент они на самом деле предоставляют, но, э-э, кто я? Конечно, классика. Кто я? Вопрос, который я постоянно задаю себе [смех] каждый день. каждый день, верно? Так что это должно сказать мне, кто я. Ах, да, пожалуйста. >> Смотрите. >> Пользователь тест - это имя моего отца. Пожалуйста, зовите меня Тайлер. Э-э, так что, да, это работает, верно? Э-э, так что, да, это действительно круто. Э-э, я думаю, выводы из этого таковы: э-э, если вы работаете над сервером MCP, как бы, и у вас еще нет сервера авторизации, который вы используете для этого, э-э, тогда, как бы, когда вы рассматриваете свои варианты, обязательно рассмотрите поддержку этого, потому что, как бы, это, это, как бы, обеспечит вам будущее для MCP, э-э, на очень долгое время. Э-э, и если у вас уже есть сервер авторизации, который вы уже используете, э-э, тогда, знаете, поговорите с кем угодно, кто владеет им, и, возможно, это вы, э-э, о поддержке, э-э, метаданных идентификатора клиента, потому что, э-э, да, это, как бы, повсеместно, все в сообществе MCP O, э-э, как бы, сообществе гораздо больше предпочитают это, чем динамическую регистрацию клиента. Я думаю, это скоро станет прошлым. Но да, э-э, и также, если что-то из этого вас интересует, есть, есть MCP Discord, который, если бы я был более подготовлен, я, вероятно, мог бы дать ссылку, но, э-э, да, там определенно, я уверен, вы можете найти его как-нибудь. Э-э, но да, есть, как бы, MCP Discord, где они говорят о, как бы, спецификации и, как бы, о том, что будет дальше, и тому подобное. И >> увидимся там, так что если у вас есть вопросы. >> Да, я хочу перейти к нашему последнему гостю, который терпеливо ждал в кулуарах. Джастин, что случилось, чувак? >> Как дела? Да, >> добро пожаловать на стрим. Да, >> спасибо. Спасибо. >> Я знаю, что я должен тебе электронное письмо или ссылку на завтра. Я собирался сказать тебе в чате, но я скажу тебе здесь перед всеми. Я настрою это сегодня, так что >> завтра. Но >> звучит хорошо. >> Ты здесь, чтобы рассказать нам о, э-э, о чем, о чем мы говорим? >> Да. Так что единственное, о чем я хотел поговорить сегодня, это о токенах рассуждений в VS Code. Так что то, над чем я работал в этой итерации, это, по сути, просто показ, э-э, рассуждений несколькими способами, пока чат, как бы, потоково передается. Так что я просто перейду к, как бы, демо и просто покажу, как это работает. Э-э, здесь у меня есть, как бы, очень простой веб-сайт. Прямо сейчас вы можете видеть, что эта корзина не работает, или это, как бы, пустая страница. Нажатие, нажатие "Добавить в корзину" здесь ничего не делает. Так что мы собираемся запустить запрос здесь. И то, что вы увидите, это то, что вы начнете видеть некоторые токены мышления, потоково передающиеся. И да, вот так. И пока это потоково передается, я расскажу, как бы, о, э-э, какие модели это доступно, а также, э-э, почему я думаю, что это, как бы, полезно. Э-э, первое - это для моделей. Оно доступно прямо сейчас только в GPT5, GPT5 Mini, э-э, Codeex и Gemini 2.5 Pro. Э-э, но да, это просто часть более широких усилий, чтобы сделать этот опыт или, как бы, просто опыт чата в целом более прозрачным. Э-э, и это также очень помогает, потому что это, как бы, полезно для обеих сторон. Так что для пользователя, я смотрю на это прямо сейчас и говорю: "О, как бы, похоже, что оно действительно, как бы, что-то делает". Э-э, это много, это много текста, очевидно, и, возможно, я не могу прочитать все это прямо сейчас, но это добавляет немного, как бы, прозрачности, и я думаю: "Ну, я вижу, что оно, как бы, на самом деле думает". И затем, с другой стороны, для самой модели, рассуждения улучшают ее внутреннюю работу. Как бы, я думаю, это очень помогает, как бы, работать по шагам. Вы можете видеть, как она говорит: "О, я должен сделать это, а затем я должен сделать это". Э-э, так что вместо того, чтобы, как бы, переходить прямо к чему-то, вы можете на самом деле, как бы, пройти через что-то шаг за шагом. И для нас иногда мы видим, как она, как бы, сходит с рельсов. И мы можем на самом деле, как бы, остановить ее сами. Э-э, я разверну это, и вы сможете увидеть, как это будет выглядеть, если вы развернете это, пока она думает. Но, э-э, да, это определенно просто, как бы, много текста в целом. Это много рассуждений, но я думаю, что это добавляет, как бы, тонну прозрачности и может сделать ответы немного более связными. >> Да, это такое улучшение качества жизни UX, которое трудно измерить. Я думаю, до появления токенов мышления, Джастин, поправь меня, если я ошибаюсь, но оно просто вращалось, и ты не знал, что оно делает, верно? Как бы, для меня я смотрел на это и думал: "Что ты делаешь? Как бы, это просто API просто ждет? И оно просто думало, но ты не видел никаких токенов мышления. И поэтому восприятие такое, что оно медленное, но нет, на самом деле оно работает. Оно просто думает. Это было первое, что я понял: "Вау, это ощущается намного более отзывчивым". >> Да, точно. Я думаю, э-э, с точки зрения производительности, как бы, или, я думаю, с точки зрения воспринимаемой производительности, это определенно помогает, как бы, с, я думаю, временем до первого токена. Реалистично, это не имеет большого значения, но кажется, что оно делает больше, потому что вы знаете, вы можете видеть прогресс в реальном времени. Вы можете, как бы, видеть, как оно прокручивается, прежде чем оно на самом деле выдаст эти, как бы, окончательные правки или эти, как бы, фактические ответы, которые, как бы, выходят из LLM. Э-э, но да, я думаю, что это определенно лучше, чем смотреть на вращающийся индикатор. Э-э, и надеюсь, что будет какой-то опыт, который мы в конечном итоге сможем предоставить не только для упомянутых мной моделей, но и, э-э, они должны появиться в ближайшее время, и все наши, как бы, в всех других, как бы, моделях, которые поддерживают рассуждения, включая все модели Anthropic, э-э, и, как бы, надеюсь, любые новые модели, которые появятся в ближайшее время. >> Так что, помимо улучшения UX, э-э, Джастин, другая вещь, которую я заметил, это то, что часто возникает вопрос: "Действительно ли тебя волнует, что думает модель?" И часто ответ - нет, не волнует. Но иногда волнует. Иногда она дает мне ответ, и я думаю: "Да, это звучит как полная чушь. Похоже, ты это выдумал". И первое, что я делаю, это возвращаюсь к мышлению и смотрю: "Как она на самом деле пришла к этому ответу?" И иногда ты проходишь через это, и ты говоришь: "О, это правильно, потому что она нашла этот другой файл, который я не учитывал". А в других случаях я смотрю и говорю: "Нет, это чушь. Ты просто выдумал это". И поэтому мышление очень помогает с этим. тот факт, что у вас есть к нему доступ. >> Да, точно. Я думаю, вы определенно можете просто, как бы, вернуться назад и прокрутить, и, как бы, вы можете очень четко увидеть, как бы, что она на самом деле пытается сделать, какие вызовы инструментов она в конечном итоге использовала и так далее, и так далее. Так что, как бы, вы можете видеть здесь на самом деле, или в одном из других сценариев, э-э, вы можете видеть, как она говорит: "О, я собираюсь изучить эту, как бы, реализацию корзины", а затем она выполняет чтение, запись, а затем говорит: "О, теперь я собираюсь реализовать это". Так что я собираюсь прочитать страницу корзины здесь. Прочитать, как бы, страницу продукта. Она читает индекс, и, как бы, все связано вместе. И это одна из других вещей, о которых я хотел поговорить, с вами, вы можете видеть, как некоторые из этих вызовов инструментов на самом деле встроены в эти, как бы, контейнеры рассуждений. Если я изменю это, так что у меня есть, у меня есть пара настроек, которыми я хочу поделиться с вами. Так что эти две основные экспериментальные настройки, которые, э-э, будут диктовать, как опыт мышления, э-э, появляется в вашем чате. И у нас есть эта, называется "фиксированная прокрутка", и это, как бы, то, что вы видели раньше, где есть, как бы, эта фиксированная высота, и контент мышления прокручивается. Вы бы видели, как что-то происходит, но оно не было бы полностью развернуто. У нас есть другая. Э-э, эта, вероятно, самая, я бы не сказал, инвазивная, но самая многословная, или она выглядит самой многословной. Э-э, но я просто скажу это и посмотрю, появится ли что-нибудь. Но вы увидите в этом случае, что она на самом деле потоково передает все это, и, как бы, ничего не будет свернуто, пока мы не получим первую часть ответа. И некоторым людям это на самом деле очень нравится, потому что в этой версии, вы можете видеть здесь, она потоково передает, потоково передает, потоково передает, а затем >> она не сворачивает это автоматически. >> Да, она не сворачивает автоматически, пока мы не получим, как бы, либо вызов инструмента, либо, как бы, редактирование, или, или, как бы, ответ. Мне это нравится больше. >> Да. Да. У меня много, много людей говорили, что им это очень нравится. Так что, э-э, это определенно один из опытов, который я, я не собираюсь, как бы, пропускать. Я, я знаю, что я потратил кучу времени, работая над, как бы, фиксированной прокруткой. Э-э, и это на самом деле значение по умолчанию в инсайдерах прямо сейчас, но, э-э, или я имею в виду в инсайдерах и стабильной версии. Но да, если есть опыт, который вам может понравиться, вы определенно можете попробовать и этот. А затем последний здесь, с свернутым. И со свернутым, это, по сути, полная противоположность версиям с фиксированной прокруткой и свернутым предварительным просмотром, где ничего не будет развернуто по умолчанию. Вместо этого у нас есть только этот заголовок, и это меняется. О, >> и вещи движутся за кулисами, но мы не, но мы на самом деле не разворачиваем их. Так что, если вы действительно ненавидите рассуждения, если вы действительно не хотите видеть все это, вы можете просто свернуть это, и это будет немного более минималистично. Теперь, Джастин, являются ли токены мышления частью окна контекста, как это работает точно? Я не на 100% уверен на самом деле. Э-э, но я могу перепроверить, и я, вероятно, добавлю это в примечания к выпуску, э-э, тоже. >> Да, потому что я, я просто любопытен. Я не знаю ответа на это. Иногда чат знает здесь, или кто-нибудь может найти это для нас в Google, но я никогда не знаю, как бы, что на самом деле является частью окна контекста, а что нет. Я стараюсь быть более осведомленным об этом, особенно с суб-агентами сейчас. Просто стараюсь, как бы, держать этот контекст чистым, насколько я могу, зная, как это влияет на производительность агентов. Я также заметил здесь, что вы выбрали мини, это просто для скорости для демо, или это, как бы, ваша модель по умолчанию, мнения о моделях? >> Да, просто для скорости для демо. Как бы, я могу показать вам, как это выглядело, если я нажму на перезагрузку. Давайте посмотрим. Круто. Корзина работает. Добавить в корзину. Вы можете видеть, как число увеличивается там. Смотрите. Да, я имею в виду, это было быстро. Э-э, довольно быстро дошло до сути. Э-э, тот опыт, который я на самом деле демонстрировал, э-э, на Universe, если кто-нибудь был на этом прямом эфире, я демонстрировал опыт в Codeex. Э-э, и, ну, круто. Вы можете видеть здесь, у нас теперь GPD 5.1. Э-э, >> 51 51 вышел сегодня. Смотрите. >> Давайте сегодня. Но я собираюсь показать это. Рискнуть и перейти к Codeex Mini? Я, я не буду рисковать. >> Сделай это. Сделай это. Сделай это. Сделай это. >> Хорошо. Что люди получают за то, что они на прямом эфире. Мы хотим дать им >> хорошее объяснение. Но давайте скажем, что, как бы, есть что-то здесь, что я хочу исправить, как бы, может быть, на этой странице корзины, мне нравится, когда я нажимаю "Оформить заказ". Хорошо. Оформление заказа должно быть реализовано, верно? Э-э, прямо сейчас убедитесь, что есть приятная страница оформления заказа с обзором всего. >> Чувак, твоя печать слишком четкая. Как ты это делаешь? У меня есть приятная, э-э, приятная клавиатура. Вы знаете >> какая? >> Это очень, о, ну, знаете, вот почему мы не пробуем новые модели. [смех] >> Извините, это моя вина. Они, вероятно, разворачивают ее, как только я говорю. >> Вероятно. Э-э, но да, пока это идет. Нет, это, это очень классическая, это, это GMMK Pro. Это >> поднимите ее к камере. >> Так что она проводная. >> Да, она проводная. Я держу ее проводной. Э-э, >> у нее есть этот маленький Shift на правой стороне? Потому что это меня сводит с ума. >> Она, она немного меньше, знаете, но, э-э, да, я люблю, о, я, я забыл изменить, э-э, изменить стиль здесь. Так что, что я собираюсь сделать сейчас, это я собираюсь показать две настройки, о которых я говорил раньше. Так что эта вторая настройка здесь на самом деле делает, она включает, где вы помещаете свой, где мы решим поместить вызовы инструментов в рассуждения или нет. Некоторым людям это очень нравится, а некоторым нет. Так что вы можете видеть здесь с Codeex, он немного думает. Он выполняет чтение. Он выполняет мышление. Он выполняет чтение, а затем все просто находится в той же сворачиваемой, сворачиваемой части. Э-э, так что он в итоге суммируется здесь, потому что я думаю, что мы уже довольно долго в чате. Э-э, но да, я думаю, что это один из стилей, который делает чат довольно минималистичным и, возможно, немного более последовательным, потому что, возможно, иногда вы не хотите, как бы, видеть все чтения. Вы не хотите видеть все вызовы инструментов. И конкретно, как бы, здесь, э-э, этот режим "только чтение", э-э, эта настройка немного вводит в заблуждение. Она называется "только чтение", но, э-э, все, что она на самом деле означает, это то, что любые вызовы инструментов, связанные с поиском, чтением, поиском в тексте, списком каталогов, поиском в кодовой базе, эти более пассивные вызовы чтения будут добавлены в выпадающий список рассуждений. Однако, э-э, вещи, такие как создание, как бы, редактирование, подобное этому, не будут добавлены. И, конечно, все, что связано с пользовательским, как бы, вводом, как бы, MCP или терминалами, будет вызывать, что требует пользовательского ввода, не будет попадать в контейнер рассуждений. Э-э, но вы можете видеть здесь сейчас, это довольно минималистично. Он выполнил кучу вызовов чтения, но, возможно, как пользователь, мне все равно, и я не хочу этого видеть. Э-э, но это происходит за кулисами, и это просто одно из решений UX и UIUX, которое мы решили принять. >> Очень хорошо. Э-э, Джастин, спасибо большое, что были здесь, чтобы поговорить о токенах мышления. Есть ли что-нибудь еще, что мы хотим поделиться с людьми, прежде чем мы пригласим нашего последнего гостя? >> Э-э, нет, я думаю, это все. Я думаю, определенно не стесняйтесь попробовать. Э-э, еще раз, две возможности, которые являются значением по умолчанию и стабильными, это фиксированная прокрутка и только чтение. Это все еще экспериментальные. Так что, если вы заметите какие-либо ошибки, обязательно свяжитесь с нами. Вы можете подать проблему на vscode.com или не vscode.com github.comscode-issues. Э-э, но да, определенно просто подайте ESGC и попробуйте это во всех моделях, которые доступны прямо сейчас. >> Хорошо. Теперь я задам вам вопрос, и вы можете либо >> вы можете либо выбрать ответ, либо отказаться. Вы готовы? >> Конечно. >> Вот так. Что такое Raptor Mini? Потому что оно было в вашем списке моделей. Э-э, [смех] я, я не >> я возьму это, если ты не хочешь. >> Это, это публично? Я, я на самом деле не уверен. Я, я не в курсе, публично ли это или нет. >> Да, я имею в виду, это было опубликовано на Reddit и в других местах. Я рад ответить >> э-э, я, я, я немного работал над этим, особенно над частью рассуждений, но нет, ты можешь взять это. >> Да. Так что Raptor Mini - это модель, над которой мы работали и продолжаем работать. Э-э, вы увидите ее в, люди начнут видеть ее в списке, и поэтому больше информации об этом скоро, поскольку мы продолжаем работать над ней. Но, как мы говорили вам раньше, как, пока мы работаем над этими вещами, вы их получили. Так что следите за новостями о Raptor. Да. Хорошо. Спасибо большое, Джастин. >> Да. Спасибо, Берк. >> Хорошо. Ну, слушайте, ребята. Мы оставили лучшее напоследок. Если вы, если вы остались так долго, то вас ждет настоящее угощение, потому что, э-э, потому что Джоанна здесь, и Джоанна - мой любимый дизайнер в команде VS Code. Не говорите другим дизайнерам, что я так сказал. [смех] >> О, это, это пикантное мнение. >> И у тебя новый VS Code Patagonia. >> У меня есть худи. Покажи всем это. Смотрите. >> Я люблю это. >> Джастин на самом деле разработал и организовал, э-э, VS Code Patagonia, и они потрясающие. >> Они такие крутые. Да. Я думаю, я пошел в Patagonia вскоре после того, как получил Patagonia, и надел Patagonia в Patagonia. Так что очень зол на >> Patagonia Inception, чувак. [смех] >> Вот так. Хорошо. Джоанна, о чем, э-э, о чем мы будем сегодня говорить? >> Да, я имею в виду, Джастин только что показал кучу отличных улучшений в панели чата, связанных с рассуждениями. И я думаю, что это действительно говорит о том, на чем мы сосредоточились в октябрьской итерации в этом текущем выпуске, это просто качество жизни и попытка добавить эффективность и сгладить опыт и действительно улучшить, э-э, то, как ощущается работа с этими все более крупными задачами. И поэтому одна из этих вещей - это пользовательский агент планирования. Я уверен, что вы уже говорили об этом, и Гарольд также был на прямом эфире и проводил кучу обсуждений и презентаций на GitHub Universe по этому поводу, и это было действительно отличное дополнение для многих людей, которым нужно немного больше руководства и, как бы, хотят иметь этот опыт планирования только для чтения, где они могут итерировать над тем, что агент должен делать в первую очередь, а затем позволить ему взять это оттуда и реализовать, и мы получили много отличных отзывов об этом до сих пор. Я знаю, что с GitHub Universe и просто от людей, которые пробуют это на разных социальных сетях и тому подобном, и это было здорово, и теперь наша задача - как мы можем взять все эти отзывы и снова улучшить их. Но было очень приятно, что люди начали использовать его, и, да, уже видят преимущества. Да, режим планирования был очень веселым. Я сам им пользовался. Промпт в режиме планирования очень интересный, и вы можете посмотреть на него в чате, вы можете посмотреть, как они его собрали, и есть некоторые вещи, которые вы можете узнать из этого промпта. Э-э, но, я думаю, с точки зрения UX UI, э-э, у нас есть некоторые вещи здесь, как, например, передачи. Мы хотим поговорить о >> передачах. >> Конечно. Так что передачи - это своего рода средство реализации для пользовательского режима планирования, но это то, что, как мы надеемся, можно будет использовать и в других пользовательских режимах в будущем. Режим планирования - это своего рода наше первое знакомство и тестирование этой концепции, где внутри агента, самого определения пользовательского агента, вы можете определять передачи. И вы можете видеть на этом изображении, у меня есть две кнопки в конце моего ответа: "Начать реализацию" и "Открыть план в редакторе". И поэтому это своего рода дискретные следующие шаги, которые поставляются с режимом планирования из коробки, но с передачами вы можете определить для своих собственных пользовательских агентов, чтобы добавить некоторую структуру и шаги в то, что иногда может ощущаться как открытый промпт. И поэтому это говорит в целом о том, куда, как я думаю, движется UX будущее этих инструментов разработчика, которые по своей природе основаны на чате, но все больше и больше нуждаются в поддержке конкретных шагов и рабочих процессов и вовлечении пользователей в нужные моменты, но продолжении, насколько это возможно, без этого. И поэтому нам нужно добавить некоторую структуру к этому. И поэтому передачи - это отличный способ начать тестирование и понимание того, как это можно использовать. И поэтому я очень рад видеть, как больше людей его принимают и, и то, для чего они его используют, потому что это может помочь нам понять, как мы должны представлять передачи в чате? Должны ли они всегда быть кнопкой? Должны ли они, знаете ли, если у вас есть пять разных передач, должны ли они быть выпадающим списком? Как это может действительно информировать нас, как только мы увидим, как люди его используют и дают нам больше отзывов. Так что, когда я сегодня заметил, что вы нажимаете эти кнопки, что происходит? >> Да. Так что "Начать реализацию" по умолчанию переводит вас в режим агента. Так что это своего рода выводит вас из этого режима планирования, который имеет, э-э, вы можете определить ограниченный набор инструментов, на случай, если вы не хотите, чтобы он начинал редактирование еще, и вы хотите, чтобы он сосредоточился и имел этот, как бы, промпт, о котором вы говорили, который очень сосредоточен на, э-э, знаете, каковы шаги, каковы технические ограничения и вещи, на которых мы хотим сначала договориться, чтобы в конечном итоге обеспечить более точный вывод. И поэтому "Начать реализацию" - это, по сути, как бы, большой палец вверх, это выглядит хорошо, давайте начнем реализацию, и это выводит вас из режима планирования в режим агента. А затем для тех, кто хочет увидеть сам план, который агент собирается использовать, и, возможно, прочитать его более внимательно или отредактировать его, э-э, напрямую. Они могут использовать вторую кнопку здесь, "Открыть план в редакторе", которая открывает план в виде файла markdown. Так что, если вы хотите более пристальный взгляд или, знаете ли, иногда проще исправить что-то напрямую самому, чем просить в чате еще одну итерацию, э-э, знаете ли, если это просто имя, как бы, нет, не эта папка, эта папка, как бы, изменение в плане, э-э, это может быть просто быстрее и проще сделать это напрямую в файле markdown. И поэтому, если вы, если вы любопытны, как работает агент планирования, это также отличный способ увидеть, как бы, что он использует за кулисами. Но когда я тестировал это раньше с пользователями. Один из ключевых отзывов, который мы получили, заключался в том, что мы не хотели по умолчанию вываливать пользователей в длинный файл markdown, а скорее сделать это опцией, если вы хотите углубиться, но по умолчанию мы показываем вам сводку или обзор этого плана, а затем вы можете решить, выглядит ли это хорошо. Так что это своего рода легкая структура по умолчанию, но затем дает вам возможность углубиться и действительно потратить, знаете ли, больше циклов на планирование, если это большое изменение или что-то, с чем вы менее знакомы. >> Да. Теперь у нас есть вопрос, и я собираюсь его задать, потому что я слышал это несколько раз, Дж., я позволю тебе ответить на это, и у меня есть свои мысли, но это, не этот. Подожди. Это вот этот. Этот съедает премиум-запросы как сумасшедший. Каково ваше мнение об этом. >> Да, это было, э-э, да, это определенно было частью отзывов. Я знаю, Роб работает над этим. [смех] Я не знаю, какое решение еще, но это определенно то, что мы хотим, чтобы пользователи понимали, особенно если мы начинаем с авто-модели, и многие люди доверяют ей использовать запросы в, э-э, консервативном способе или, как бы, экономном способе для таких вещей, как планирование. Э-э, как мы можем убедиться, что модели, которые мы предлагаем по умолчанию, по крайней мере, э-э, лучше всего используются, чтобы это не съедало ваши премиум-запросы, делая кучу работы за кулисами. Э-э, так что да, у меня еще нет решения, но я знаю, что Роб в курсе и работает над этим. [смех] >> Так что мне это нравится. Да. Так что мы можем сказать, что мы слышим вас, мы понимаем, и >> и они, и, как сказала Джо, они работают над этим. Так что моя мысль здесь в том, что я согласен, это съедает премиум-запросы как сумасшедший. Э-э, это своего рода природа вещи, потому что, поскольку она итерирует и задает вам вопросы и уточняет свои следующие вопросы на основе предыдущих ответов, вам нужен этот итеративный цикл, чтобы задать все вопросы за один раз, потому что ей нужен ваш ввод, чтобы затем уточнить и задать дополнительные вопросы. Так должно работать планирование. Так что я согласен с вами, Джоанна. В идеале, автоматический режим просто справится с этим и посмотрит и скажет: "Хорошо, >> знаете ли, мини, вероятно, справится с этим". >> Да, >> нам не нужно отправлять это Клоду и сжигать премиум-запрос здесь. >> Да, >> но мы еще не там. >> Да, >> это будет хорошее будущее. >> Если вы откроете файл markdown, посмотрите на промпт в нашем репозитории с открытым исходным кодом, как бы, вы можете увидеть больше того, о чем вы только что говорили, о том, что он делает за кулисами. И знаете ли, в определенный момент, даже если вы используете модель с более низкой стоимостью, она все равно будет делать гораздо больше за кулисами, чем вы можете видеть. Так что я думаю, что обратная связь для меня и других дизайнеров заключается в том, знаете ли, когда вы делаете что-то, что выполняет несколько шагов за кулисами и использует больше токенов, чем кажется. Как мы можем сделать это более прозрачным, чтобы, по крайней мере, вы знали, как бы, вот куда это идет. Э-э, а затем это идет рука об руку с обеспечением того, чтобы мы использовали их, э-э, более ожидаемым образом. Так что вот действительно интересный, Джоанна, а затем мы, мы должны закончить чат. Извините, потому что у меня что-то в 11:30, но, э-э, так что это интересно. Как насчет инструмента запроса, который вызывает модель вместо завершения ответа? Так что я могу представить [очищает горло] как бы, мы не, в чате нет пользовательского интерфейса для ответа модели, но если бы это был вызов инструмента, который, как бы, открывал окно, которое давало вам, и вы отвечали на них, а затем он продолжался, что не стоило бы нового, это не новый ход, это тот же агент, и поэтому вы не получаете плату за новый премиум-запрос. Да, это, я, мне нравится эта идея, и это на самом деле то, что, э-э, я видел некоторые исследования на стороне GitHub, поскольку они добавляют, поскольку они, как бы, думают о том же, и мы работаем вместе, чтобы убедиться, что эти продукты ощущаются как сестры, по крайней мере, как бы, если есть открытые вопросы или последующие вопросы, которые являются простыми ответами. Да. Должен ли это быть запрос, и мы просто говорим: "Привет, какой язык вы хотите использовать для этого?" И вы можете ввести или даже есть выпадающий список, как вариант один из трех, давайте выберем его. Э-э, я думаю, это отличная идея, и я думаю, что, э-э, возвращаясь к тому, что я сказал ранее о добавлении дискретных рабочих процессов поверх чата, это, это вызов, потому что, знаете ли, чат как модальность имеет набор ожиданий, что это своего рода свободный ввод и вывод. Но теперь мы начинаем добавлять, э-э, некоторую функциональность поверх этого, где пользователи могут направлять его. И, э-э, вы можете представить себе более богатые варианты, возникающие из этого, где, да, это не всегда должен быть просто естественный язык в качестве ответа. Так что мне нравится эта идея, и я, я думаю, что это то, что нам придется сделать, как бы, неизбежно, где, э-э, >> это просто неэффективно набирать и отвечать, знаете ли, пять последующих вопросов за раз, как три раза подряд. Так что, э-э, да, мне нравится эта идея. >> Так что, слушайте, Чад, вы должны быть утешены тем, что Джоанна думает об этом. И, э-э, я хотел бы, чтобы все могли быть в UX, внутреннем UX чате. Вы можете видеть все эти UX вещи, которые делает Джоанна. Они потрясающие. Я всегда спрашиваю ее. Я говорю: "Можем ли мы опубликовать это? Можем ли мы опубликовать это? Можем ли мы разместить это в Твиттере, потому что они такие крутые?" Но, э-э, я хочу поблагодарить вас. Мы должны закончить. У меня есть две минуты, чтобы перейти к другому звонку. Джоанна, спасибо большое, что были здесь. >> Да, спасибо, что пригласили. >> Все проверьте режим планирования. Это наша вечеринка по случаю выпуска на этой неделе. Э-э, это огромный выпуск, верно? Нажмите на эту шестеренку, обновите свой Visual Studio Code, и, как всегда, чат, счастливого кодирования. Хороших выходных. Пока. >> [музыка]