Transcription
Добро пожаловать обратно всем на подкаст VS Code Insiders, ваш универсальный магазин для всего, что связано с VS Code. Если вы пользователь VS Code, что ж, вы попали по адресу, потому что мы заглядываем за кулисы команды, которая создает ваш любимый редактор кода во всем мире. И со мной снова Бриджит Мертон. Как дела, Бриджит? Все отлично. Как ты, Джеймс? Я чувствую себя просто потрясающе. Я в гараже. Какое прекрасное место. Это фантастика. Сегодня утром было очень холодно, прямо морозно. У меня был звонок команды, и я дрожала, а теперь мне жарко. И я знаю, что на мне свитер. Так что, но как бы я думаю, я знаю, что снова станет холодно, но как бы солнце светило. Я не знаю, что делать, потому что это гараж, но я здесь временно. И в конечном итоге меня снова выпустят из гаража. Хорошо, есть ли конкретное время, когда вас выпустят, или это будет определено позже? Это будет определено позже из-за строительства. Так что никогда не знаешь. Это может быть на следующей неделе, а может быть, и в следующем году. Кто знает? Так что. У тебя есть куртка, ты готова. Я готова, несмотря ни на что. И запасная куртка здесь. Ну, я очень рада, что ты снова здесь, потому что в прошлый раз, когда ты была на подкасте, я имею в виду, ты постоянно участвуешь в стримах и во всем таком. Но ты и Джош присоединились в сентябре прошлого года. Так что это как бы, знаете, 25 лет назад, по сути, в терминах разработки агентов. Но, знаете, 8 месяцев назад или около того, мы говорили о будущем кодовых агентов в VS Code. И это было своего рода введение, знаете, облако и фон уже были там, но представление сессий и организация, размышления о сессиях, размышления о том, как мы развиваемся с агентами и работаем над более чем одним проектом одновременно, и как мы управляем этим в наших проектах, в наших рабочих пространствах. И это был действительно отличный разговор. Если вы хотите вернуться, vscodepodcast.com/6. Так что, действительно в самом начале разговора. Но я подумала, что было бы здорово пригласить тебя снова, чтобы поговорить о том, как выглядит будущее сейчас или в будущем, верно? Я думаю, сразу после выхода подкаста они уже были в будущем. Но, знаете, будущее наступало. Оно развивалось, знаете, не только VS Code и представление сессий всего этого, но и совершенно новое окно агентов, которое также было выпущено, и в которое наши люди погружаются. Как это произошло? Так что я хочу немного углубиться в этот процесс, и, возможно, мы можем сделать шаг назад и сказать: «Эй, в конце прошлого года вот где мы были, и вот что произошло с тех пор». Как это звучит? Да, это звучит отлично. Хорошо, давайте вернемся. Вау, вау, вау, вау, вау, вау, вау, вау, вау, вау, вау. Звуковой эффект. Вау, вау, вау, вау, вау, вау, вау, вау. Идеальные звуковые эффекты. Итак, выходит «Будущее кодовых агентов». Это как выпуск 1.04, верно? Команда все еще выпускает обновления каждый месяц. Это безумие, знаете ли, в наши дни. Так где же и как развивались агенты с тех пор? Как бы, знаете, мы думаем о конце праздников и начале 2026 года. Да, за последний год с лишним, с тех пор, как мы были в последний раз в подкасте, наша команда продолжала делать много различных инвестиций и итераций в эти различные виды агентов и агентурных задач и оболочек. И вот, когда мы с Джошем были в эфире, мы говорили о фоновом агенте или Copilot CLI, а также о Copilot Cloud agent. Я думаю, что Claude agent, возможно, вышел после этого. Я думаю, это было раньше в этом году. Так что это тоже вышло. Но даже с этими различными видами агентурных оболочек, я думаю, мы можем назвать их так, и локальный режим агента в VS Code будет оболочкой VS Code, но затем он будет работать на других опциях, будь то Copilot CLI, это будет оболочка Copilot CLI, облачная оболочка, оболочка Claude agent, все такое прочее. Так что наша команда продолжала инвестировать в эти возможности, которые вы могли использовать в панели чата в редакторе VS Code, с которыми вы уже знакомы. И мы также продолжали итерировать по управлению различными сессиями и тому, как выглядит этот поток делегирования. И мы действительно работаем в пределах существующего окна редактора VS Code. И поэтому, независимо от того, сколько различных агентов и сессий агентов вы запускали и управляли, вы действительно будете работать в одном рабочем пространстве за раз. Одним из возможных обходных путей может быть то, что вы находились в пустом окне редактора VS Code, и у вас не было открытого рабочего пространства, поэтому вы могли бы задавать более общие вопросы или выбирать репозиторий оттуда, но на самом деле все было ограничено одним проектом, одним репозиторием за раз. И с этим, я думаю, было очень здорово видеть, как наша команда и наши пользователи становились более многоагентными и многозадачными, и действительно думали о вещах с точки зрения того, чтобы быть агентом в первую очередь или задачей в первую очередь или ориентированными на задачи, где вместо того, чтобы действительно сосредоточиться на том, что я буду писать и или просматривать каждую строку кода и быть ориентированным на код и редактирование в первую очередь, я, возможно, поднимусь на уровень выше и подумаю о том, какие средне- или высокоуровневые задачи я хочу поручить агенту или серии агентов. И часто бывает так, что мы работаем не над одним конкретным проектом. Могут быть проекты, которые имеют разные зависимости и отношения друг с другом, или я могу просто хотеть работать над разными вещами в течение дня, которые могут быть совершенно не связаны, и они охватывают разные репозитории и разные проекты полностью. И поэтому, с учетом этой отличной многоагентной работы, которую команда выполняла, и всех инвестиций в панель чата и тому подобное, стало возможно быть многоагентным в VS Code, и многие из нас, я думаю, все мы в команде, и я думаю, многие из наших пользователей узнавали об этом и принимали это. Но я думаю, что с этим мы также видели как в отзывах пользователей, так и в нашем собственном использовании, что было бы полезно думать даже за пределами традиционных границ окна редактора или за пределами традиционной панели чата, которая у нас есть уже некоторое время. И поэтому, думая об этом, как я могу управлять несколькими агентами, возможно, я бы открыл некоторые из разговоров агентов сбоку или как новые окна редактора. Я бы как бы разделил вид в моем основном редакторе с несколькими разными разговорами. Я также мог бы открыть еще один и сосредоточиться на нем в панели чата. Я мог бы попытаться сравнить результаты, переключаясь между ними. Но даже с этим, казалось, «Хорошо, это все равно будет сосредоточено только на одном проекте за раз». И если я хочу работать над другими проектами, я совершенно могу это сделать. Я могу открыть еще один экземпляр VS Code. Но теперь я переключаюсь между разными окнами и балансирую разные вкладки, разные панели редактора и тому подобное. И казалось, что, возможно, есть способ, которым я мог бы действительно просто сосредоточиться на агентах и их результатах. Как будто если это действительно то, на что я трачу много времени или все больше и больше времени, как бы это выглядело, чтобы сделать этот поток еще более, скажем так, фокусом того, что я делаю и на что я смотрю? И тогда это было вдохновением, которое привело нас к тому, о чем мы говорили в последних нескольких заметках о выпуске, это окно VS Code Agents. Которое, если вы использовали VS Code, что я ожидаю, вероятно, многие из слушающих это делают, вы привыкли к более традиционному окну редактора, которым является VS Code. Но теперь окно Agents — это сфокусированная, оптимизированная среда, которая действительно ставит разработку, ориентированную на агентов и задачи, на первый план. И поэтому будет еще проще быть центральным местом для нескольких агентов, охватывающих несколько проектов. А затем также сосредоточиться на вещах, которые действительно делают агентов и вас, работающих с ними, успешными, будь то ваши настройки, такие как пользовательские агенты и серверы MCP, выводя их еще больше на передний план, делая их видимыми и редактируемыми прямо там, где вы работаете. Предоставление возможности генерировать и добавлять задачи для выполнения и просматривать интегрированный браузер и действительно просто сосредоточиться на изменениях и тому подобном таким образом, чтобы это было еще более ориентировано на агентов, а не на код. Я думаю, это отличный способ. Мне это нравится. Я много читал документацию, и там очень много говорится о коде в первую очередь, агенте в первую очередь. И как бы мы жили в этом промежуточном мире, похоже, долгое время. Где, и я вижу, и я думаю, нет способа использовать эти инструменты. Как и есть разные люди для разных инструментов, и люди могут использовать разные инструменты одновременно. Как прямо сейчас, у меня открыт VS Code, открыт CLI, открыто приложение GitHub, открыт браузер. Как и у меня есть все разные инструменты в зависимости от решаемой проблемы. Я часто нахожусь в VS Code в основном, но я часто нахожу сценарий. Я думаю, о, знаете что? Я просто запущу это, или мне нужно работать над этими восемью проектами прямо сейчас одновременно, или знаете что? Я просто не хочу, чтобы что-нибудь работало на моей машине прямо сейчас. Просто чтобы перейти туда, верно? Так что я думаю, мы жили в этом, и меня в первую очередь интересует эволюция, как вы видели, как команда кодирует и слушает разработчиков. Я думаю, для меня, когда я впервые начал использовать режим агента, я думаю, это было в феврале прошлого года. Так что, февраль 2025 года, верно? Я глубоко погрузился в это, и я действительно задавал вопросы, просматривал, печатал, и это было как бы, я использовал это не просто как IntelliSense и полное завершение строк и, знаете ли, призрачный текст, но это писало много кода, но затем я тратил много времени просто на итерацию с ним, как если бы я сам итерировал над проблемой. И похоже, что даже с сентября это сильно развивалось, как мы взаимодействуем с кодом по-разному. Можете ли вы рассказать о том, как вы видите, как команда и рабочие процессы, возможно, жизненный цикл разработки программного обеспечения, как этот аспект внутри VS Code меняется, прежде чем мы поговорим о многоагентных сессиях? Да, я думаю, это отличный момент, который вы поднимаете, и я думаю, что по нескольким пунктам, которые вы подняли, да, позволяя нашей команде, позволяя нашим пользователям работать так, как им наиболее комфортно и продуктивно. Я думаю, это главное, что мы всегда хотели делать с VS Code, но также продолжает мотивировать нашу работу здесь с окном агентов и тем, чтобы быть более ориентированными на агентов, это то, что мы хотим, чтобы если у вас есть весь ваш день, часть вашего дня, часть вашего дня ориентирована на агентов, вы можете свободно перейти в среду этого окна агентов, как вам угодно, а затем вы можете свободно вернуться в окно редактора VS Code, как вам угодно. Вы не ограничены только одним. Вам не нужно выбирать только один путь. Вы можете перемещаться между ними, если это хорошо работает для вас. Я думаю, что, думая о нашей команде, я думаю, что интересно, я приведу несколько примеров, например, я знаю, что разные из нас, будь то репозиторий VS Code или другие продукты, над которыми мы работаем. Часто у нас было несколько клонов на наших машинах. У нас был VS Code один, VS Code два, VS Code 10, чтобы запускать разные задачи на них, выполнять разные варианты работы, как управлять ими в разных экземплярах редактора, в зависимости от того, хочу ли я работать над функцией А здесь, функцией Б там и функцией С там, и управлять ими всеми одновременно, не имея конфликтующих изменений. Это был бы своего рода рабочий процесс, который, я думаю, мы наблюдали в нашей команде или у пользователей. Но теперь, благодаря таким вещам, как рабочие деревья, например, которые, по сути, создают отдельную изолированную папку для вашей работы, которая не будет конфликтовать с основной веткой или папкой, над которой вы работаете, это действительно приятно, опираясь на эти примитивы, которые затем делают так, что, о, мне, возможно, не придется иметь два, пять или десять клонов одного и того же проекта на моей машине. Вместо этого я могу как бы настроить свою конфигурацию с помощью некоторых встроенных функций VS Code, окна агентов, Copilot CLI, чтобы сделать вещи немного более эффективными и оптимизированными для меня, если это имеет смысл. Нет, это имеет большой смысл, и для того факта, что я только что провел внутреннюю сессию по рабочим деревьям, и, как вы сказали, в моем предыдущем рабочем процессе у меня был бы открыт экземпляр VS Code, работающий над кодовой базой, затем я бы общался с агентом. Но если бы я хотел работать над несколькими функциями, несколькими ошибками, как вы говорите, я бы тогда, надеюсь, не копировал и вставлял, но, знаете, мы все это делали. Но я бы тогда создал рабочее дерево. Теперь я всегда люблю рабочие деревья, даже если они немного сложнее, но я думаю, что мы действительно пытаемся сделать действительно хорошую работу по упрощению этого потока, но рабочее дерево по-прежнему представляет собой своего рода другую когнитивную нагрузку, знаете ли, понимания по сравнению с просто веткой. Но, что меня поразило, так это то, что если я хотел посмотреть на эту ветку, или, простите, это рабочее дерево, мне пришлось открыть совершенно другой экземпляр, верно? Так что я начал работать таким образом, и я уверен, вы тоже это видели, было так: ну, я мог бы запустить это в фоновом режиме, и я мог бы просмотреть это и вернуться. Но если я действительно хочу погрузиться в код, тогда мне придется открыть еще один, еще один, еще один, и это как бы казалось немного спорадичным, везде, верно? Знаете, если я работаю даже над исправлением ошибки или срочным исправлением, или функцией, у меня может быть куча открытых окон. И в то же время у меня открыто куча других проектов. Так что, даже если вы пытались не игнорировать код, а просто запустить и забыть и просмотреть его позже, все равно есть это разделение, верно? Вам приходится перемещаться в еще одно пространство, чтобы перейти к этому коду, вместо того, чтобы это был целостный опыт. Да, именно так. И поэтому, имея это целостным, имея, скажем так, значения по умолчанию, которые в идеале устраняют некоторую ручную работу по размышлению, хорошо, какая комбинация вещей, которые я хочу сделать на этот раз, и какой лучший способ изолировать мою работу по разным вещам, например, иметь рабочие деревья по умолчанию для get back tree для Copilot CLI и окна агентов. Иметь такие варианты, где мы представляем их пользователям, так что это не скрытая деталь, как мы все еще говорим: «Эй, вот что происходит». Но также пытаемся сделать это значением по умолчанию и не требовать слишком много знаний или опыта или выбора этого заранее. Я думаю, что нахождение этого баланса полезно, чтобы сделать это немного проще, немного более оптимизированным. Теперь, управление сессиями, знаете ли, в чате, верно? У нас есть сессии, я могу видеть историю, я могу развернуть, сделать ее больше. Я помню, знаете ли, когда это произошло, как это быстро развивалось в течение месяца. Как чему научилась команда и как они развивали просто встроенное представление сессий агентов в VS Code? Потому что оно продолжает развиваться. Да, и я думаю, мы прошли несколько разных итераций, особенно когда мы предоставляли больше опций, помимо локальной оболочки агента, когда мы предоставляли CLI и облако, а также облачного агента. Мы думали о способах, где, хорошо, где пользователи ожидают увидеть эти сессии перечисленными, и что создает ощущение, что вы получаете правильный уровень детализации, но при этом это близко к тому, где вы на самом деле работаете, и это не слишком перегружено или слишком запутанно. И поэтому у нас были разные итерации, когда было совершенно отдельное представление внутри VS Code на боковой панели слева или в основной боковой панели, куда вы могли щелкнуть и просмотреть свои различные сессии агентов и тому подобное. Но затем, после обсуждений того, как наша команда работала с различными агентами, и различных обсуждений с пользователями и отзывов, казалось, что, эй, я думаю, что пользователи ожидают найти свой список сессий где-то рядом с тем местом, где находится их панель чата, и где они на самом деле набирают сообщения и делегируют работу различным агентам локально, в фоновом режиме или в облаке. И поэтому это привело нас к тому, что мы поместили список сессий фактически в панель чата. Так что теперь он находится в верхней части панели чата, и вы все еще можете фильтровать и настраивать его так, как вам лучше всего подходит, показывая только определенные оболочки, сортируя их по-разному или фильтруя их по различным статусам выполнения или завершения. Но я думаю, что обучение тому, что мы приближаем это к тому месту, где пользователи фактически работают и просматривают чаты и запускают новые чаты, казалось, было полезным, эй, вот где люди ожидают получить эту информацию. И я думаю, что это своего рода обучение, которое затем мы распространяем на что-то вроде выделенного окна агентов: эй, предоставление всей высокоуровневой информации, которая важна пользователю, когда он работает и переключается между сессиями или задачами. Это кажется чем-то, что искала наша команда и наши пользователи. Да, давайте углубимся в это, потому что я думаю, важно, чтобы мы говорили об эволюции этого представления сессий и управления сессиями, потому что в первый раз, когда я открыл окно агентов, оно показалось мне довольно знакомым. Как будто было что-то знакомое с тем, что у меня уже было в VS Code. Во-первых, оно выглядит как VS Code. И я предполагаю, что это намеренно. Да, и потому что я думаю, что это действительно здорово, когда для существующего пользователя VS Code это не кажется, «Вау, это совершенно новое, и мне нужно переучиться и перенастроить так много разных вещей здесь, и это займет много времени, чтобы я стал продуктивным». И поэтому, позволяя ему быть похожим на VS Code в разных аспектах, но затем отличаться там, где мы хотим сделать его еще более оптимизированным и простым для пользователей, чтобы сосредоточиться на задачах агентов. Я думаю, это действительно хороший баланс, над которым мы работали и который мы формировали на основе отзывов команды и пользователей. Да, и не только оно выглядит как VS Code, но и как представление сессий. Может быть, вы можете описать людям, которые я вставлю видео сюда, которое, как бы, видео, которое вы сделали на YouTube VS Code. Я встрою его, чтобы люди могли получить представление о том, что, знаете ли, такое окно агентов. Но можете ли вы просто описать свой рабочий процесс в VS? Я открываю VS Code, а затем что? А затем что это выглядит? Каков опыт? Верно? И почему я нажимаю и делаю что, и что? Как туда попасть? Верно? И что я вижу? И что я делаю? Давайте пройдемся по потоку. Да. Отличный вопрос. Да, это очень весело. Итак, когда вы начинаете в VS Code, это может быть либо сразу после открытия редактора, либо когда вы уже выполняете какую-то работу, либо когда вы открываете конкретный проект, будут разные точки входа, которые приведут вас в окно агентов. И одна из них будет в правом верхнем углу строки заголовка редактора. Появится новый значок, который появляется там с последних нескольких выпусков, и с последнего стабильного выпуска также, если вы наведете на него курсор, появится надпись «Открыть в агентах». И поэтому, если вы нажмете на это, вы сможете открыть выделенное окно агентов. Есть также несколько других точек входа. Есть команда и, например, точка входа на странице приветствия. Различные места, где вы можете подумать: «Эй, я думаю, я хочу перейти к выделенному представлению агентов». Можете открыть там в агентах. И затем, когда вы откроете окно агентов, как вы сказали, Джеймс, оно покажется знакомым существующему пользователю VS Code, потому что, например, различные настройки, различные элементы пользовательского интерфейса, ваша тема перенесется с вами. Если вы уже прошли аутентификацию в GitHub Copilot, это также перенесется, так что вам не придется проходить повторную аутентификацию. Ваши привязки клавиш перенесутся с вами. Общие строительные блоки с настройками и чатом, они также покажутся довольно знакомыми. И поэтому, я думаю, это действительно хорошая точка перехода, если это не «Вау, я никогда раньше этого не видел, мне нужно перенастроить кучу вещей». Это «О, хорошо, круто. Моя тема перенеслась. Мои привязки клавиш перенеслись. Даже некоторые из моих расширений перенеслись, и я могу включить другие». У нас есть путь к этому. И поэтому, имея эти строительные блоки, «О, это та приятная настройка, которую я уже потратил время на создание в VS Code, которая переносится в окно агентов». И затем, не глядя на пользовательский интерфейс, есть несколько основных компонентов. Слева будет список ваших сессий, и по умолчанию они будут организованы по различным рабочим пространствам или различным проектам, над которыми вы работаете. И вы также можете легко добавить новые проекты. Или вы можете пометить сессии как выполненные, что, по сути, удаляет их из списка. Вы также всегда можете получить свои выполненные сессии в списке фильтрации. Итак, вы можете иметь список слева с текущей работой, завершенной работой, новой работой, которую вы собираетесь начать. Вы можете фильтровать его по-разному. А затем в середине будет основная область, где вы запускаете сессии агентов или просматриваете их результаты. И поэтому вы увидите несколько разных селекторов, и снова они покажутся знакомыми селекторам, которые вы, возможно, уже использовали в VS Code, если вы использовали агентов там. И поэтому вы увидите селектор, который по умолчанию будет использовать Copilot CLI в качестве вашей оболочки агента, но вы также можете выбрать использование Claude agent или даже облака, если вы работаете над удаленным репозиторием GitHub. А затем вы также увидите другие опции, такие как разрешения, модель и тому подобное. А затем вы также увидите, что по умолчанию используется рабочее дерево для сессии Copilot CLI, чтобы помочь с этой изоляцией. Вы можете выбрать смену на папку, если вы хотите, чтобы изменения просто попадали в вашу локальную папку, но по умолчанию будет использоваться рабочее дерево. А затем, после того как вы выберете проект из выпадающего списка, вы сможете отправить сообщение и запустить его для агента. И после того, как вы это сделаете, вы увидите, как результат возвращается так, как вы привыкли видеть его в потоке в панели чата в VS Code. И оттуда у вас есть варианты: хорошо, вы можете продолжать наблюдать, как агент работает, но поскольку это многоагентный, многорепозиторный, многооболочечный опыт, вам не обязательно просто наблюдать за его работой. Вы можете запустить сессии агентов на том же проекте, на других проектах, с использованием различных видов оболочек и даже на разных машинах. Они даже не обязательно должны быть только на вашей локальной машине. Вы также можете использовать SSH или dev tunnels, чтобы запускать или просматривать сессии, которые находятся на других устройствах, например, если вам нужен какой-то специализированный вычислительный ресурс или доступ к коду, который хранится только где-то, кроме вашей локальной машины. А затем, когда агент завершит свою работу или добьется прогресса, вы сможете отслеживать это в списке сессий слева. Вы сможете увидеть, находится ли он в процессе выполнения или нуждается в вашем вводе. Если это просто запрос на разрешение, которое вам нужно предоставить, вы сможете предоставить это разрешение прямо из боковой панели слева. Вам фактически не придется полностью открывать и перефокусироваться на сессии снова, позволяя вам оставаться на более высоком уровне для некоторых из этих потоковых задач. А затем, если агент завершит свою работу и сгенерирует изменения кода, вы сможете просмотреть их по-разному. Итак, вы можете добавить задачу для выполнения, а затем вы можете, возможно, запустить свое приложение, запустить свой веб-сайт, запустить свой проект, получить его предварительный просмотр. Вы можете просмотреть его непосредственно в интегрированном браузере прямо в окне агентов, так что вам даже не придется покидать окно, чтобы просмотреть, что сделал ваш проект. И вы также можете взглянуть на фактические изменения кода, которые были произведены. Итак, вы увидите как изменения, так и файлы. Так что, если вы хотите увидеть только изменения, которые были добавлены или внесены, вы можете сделать это непосредственно в строке. Таким образом, он может действовать на основе этой обратной связи и итерировать на основе того, что вы наблюдаете в этом предварительном просмотре. И если вы также хотите, есть вкладка «Файлы», так что вы можете увидеть полный список файлов проекта. Так что это не обязательно должно быть на высоком уровне, вы также можете просматривать и создавать файлы прямо там. О, это круто. Я собирался спросить, так что, когда вы открываете его, да, кажется, что, знаете ли, сам VS Code с, знаете ли, он развивался, он существовал первым, а затем агентский чат появился по мере развития агентской разработки. Теперь, с окном агентов, кажется, что «Эй, команда подумала, у нас есть возможность разработать что-то, что не ограничено 10-летней историей VS Code, верно? Знаете, каждое изменение в VS Code, верно, это потенциальное изменение в том, как работают разработчики. Это что-то новое, чтобы сказать: «Эй, мы находимся в рабочем процессе агента, мы можем подумать о том, как мы думаем». Это немного более предвзято в плане работы с агентами. Но мне нравится, что это знакомо. В первый раз, когда я открыл его, я подумал: «О, вот все мои рабочие пространства». И да, вот они работают. А затем: «О, вот диф». Это выглядит знакомо. О, я могу это запустить. Как вы говорите, это дает вам все эти приятные мелочи, но это немного, как будто есть немного больше, но также и немного меньше, как мне кажется. Но в целом, это не просто VS Code, который перемещает вещи влево и вправо, верно? [смех] Именно так. Я думаю, это очень хорошее описание. Это и немного больше, и немного меньше, потому что, например, если люди работали с настройками для агентов разными способами в VS Code, вы могли видеть, что на самом деле есть очень хороший пользовательский интерфейс для добавления и настройки этих настроек. Мы вывели это на передний план в нижнем левом углу окна агентов по умолчанию. Так что вы автоматически увидите это и сможете еще легче входить в настройки, потому что, по сути, эй, это рабочий процесс, ориентированный на агентов в первую очередь. Мы считаем, что вывод их на передний план имеет смысл, и это будет то, что привлечет многих пользователей. Аналогично с некоторыми действиями в правом верхнем углу, такими как запуск задач и тому подобное. Это вещи, которые, эй, кажутся задачами и взаимодействиями, которые действительно имеют смысл в рабочих процессах, ориентированных на агентов в первую очередь, поэтому у нас должен быть определенный набор этих действий на переднем плане. Имеет смысл. И, как вы сказали, вы работаете с агентами в первую очередь. Так что мои несколько вопросов к вам: что, если я хочу редактировать код? Как будто я просто VS Code? Могу ли я сделать это в агентах? Как выглядит поток после того, как агент закончил? А затем расскажите мне о каждом потоке, кодовом потоке и потоке агента. Как это выглядит для разработчиков сейчас, чтобы думать об этом? Да, это отличный вопрос, и я думаю, что это зависит от уровня изменений кода, которые вы хотите внести. И поэтому, если это просто «Эй, я просмотрел свое приложение и чувствую, что есть, возможно, какие-то изменения на широком уровне, которые я хотел бы внести». Или если это «Эй, я специально посмотрел файлы на панели изменений и понял, что нам нужно внести эти конкретные изменения». Я думаю, если вы можете предоставить такую обратную связь агенту, оставаться в окне агентов имеет большой смысл. И у нас даже есть возможность, что если вы щелкнете по определенной строке в одном из измененных файлов, вы можете добавить комментарий, отправить его агенту, и он будет использовать встроенный навык «Действовать по обратной связи». Таким образом, он может сказать: «Эй, хорошо, вот обратная связь, которую я получил от пользователя, я должен ее итерировать». Или вы не обязаны делать это полностью, вы также можете просто продолжать набирать обратную связь и сказать: «Эй, я думаю, нам следует сделать XYZ дополнительно или вместо этого». И поэтому, я думаю, когда это все еще мыслится в терминах, я, возможно, все еще буду на более высоком уровне, я думаю, что оставаться в окне агентов имеет смысл. Но, я думаю, что тогда в любой момент, если это действительно «Эй, я хочу внести более обширные изменения кода и действительно погрузиться в этот более знакомый поток редактирования кода VS Code, я думаю, что это может быть отличной возможностью фактически переключиться обратно в окно редактора VS Code. И поэтому, так же, как в VS Code у нас есть в правом верхнем углу строки заголовка, у нас есть «Открыть в агентах», чтобы открыть окно агентов. В окне агентов у нас есть в правом верхнем углу «Открыть в VS Code», которое откроет окно редактора VS Code. И у вас есть конкретная сессия и конкретное рабочее дерево, над которым вы работали, оно фактически откроет это рабочее дерево в VS Code. Таким образом, вы будете доставлены точно туда, где работал агент, и вы не упустите никакого контекста или изменений. О, это очень круто. Так что, вы говорите, что независимо от того, где я запускаю эти сессии, независимо от того, что я делаю, они будут жить вместе? Потому что это просто VS Code, это окно, верно? Это как бы часть VS Code. Да, именно так. И поэтому, имея это как окно VS Code, позволяет легче делиться этой конфигурацией пользовательского интерфейса, позволяет легче делиться и переключаться между различными сессиями и различными рабочими деревьями и рабочими пространствами. Это имеет большой смысл. Мне очень нравится, что у меня есть здесь. Вот мой рабочий процесс. Вот моя настройка. И, возможно, вы можете рассказать о своей настройке. У меня ультраширокий монитор, так что я немного, знаете ли, привилегирован. Это ультраширокий монитор Costco, верно? Не один из тех сумасшедших Samsung с 5 миллиардами K, но это, знаете ли, мой Costco, мой, это очень приятно, но это почти слишком много для меня. Однако я нашел его очень удобным для работы с окном агентов, потому что раньше, месяц назад, два месяца назад, мой рабочий процесс как разработчика заключался в том, что я, если я работал над проектом, рабочим пространством, я бы имел рабочее пространство, полностью заполняющее этот ультраширокий монитор в VS Code, а затем я бы сделал содержимое сессии большим, верно? Так что я могу видеть все разные сессии, переключаться между ними, иметь интерактивный чат, верно? Это как одна модель. Вторая модель заключалась в том, что у меня было несколько проектов. Я бы просто сделал один справа, один слева, а затем у меня были бы только агенты, верно, справа. Так я бы работал над проектом А, проектом Б. Но затем я обнаруживаю себя в этом пространстве, которое является проектом С. И у меня нет супер-супер ультраширокого монитора, верно? Он оборачивается вокруг меня, поэтому я не могу сделать три. И PowerToys потрясающий. Как бы, знаете, вы используете только столько места, верно? Так что я делаю следующее: я размещаю окно агентов слева, потому что, как бы, сессии находятся слева, а затем справа я размещаю просто любой проект, на котором я сосредоточен. Как бы, вот мой приоритет, верно? Над которым я действительно погружаюсь, как бы, я отлаживаю его, верно? Как будто я работаю над своим приложением для велоспорта или чем-то еще. Как бы, бум, оно здесь. Я работаю над этим веб-сайтом. То, что привлекает мое текущее внимание. А затем слева я вижу все свои сессии. Так что я вижу свои текущие сессии, но я вижу все свои другие рабочие пространства. Так что я могу отслеживать эти сессии, делать вещи. Я могу даже отслеживать то, что происходит в основном, но я могу сосредоточиться. А затем, если мне нужно переключиться, бум, я переключусь, а затем перенесу это. Так что я никогда не теряю контекст того, что все мои сессии по всем моим проектам, верно? У меня 538 репозиториев на GitHub, верно? Не все из них активны, но у меня много проектов, и они все проходят. Так что у меня тысяча идей. И когда вы работаете с агентом, я уже думаю о следующей функции, которую я хочу сделать. И раньше я бы делал следующее: я бы поставил в очередь, как бы, я бы начал набирать сообщение. А теперь я пытаюсь изменить свое мнение и сказать, является ли это на самом деле изменением для этой конкретной ветки, этого рабочего дерева, которое у меня есть, или это на самом деле новое рабочее дерево? А затем я запускаю. Так что я пытаюсь изменить свое мнение с добавления к большой сессии на то, чтобы сказать, о, на самом деле это так, это отдельная вещь. Позвольте мне запустить совершенно другую вещь, чтобы я мог легче просматривать код и разбивать разные функции, разные ошибки на разные рабочие деревья и применять их обратно в целом. Так что я пытаюсь сделать это, знаете ли, настройку, по сути, которую, я думаю, приятно, где у меня все еще есть VS Code, и у меня все еще есть это здесь. Это не одно или другое. Я запускаю их вместе. Я не знаю. Какова ваша настройка? Да, и у меня определенно обычно есть настройка, где у меня открыты как окно редактора VS Code, так и окно агентов. И да, я думаю, что это зависит от конкретного проекта или конкретных задач, над которыми я работаю, потому что я часто обнаруживаю, что если я хочу запустить два отдельных исследования, которые, возможно, в конечном итоге будут связаны, но я не обязательно хочу гарантировать это. Я чувствую себя похоже на вас, где действительно приятно иметь возможность просто запускать их в отдельных рабочих деревьях. И поэтому я часто делаю это в окне агентов. И тогда я бы сказал, что есть моменты, я думаю, возможно, недавно, когда я действительно итерировал над каким-то контентом документации или заметками о выпуске. Как мне показалось, было очень полезно действительно иметь код в первую очередь, потому что, хотя это была высокоуровневая задача, которую я мог просто запустить и действительно быть агентом в первую очередь, мне показалось, что для точной формулировки и тона, который я хотел использовать, я в итоге много редактировал заранее, а затем, возможно, итерировал с агентом. Мне показалось, что агент был скорее моим компаньоном сбоку или вторичной мыслью, а не первым способом, которым я подходил к проблеме. И поэтому обычно у меня есть разные задачи, о которых я думаю по-разному, над которыми я работаю в течение дня. И поэтому, затем я нахожу: «Хорошо, этот, я действительно, как бы, пишу и редактирую какой-то код или текст во время этого. Я открою это в традиционном окне редактора в VS Code. А затем, о, я просто хочу запустить несколько исследований или несколько попыток функций и тому подобное. Это кажется очень подходящим для того, чтобы я мог просто запустить их в окне агентов. Мне не нужно так внимательно следить за ними иногда. Как будто я думаю, что часто, если я действительно, как бы, в моменте, я пытаюсь написать какую-то документацию, я пытаюсь работать над одной конкретной функцией или изменением. Как иногда я действительно хочу сосредоточиться на этом прямо сейчас, и поэтому это как бы: «Эй, я теперь могу позволить этим другим вещам работать над другими проектами и над другими рабочими деревьями. Они не должны прерывать эту сфокусированную работу, которую я делаю, которая, возможно, ориентирована на агентов, возможно, ориентирована на код, возможно, на оба». Это имеет большой смысл. Да. Я думаю, это так. Каждый день — новое приключение для того, как будет выглядеть моя настройка разработки на моей машине. Я думаю, если бы моя жена прошла позади меня, я думаю, в гараже она бы вытащила машину. Но, знаете ли, я думаю, что каждый день будет немного отличаться. Это как бы, как выглядит моя настройка, чего раньше не было. Это было как бы: «И вот я загружаюсь, но я загружаю эту вещь, и вот моя вещь, и мой мой окружение выглядело очень похоже. Позвольте мне задать вам вопрос здесь тоже, который заключается в том, что как разработчик, я нахожусь внутри нового окна агентов. Мы немного говорили о настройках. Мы говорили об управлении сессиями. Просмотр изменений кода, выполнение действий. Когда дело доходит до жизненного цикла разработки программного обеспечения, верно? Где я думаю о мониторинге или просто о фиксации изменений или о проведении обзоров кода или оставлении обратной связи или просмотре проблем и выполнении pull requests. Как это выглядит? Я перехожу обратно в VS Code? Я делаю что-то из этого в этих агентах? Агенты делают это сами? Как далеко зашло окно агентов в этом случае, будучи ориентированным на агентов в первую очередь? Да. И поэтому, когда агент генерирует изменения кода, на панели изменений окно будет направлять вас через различные действия, которые вы можете предпринять. Итак, вы можете, прежде всего, просмотреть их по-разному. Например, вы можете просмотреть только изменения последнего хода или все изменения хода, в зависимости от того, насколько длительной является сессия и что вы считаете наиболее полезным. Но вы также можете создать PR, черновик PR, вы можете синхронизировать изменения. Вы можете сделать все это непосредственно из панели изменений в окне агентов. И поэтому, если вы более комфортно делаете это в VS Code или на gethub.com, вы совершенно можете это сделать. Это нормально. Но вам не обязательно. Вы все еще можете оставаться в окне агентов, чтобы делать такие вещи, и мы продолжаем итерировать и вносить различные улучшения в этой области, например, позволяя фактически синхронизировать изменения обратно в случае, если были какие-то вышестоящие изменения с тех пор, как вы в последний раз открывали этот проект в окне агентов. Делать это непосредственно из панели справа. Это было то, что, как мне показалось, было большим улучшением качества жизни для меня, потому что, особенно в репозитории, таком как VS Code, где происходят сотни изменений в день, это может быть очень похоже на: «О, я не тянул пару часов. Теперь появилось еще больше изменений. Позвольте мне убедиться, что я их вношу». И вы также увидите, что, например, если вы посмотрите на настройки, у нас есть различные встроенные навыки, например, для выполнения таких задач, как создание PR и черновиков PR. Но также, если вы используете действия справа, у нас есть возможность, что это будет детерминировано, так что это просто создаст PR. Это не обязательно должно быть агентурным. Но если вы хотите более агентурный поток, вы можете попробовать встроенные навыки, которые у нас есть, или вы можете попробовать создать свой собственный. Очень круто. Да, я был, и это новая эволюция для меня, вероятно, за последние полтора месяца, которая заключается в том, чтобы думать о том, как я фиксирую и просматриваю и итерирую код. И я раньше, возможно, несколько недель назад, или несколько месяцев назад, как бы: «Хорошо, позвольте мне сделать некоторые обзоры кода или некоторые изменения кода с агентом, а затем вот он». А затем я, возможно, выберу другую модель, а затем я бы сказал: «О, просмотри код». Верно? А затем я бы просто сказал: «Просмотри код». Верно? Что бы это ни значило, верно? А затем он дал бы какой-то отзыв. Я бы реализовал, а затем вернулся к другой модели. «Посмотри на это». И это было очень синхронно. Это был очень, как бы, ручной процесс. Но я пытался думать о новых способах итерации, не только о том, как я делаю это еще до того, как я зафиксирую код, или после того, как я зафиксирую код, или где-то еще, где я фиксирую код. Или я проходил через этот поток размышлений о том, как агенты могут как бы «уточки-резиночки» друг с другом даже после того, как код был отправлен, будь то начало обзора кода на GitHub, будь то начало в VS Code, пусть он итерирует, просматривает его, просто не доверяйте ему слепо, просматривайте его, делайте эти вещи и скачивайте его. Так что я рад, что некоторые из этих вещей встроены, потому что я думаю, что многие аспекты обзора кода, которые у меня были, не являются агентурными и очень ручными, как бы, с агентурным уклоном, я бы сказал. Так что довольно круто видеть, как некоторые из этих потоков интегрируются. Я предполагаю, что это потоки, которые команда также использует. Да, и вы сможете увидеть, что их питает, потому что, опять же, вы можете редактировать настройки прямо там. Так что вы также можете изменить, если это как бы: «О, я хочу, чтобы это делало это или не делало этого, или добавляло мой собственный поток». И я думаю, что, как вы говорили, что-то еще, что интересно затронуть, это то, что мы сейчас называем суб-сессиями. И поэтому, в верхней части окна вы можете использовать плюс, и это создаст, по сути, еще одну сессию в том же рабочем дереве, над которым вы уже работаете для сессии. И поэтому это отличная возможность, если вы хотите сказать: «Эй, что еще мне нужно здесь исследовать? Эй, можешь ли ты просмотреть код этого?» Или просто какая-то другая связанная работа или изменение или обзор, который вы хотите сделать в том же рабочем дереве, вы можете создать суб-сессию или серию суб-сессий для них. О, очень круто. Я попробую это. Это, должно быть, новое. Я вижу кнопку плюс, она там сидит. Я попробую. Это было потрясающе. Хорошо, у меня последний вопрос к вам, потому что я думаю, что многие люди будут спрашивать об этом, а именно: VS Code был этим редактором с открытым исходным кодом, открытым кодом более десяти лет. Открытая экосистема, верно? Тысячи, десятки тысяч расширений и различных настроек, верно? У каждого VS Code выглядит по-разному, верно? Разные темы, мои наборы значков, мои капучино, они как бы лучшие, я их люблю. Различные LSP, различные, знаете ли, даже потоки агентов и все эти другие вещи. Как эта экосистема расширений и настроек распространяется или даже распространяется на окно агентов? Как расширители и разработчики, использующие настройки VS Code, должны смотреть на это, когда они переходят к агентам? Да, позвольте мне взять точное название настройки, потому что есть также настройка, которую, я думаю, стоит упомянуть. Да, чтобы дать немного контекста, это отличный вопрос, потому что расширения — это то, что, как вы сказали, делает VS Code таким мощным и расширяемым. И поэтому, думая о том, как это выглядит в этом окне, где, как вы сказали, есть больше, а также меньше. Как бы, что имеет смысл и как выглядит будущее? И это определенно то, что мы хотим формировать с авторами расширений, а также с пользователями и пользователями различных расширений. И поэтому наша команда прошла и протестировала топ-100 расширений на маркетплейсе, чтобы увидеть, какие из них имеют смысл или хорошо работают в окне агентов. И мы включили те, которые имели смысл. Иметь смысл в том, как я возьму точное описание. Итак, расширения, которые предоставляют только статический контент, такой как темы, грамматики, языки и привязки клавиш, они будут активироваться в окне агентов автоматически. А затем, в дополнение к этому, мы также протестировали топ-100 расширений на маркетплейсе. И некоторые из них также будут активироваться, если они также установлены в вашем профиле VS Code по умолчанию. Так что, пока они уже установлены в VS Code, они будут активироваться автоматически. А затем, в дополнение к этому, мы формируем, как это выглядит для других расширений и расширяемости в окне агентов. Итак, у нас есть настройка extensions.supportAgentsWindow, куда вы можете ввести идентификатор расширения, и тогда это позволит вам активировать его в окне агентов. И поэтому, пока это расширение снова установлено в вашем профиле VS Code по умолчанию в редакторе, а затем, если вы определили его там, оно также активируется в окне агентов. И поэтому мы ищем авторов расширений, как бы, думая о том, что может означать наличие других расширений, расширяемости в окне агентов. Получение отзывов, таких как в проблемах GitHub или в любых способах взаимодействия с нашей командой, проблемы GitHub — это действительно отличный способ. Это потрясающе, потому что тогда мы можем услышать: «Эй, как у меня есть идея о том, что может означать улучшение многоагентной разработки еще больше, или сделать мое XYZ расширение еще более мощным или лучше работать в многоагентной среде». А также пользователи, если есть расширения или просто общие вещи, о которых вы знаете: «Эй, было бы здорово, если бы в целом XYZ было возможно в окне агентов». Получение этих отзывов очень полезно. Так что это то, что мы действительно хотим получить обратную связь от сообщества и итерировать в будущем. Очень круто. Если люди хотят дать обратную связь об окне агентов, где они это делают, Бриджит? Да, просто в репозитории VS Code на GitHub. Так что, github.com/microsoft/vscode. Это будет наше основное место для окна агентов, дальнейших запросов на функции VS Code, проблем, ошибок, чего угодно. Это лучший способ связаться с нашей командой. Потому что это в этом. Это часть этого. Это одна вещь. Да. Я думаю, это одна из моих любимых частей, даже когда я вижу заметки о выпуске и тому подобное, это просто функция, но очень большая функция VS Code, верно? Новый способ работы, и это часть этого, верно? Это не как бы, я имею в виду, это отличается и отдельно, но также интегрировано. Да, именно так. Ну что ж, Бриджит, большое спасибо, что снова пришли и поговорили об эволюции с сентября и как бы за весь прошлый год, а затем и за этот год, как это выглядит. И я знаю, что вещи будут продолжать развиваться. Так что дайте команде обратную связь. Бриджит, большое спасибо, что пришли и поговорили обо всех этих изменениях и совершенно новом окне агентов. Большое спасибо, Джеймс. Это было здорово, и я очень рад продолжать получать отзывы от людей. Так что спасибо всем, кто слушал. Да, попробуйте. Зайдите туда. Нажмите на эту маленькую кнопку агентов. Бум. Попробуйте. Дайте обратную связь команде. Но на этом мы закончим этот подкаст VS Code Insiders. Конечно, ставьте лайки, подписывайтесь, делайте все, смотрите ли вы на YouTube VS Code или слушаете в своем любимом приложении для подкастов. И, конечно же, лучший способ поддержать подкаст — это просто поделиться им со всеми своими коллегами и друзьями. Скажите: «Эй, вы знали, что у VS Code есть подкаст? Бум, зацените». Также у VS Code есть страница в LinkedIn, где команда публикует каждые две недели, каждые две недели, два раза в месяц, два раза в неделю, как бы то ни было, информационные бюллетени. Так что, если вы хотите оставаться в курсе событий в LinkedIn, проверьте страницу VS Code в LinkedIn. На этом мы закончим этот подкаст VS Code Insiders. До следующего раза. Хочешь сделать это, Бриджит? Счастливого кодирования. Счастливого кодирования.