📱

Get Our Mobile App

Take your business learning on the go!

Download on the App StoreGet it on Google Play

Agent-First Development Workflows in VS Code with Brigit Murtaugh

Visual Studio Code40:47

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