Transcription
Как мы работаем с кодовыми агентами, развивается каждый день. Они могут только читать и записывать файлы. Они могут понимать контекст вашей кодовой базы. Они могут делать вызовы инструментов, вызовы сервера MCP, вызовы API, и они могут работать локально в фоновом режиме CLI. Они могут работать в облаке. Я могу даже открыть мобильное приложение GitHub и запустить новую сессию прямо там. Это поистине поразительно, чего мы можем достичь сегодня. Но если вы похожи на меня, вы, возможно, жили и дышали в стиле разработки, ориентированном на код, с открытым VS Code и вашим чатом агента справа, и работали с агентом. И, возможно, вы развились до того, что открыли и развернули эту панель сессий, где у вас могло быть несколько сессий по вашему текущему проекту, работающих, и вы могли бы запускать, знаете ли, облачные сессии или фоновые сессии одновременно. Вы получаете эти маленькие уведомления о том, что одна из них закончила работу, поэтому вам нужно проверить ее. Но если вы похожи на меня, у вас также может быть открыто несколько экземпляров VS Code, потому что вы работаете над несколькими проектами. И если вы также похожи на меня, знаете, у меня открыто несколько VS Code, у вас может быть запущено несколько CLI, а также облачные агенты. Итак, как нам выйти за рамки этого стиля разработки, ориентированного на код? Ну, именно здесь и появляется совершенно новое окно агентов с подходом, ориентированным на агентов. Это дополнение. Это часть VS Code. Это маленькая кнопка, которая открывает совершенно новое окно, позволяющее управлять всеми вашими сессиями во всех ваших различных рабочих пространствах, работающих локально на вашей машине в фоновом режиме CLI или в облаке, или даже на удаленной машине. Это действительно поразительно, и я влюбился в это. Итак, я хочу дать вам экспресс-курс о том, как я его использую, как он выглядит, если вы совершенно новичок и видите "открыть агентов" в правом верхнем углу, что это значит, чтобы вы могли получить его в свои руки и начать работать с несколькими сессиями агентов и несколькими рабочими пространствами одновременно. Итак, давайте погрузимся. >> [музыка] [музыка] >> Хорошо, вот я внутри VS Code, и это мой обычный подход, ориентированный на код. Я работаю здесь над tiny tool town. Я собираюсь добавить новую функцию, которая называется "обзор города" вместо отображения всех фильтров, она просто отображает один здесь. Итак, у меня есть мой код слева. У меня есть мои pull requests. У меня есть мои текущие изменения, которые здесь. И я могу видеть свои работающие сессии справа. Итак, вот обновление фильтров. Я запустил это в фоновом режиме с помощью CLI и просто локально в этом рабочем пространстве. Так что только на main. И если мы нажмем здесь, мы сможем просмотреть все. Я могу продолжить здесь. Я могу сказать, хорошо, я могу показать больше фильтров, и я могу сказать, хорошо, может быть, не показывать их все, верно? Их так много. Я могу сказать, хорошо, на самом деле показывать только 10 больше за раз и оставить кнопку, пока они продолжают нажимать, верно? Так что я запущу это здесь, и это отправится в CLI. Теперь, если вы вернетесь, мы можем увидеть, что у меня есть другие сессии здесь. Так что у меня есть еще одна. Она на самом деле работает в облаке. Так что это облачная сессия, где я проводил анализ обновлений звезд. Это дает мне некоторую обновленную информацию здесь. Теперь я также разворачиваю это, и часто я вытаскиваю другие сессии, чтобы я мог переключаться между ними, верно? Я могу просматривать изменения кода, сохранять их, просматривать их. И затем, когда я буду удовлетворен, скажем, изменениями кода для обновления фильтров, я подойду сюда. Я сделаю небольшое сообщение коммита. Я закоммичу это. Я создам PR. Надеюсь, я не забуду. Создать новую ветку здесь, не на main. И тогда я бы создал pull request и, возможно, провел бы code review одновременно. Так что я могу сделать все это. Теперь я не только работаю над этим одним приложением, я также работаю над другим приложением здесь. Так что здесь, если я перейду, я могу увидеть, что я работаю над этим приложением tiny clips, которое является приложением на Swift. Это такое маленькое приложение, которое у меня есть здесь, которое позволяет вам делать скриншоты и видео. Я могу взять это здесь и сказать, на самом деле, давайте сделаем маленькую стрелку сюда. Посмотрите на это. Посмотрите на это. Вы можете сделать один, два, три. Довольно мило. Делать туториалы. И у меня есть сессия, чтобы добавить таймер видео по умолчанию в настройки. Так что это довольно мило. И я могу запускать новые сессии. Я могу делать это локально на своей машине, использовать Copilot CLI для фонового режима, для облака, если я захочу здесь. И тогда, конечно, я могу использовать SDK облачного агента, если я предпочитаю эту систему. Мы не только перескакиваем от одного редактора кода к другому, мы также выясняем, как управлять сессиями внутри этого. Как нам вернуться, когда одна из них закончена? Вернуться сюда. Иметь эту открытой, верно? Провести code review. Нажать "разрешить". Что я делаю, по сути, туда и обратно, чтобы увидеть, как эти вещи работают. И вот где появляется окно агентов. Итак, вы можете получить к нему доступ из нескольких мест. Одно из них — просто в правом верхнем углу "открыть агентов". Но вы также можете, если вы откроете совершенно новое окно в VS Code, увидеть его прямо здесь. Там будет написано "попробовать новое окно агентов". Так что, если вы просто откроете его, вы окажетесь на экране приветствия, оно тоже будет там. Но здесь я перейду в Tiny Tool Town. И позвольте мне просто открыть агентов. И вот окно агентов. Итак, когда я открыл его, мы видим, что оно открыло Tiny Tool Town. И на самом деле оно открыло решение Tiny Tool Town здесь. И я могу видеть слева все мои сессии для Tiny Clips, те, которые я запускал, а также для Tiny Tool Town. Те, которые работали в облаке, а также в CLI здесь. Если я нажму на одну из сессий, она загрузится. И тогда я смогу увидеть все изменения кода. Я могу иметь последующие сессии. Я могу менять режимы. Я могу изменить модели, если захочу здесь. И затем, если я буду удовлетворен, я могу закоммитить изменения или даже просмотреть изменения прямо в строке. Итак, например, если я просматриваю эти изменения и думаю, знаете что, размер пакета, мне это не очень нравится. Я могу на самом деле сказать, давайте сделаем его более динамичным и увеличим на пять каждый раз, когда они нажимают. Затем я могу добавить это и отправить этот отзыв на основе отзыва здесь в комментарии, который я оставил в коде. Так что это на самом деле другой способ подхода к обратной связи для просмотра этого. Вместо того, чтобы просто отправлять последующее сообщение, как я делал раньше, я могу нажать на изменения кода в любом месте в строке, нажать на них, и я могу добавить это. Я могу просмотреть это, и я могу сделать гораздо больше. Так что я могу добавить эту обратную связь к этим изменениям прямо в строке. Теперь это работает, и мы можем видеть, что моя сессия здесь, но если бы я был в другой сессии, слева мы бы также увидели, что это требует выполнения npm run build. Так что я могу разрешить это напрямую, мне не нужно напрямую возвращаться в сессию. Я получаю это уведомление. Но обратите внимание, что это работает в облаке, а также tiny clips тоже работал. Так что здесь, например, я могу видеть, что эти изменения прямо в строке для этого таймера по умолчанию, который он мне давал. Теперь это действительно круто, но я хочу провести этот code review. Так что вместо того, чтобы просто объединять изменения, я могу просто нажать "запустить code review". Теперь это запустит локальный code review на моей машине. Теперь я хочу отметить здесь, что это на самом деле работает на рабочем дереве. Теперь, если я захочу открыть это рабочее дерево, я скажу "открыть редактор", и это откроет tiny clips прямо на этом рабочем дереве для меня автоматически. Так что вы видите, агенты добавляют настройки таймера видео по умолчанию. Это на самом деле отличается от того, где я работал раньше. Если я вернусь сюда, что просто на main. Так что я могу увидеть это здесь, но я работал в рабочем дереве. Это было управляемо для меня автоматически, и окно агентов знает, как открыть это рабочее дерево прямо. Так что это супер-пупер мило. Хорошо, так что это выглядит довольно круто, но, возможно, вы зайдете в окно агентов, и там ничего нет. Вы можете нажать "новое", и здесь мы создадим новую сессию. Итак, вы можете выбрать любую папку локально на своей машине и начать работать с Copilot CLI. Вы также можете нажать на GitHub, который покажет вам ваши Git-репозитории. Вы также можете сказать "выбрать" и фактически открыть что-то здесь, если пожелаете. Но здесь, давайте пока поработаем локально, и я просто поработаю над Tiny Tool Town. Здесь я собираюсь сказать: "Давайте добавим новую тему VS Code в приложение". Опять же, я могу выбрать свою модель, если захочу. Э-э, давайте просто возьмем 53 Codex. Мне это нравится. И тогда я могу работать с различными одобрениями, так что я могу обойти автопилот. Я могу работать только с локальной папкой, которая будет main, но я создам рабочее дерево, потому что я уже работаю с локальной папкой. Мы можем увидеть это по значку папки. И я могу выбрать, из какой ветки я хочу создать рабочее дерево. В данном случае, main. Итак, я собираюсь запустить это. Теперь здесь у меня есть некоторые незакоммиченные изменения в main, поэтому я просто скажу пропустить эти изменения, и теперь изолированное рабочее дерево будет создано для меня автоматически, и оно начнет работать прямо здесь. Теперь на этот раз мы можем видеть, что у меня есть эта тема кода, которая происходит. Но я могу перейти к любому из этих других здесь. Так что я могу отфильтровать здесь, размер пакета. Так что я могу вернуться сюда. Я могу посмотреть. Теперь давайте вернемся к новому, и мы попробуем еще кое-что. Я перейду в GitHub, и у меня также есть Tiny Tool Town. И здесь я также могу выбрать облако, верно? Так что здесь, например, поскольку это будет совершенно новая сессия, я просто собираюсь сказать: "Давайте создадим новую тему Xbox для приложения". Я просто придумываю вещи на ходу, которые там есть. Но опять же, здесь я просто собираюсь делегировать это, и тогда оно будет создано. И как только оно будет создано, оно появится прямо в моих сессиях. Как только оно запустится. Теперь, помимо этого, я также хочу показать, что все мои настройки здесь. Так что у нас есть агенты, у нас есть навыки, инструкции, все, что мы видели бы внутри VS Code, но прямо здесь. И я могу настроить это для Copilot CLI или SDK облачного агента, если я захочу использовать его. Хорошо, давайте предположим, мы хотим добавить новую папку сюда и поработать над чем-то еще. Я перейду в "новое" и скажу "локальное", и я просто скажу "выбрать". Это позволит мне просмотреть мою машину. Я скажу "показать локальное", просто потому, что я хочу увидеть полный выборщик, и в основном потому, что у меня все файлы на внешнем диске. Так что здесь я собираюсь сказать "James on GitHub", что является новым репозиторием, который я создал. И здесь, например, у меня есть только лицензия и read me. Так что я хочу сказать здесь: "Давайте создадим веселый статический веб-сайт для JamesGitHub.com/jamesmontemagno, освещающий их вклад, активные проекты и тонны статистики кода из GitHub". И опять же, здесь я просто собираюсь сказать "работать над рабочим деревом", запустить это, и это будет создано. Мы видим, что новая сессия была оптимизирована для меня здесь, и все эти вещи работают. Теперь я также могу продолжить это, и я могу немедленно продолжить здесь и сказать: "Эй, не забудь", верно? И я могу видеть свои контакты, я могу остановить, и я могу делать обычное управление, добавить в очередь. Но, возможно, я захочу, например, чтобы он, я не знаю, возможно, создал CICD для GitHub Pages. Так что я собираюсь создать подсессию здесь. И подсессия, по сути, позволяет мне переключаться между разными чатами. Так что это в том же рабочем пространстве, так что я могу задавать вопросы, я могу выполнять задачи и исследовать идеи. Так что я собираюсь сказать: "Эй, можем ли мы также обновить CICD для GitHub Pages?" Бум. Я могу это сделать. Теперь это действительно, действительно круто. Так что, например, там, это просто запустится, и я буду запускать их бок о бок в одном и том же рабочем дереве. Еще один отличный пример — это то, что работает над темой VS Code. Я могу вернуться сюда и сказать: "Эй, какие активные темы у нас есть?" Верно? Просто задавая вопросы. Так что, пока это работает, мы увидим здесь, это будут активные темы, и он продолжит и ответит активными темами, которые у меня есть. Так что мне не нужно останавливать то, что я делаю, но я запускаю их все здесь одновременно. Так что это довольно круто. Так что это проходит, и я могу, конечно, изменить их. Так что, если я хочу сказать: "Знаете что? Давайте просто запустим автопилот этого щенка". И теперь мы готовы к работе в режиме автопилота, поскольку он создает проект почти в реальном времени, а также создает CICD для меня здесь. Теперь эта верхняя сессия имеет свои собственные разрешения, поэтому я разрешу это тоже. Хорошо, теперь вы можете сказать: "Ну, Джеймс, это довольно круто. Я создаю новые сессии. Я захожу. Я управляю всеми ими. И когда я закончу сессию, я также могу удалить их, верно? Теперь мы видим, что вещи действительно перемещаются, потому что вещи заканчиваются. Так что, если у меня действительно есть что-то активное, я могу закрепить это, и это закрепит их наверху. Так что, возможно, я действительно хочу закончить эти вещи здесь, верно? Для этих разных. Так что я могу закрепить их, и они будут прямо наверху. Я также могу применять фильтры, так что я могу сортировать по дате создания, обновления. Я могу группировать их по рабочему пространству или времени, показывать все сессии. Если я закончил с чем-то или больше не хочу это использовать, я могу просто нажать этот флажок здесь, и оно исчезнет. Я всегда могу вернуть его, если захочу. Если я действительно хочу сосредоточиться, я могу увеличить масштаб здесь. Но есть гораздо больше, хорошо? Так что, например, давайте предположим, я действительно хочу сосредоточиться на этом обновлении фильтра, том, на который я давал обратную связь. Я могу подойти сюда и открыть полный терминал. Так что я могу сказать npm run dev, и это запустит это. Я могу нажать на это, и, конечно же, я получу интегрированный браузер прямо там. Так что я могу тестировать изменения локально на своей машине. Так что я могу сказать еще пять, еще пять, еще пять и так далее. Так что это действительно круто видеть все это в строке прямо там. Теперь у меня, кажется, нет задачи запуска. Так что давайте сгенерируем ее, что было бы довольно хитро. Так что, давайте предположим, я остановлю это здесь. Я могу подойти и запустить любую задачу. Так что, если у вас есть какие-либо задачи VS Code, они появятся здесь. Также есть "открыть браузер", но я скажу "сгенерировать новую задачу", которая запустит ее прямо здесь. Теперь, вероятно, у вас есть задачи в вашем проекте, если вы работаете в VS Code, но в данном случае у меня их нет. Так что есть встроенная генерация команд запуска, которая запустит эти файлы для меня. Теперь, вот оно. Так что теперь мы видим эту маленькую кнопку запуска, и я могу запустить и начать сервер разработки или установить зависимости. Так что я собираюсь запустить это. Теперь он автоматически загрузит это, будет отслеживать изменения файлов, и я могу просто нажать на нее, верно? Так что я получаю этот приятный цикл прямо внутри окна агента. Хорошо, происходит много всего. Я прыгаю повсюду, но я отлично провожу время. Так что я вернусь сюда в этот по умолчанию. И я хочу показать вам, что я собираюсь сосредоточиться на этой сессии. Так что это та, где я заходил, и я видел, что у меня есть некоторые изменения для выбора времени в town time picker для настроек, и вот раздел настроек видео. Теперь я применил некоторую обратную связь, но я также запросил code review. Я могу нажать на эту кнопку, и мы увидим, что у нас есть три разных элемента обратной связи. Я могу, конечно, добавить больше обратной связи сам. Так что здесь я могу изменить это, я могу просмотреть это, и давайте просто добавим это здесь. Так что мы можем навести курсор и сказать "преобразовать в обратную связь агента". Я могу подойти сюда. Я преобразую это в обратную связь агента. И тогда последний здесь внизу, я тоже добавлю его. Так же, как если бы я вручную добавлял обратную связь, я также мог бы взять code review и затем отправить его обратно. Так что я отправляю его обратно, и теперь он начнет работать над этой обратной связью. Так что это супер-пупер круто, верно? Хорошо, это начнет работать. Давайте посмотрим, что еще у нас есть здесь. Так что у нас есть еще несколько агентов, работающих на этой машине. Так что у нас есть новая задача VS Code, которая запускается. У нас есть тема Xbox, которая происходит. Хорошо, так что мы можем, по сути, перемещаться и видеть это. Теперь он запускает полные сборки Xcode здесь. Он запускает мою тему. Он делает все, что мы ожидаем, и похоже, что он применяет изменения, которые я внес. Хорошо, круто. У нас есть еще несколько команд, которые он хочет получить для наших Git-изменений. Теперь я хочу показать вам, как мы на самом деле объединяем их. Так что, чтобы объединить эти изменения, я могу сделать несколько вещей. Я могу объединить изменения, я могу объединить изменения и синхронизировать, или я могу создать pull request. Теперь, если вы помните, это на рабочем дереве. Так что, если я нажму "объединить изменения", это объединит их обратно туда, откуда было сделано рабочее дерево, которое, я думаю, было сделано в данном случае. Но я хочу создать pull request, а затем я могу создать pull request или даже создать черновик pull request. И я могу делать то же самое здесь. Если я хочу закоммитить их, он автоматически создаст мое сообщение коммита, или я могу провести code review. Хорошо, вау. Хорошо, давайте сделаем быстрый обзор здесь. У нас есть все наши сессии закреплены, финализируются, мы можем переключаться между разными редакторами кода прямо здесь. Я могу открыть этот, например, который будет точно знать, где находится рабочее дерево, и откроет его для меня для просмотра с текущей сессией. Я могу фильтровать. Я могу создавать новые сессии, я могу открывать их напрямую удаленно или на своей машине, и я могу использовать Copilot CLI, облако или облачную сессию здесь, основываясь на этом. Я могу работать над рабочим деревом, над веткой, я выбираю, как я хочу, чтобы это работало. Я могу запускать разные задачи, я могу открывать терминал, я могу иметь всплывающие окна для изменений кода и видеть все в строке для всего, что было создано, создавать коммиты, делать pull requests, создавать подсессии и многое другое. Хорошо, последнее, что я хочу показать, это эта удивительная функция, которая позволяет вам не только подключаться локально к GitHub или к удаленной машине с туннелем. Теперь это экспериментальная функция, но вы можете SSH на другую машину или использовать облачный dev tunnel, что означает, что вы можете создать туннель с другой машины и подключиться к ней с этой машины. Так что, например, я могу открыть dev tunnel на своей машине Windows, а затем подключиться к этим, по сути, сессиям агентов прямо отсюда. Еще лучше, однако, я могу подключиться из браузера. Так что, если я перейду на vscode.dev/agents, я могу войти в систему с помощью своей учетной записи GitHub. Так что давайте сделаем это. Я собираюсь нажать "продолжить". И теперь я собираюсь войти. Теперь, как только я это сделаю, мы увидим в левом нижнем углу, что он подключается к моей настольной машине. И эта машина здесь — моя машина Windows. Так что давайте подключимся сюда. Бум. Теперь я могу выбрать любое другое рабочее пространство на этой удаленной машине. Так что я сначала зайду в документы здесь. Так что давайте зайдем в документы. И затем я выберу Tiny Tool Town. Теперь Tiny Tool Town работает, да, вы угадали, на моей машине Windows. Так что я могу запустить новую сессию на рабочем дереве, но это будет делаться на моей машине Windows. На самом деле, я знаю, что это так, потому что если я подойду сюда, мы можем открыть терминал, и это работает PowerShell с oh-my-posh, потому что он работает на моей другой машине. Так что, если я скажу dir, например, здесь мой dir. Я могу, конечно, сказать ls, потому что PowerShell позволяет оба, но это перенаправляет эти команды туда. Теперь я также могу подойти и запустить сессии. Так что здесь у нас есть одобрение. Так что я говорю labs, добавьте веселую тему James Montemagno для Орегона, и запустите это. И мы видим, как сессии работают здесь. Крутая часть здесь в том, что я могу затем подключиться с моей машины Mac. Я также могу подключиться с моего мобильного устройства и видеть, как это работает в реальном времени. Хорошо, это очень не краткий обзор окна агентов и того, как я его использую, по крайней мере, в реальном времени для управления всеми моими активными сессиями. Я нахожу это очень крутым. И теперь я знаю, что я много кликал, верно? Я кликал, видел разные сессии, видел разные вещи, коммитил код, обновлял код, но я хотел дать вам разбивку как можно большего количества функций, о которых я мог только подумать. И эта штука быстро развивается, и она находится в репозитории VS Code. Так что, если у вас есть отзывы об окне агентов, перейдите на github.com/microsoft/vscode и оставьте отзывы там для команды. Команда обновляет его каждую неделю вместе с VS Code, потому что это часть VS Code, позволяющая вам управлять и переключаться между редактором и вашим представлением агентов. Хорошо, вот и все. Это полный обзор, своего рода экспресс-курс того, как я использую окно агентов в VS Code. Мне это очень, очень нравится. Я не держу его открытым все время. Однако, когда я начинаю работать над несколькими проектами и у меня запущены сессии агентов повсюду, это очень полезно. Один из моих обычных рабочих процессов, который у меня есть, это на моем ультрашироком мониторе, у меня будет окно агентов слева, а затем мой VS Code, ориентированный на код, справа. Так что это позволяет мне работать над несколькими сессиями, а затем я могу просто закрепить справа текущую кодовую базу, на которой я хочу сосредоточиться в VS Code. И эта маленькая кнопка "открыть в редакторе" действительно хороша при работе с разными рабочими деревьями. Хорошо, вы пробовали окно агентов в правом верхнем углу? Вы его открывали? Пробовали? Если да, дайте мне знать, что вы думаете в описании ниже, в разделе комментариев. Я хотел бы услышать ваши отзывы о том, как вы используете агентов каждый день при управлении несколькими сессиями агентов. На этом все для этого видео. Так что до следующего раза вы знаете, что делать. Ставьте лайк, подписывайтесь и нажмите на кнопку уведомлений, чтобы получать уведомления каждый раз, когда я выкладываю видео прямо здесь на своем YouTube. На этом все для этого. Так что до следующего раза, спасибо за просмотр. >> [музыка]