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. Но теперь окно агентов представляет собой сосредоточенную, оптимизированную среду, которая действительно ставит разработку, ориентированную на агентов и задачи, на первый план. И поэтому будет еще проще быть центральным местом для нескольких агентов, охватывающих несколько проектов. А затем также сосредоточиться на вещах, которые действительно делают агентов и вас, работающих с ними, успешными, будь то ваши настройки, такие как пользовательские агенты и серверы 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. А затем, о, я просто хочу запустить несколько исследований или несколько попыток функций и все такое прочее. Это кажется очень подходящим для того, чтобы я мог просто запустить их в окне агентов. Мне не нужно так внимательно следить за ними иногда. Как будто я думаю, что часто, если я действительно в моменте, я пытаюсь написать что-то вроде документации, я пытаюсь работать над одной конкретной функцией или изменением. Иногда я действительно хочу сосредоточиться на этом прямо сейчас, и поэтому это как бы: "Эй, я теперь могу позволить этим другим вещам работать на других проектах и на других рабочих деревьях. Они не должны прерывать эту сфокусированную работу, которую я делаю, которая, возможно, ориентирована на агентов, возможно, ориентирована на код, возможно, на оба". Это имеет большой смысл. Да. Я думаю, это так. Каждый день - новое приключение для того, как будет выглядеть моя установка для разработки на моей машине. Я думаю, если бы моя жена прошла позади меня, скажем так, в гараже, она бы вытащила машину. Но, знаете ли, я думаю, что каждый день будет немного отличаться. Это как бы, как выглядит моя установка, чего раньше не было. Это было как бы: "И вот я загружаюсь, но я загружаю эту вещь, и вот моя вещь, и мой окружение выглядело очень похоже". Позвольте мне задать вам вопрос здесь тоже, который заключается в том, что как разработчик, я нахожусь внутри нового окна агентов. Мы немного говорили о настройках. Мы говорили об управлении сессиями. Просмотр изменений кода, выполнение действий. Когда дело доходит до жизненного цикла разработки программного обеспечения, верно? Где я думаю о мониторинге или даже просто о фиксации изменений или выполнении обзоров кода или оставлении отзывов или просмотре проблем и выполнении запросов на извлечение. Как это выглядит? Я перехожу обратно в 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. До следующего раза. Хочешь сделать это, Бриджит? Счастливого кодирования. Счастливого кодирования.