Microsoft сделала огромный подарок: Режим Агента (Agent mode) стал доступен всем пользователям Visual Studio Code! Агент действует как автономный программист, который в паре с вами работает над проектом. Одна ваша команда — и он выполняет многоэтапные задачи по написанию кода, такие как анализ кодовой базы, исправление файлов, выполнение команд в терминале. Он реагирует на ошибки компиляции и ошибки линтера и вместо вас смотрит, что пишут в терминале. Он автоматически вносит исправления, делая это в цикле снова и снова — до тех пор, пока задача не будет завершена. Агент может использовать предоставленные вами инструменты, что позволяет ему взаимодействовать с внешним миром — то есть, с внешними серверами MCP и расширениями VS Code (VS Code extensions), многократно увеличивая спектр решаемых задач.Как это выглядитДоступно всем пользователям
Что нужно сделать? Откройте панель чата, авторизуйтесь в GitHub, установите chat.agent.enabled в настройках VS Code (File ↦ Preferences ↦ Settings) и выберите Agent в выпадающем списке выбора режима чата (Chat mode). Если вы не видите эту настройку, убедитесь, что перезагрузили VS Code после обновления до последней версии. В ближайшие недели Microsoft сделает его доступным по умолчанию для всех — настройка больше не потребуется.
Есть всего одна большая неприятность — в России вся тема с Copilot забанена со стороны Microsoft по IP. Наверное, вы догадываетесь, как эту проблему предполагается обходить. Ниже будет написано более подробно.
От автора поста. Привет, меня зовут Олег Чирухин. Я профессионально занимаюсь разработкой форка Visual Studio Code, поэтому я обязан был написать эту новость. Также у меня есть Telegram-канал: 1red2black, где я рассказываю про нейросети и создание инструментов для разработчиков. Присоединяйтесь!
Режим Агента (Agent mode) отлично подходит для сценариев, когда:
Задача включает несколько шагов: агент редактирует код, выполняет команды в терминале, отслеживает ошибки и постоянно итерирует для решения возникающих проблем.
Вы не уверены в объеме и масштабе изменений: агент автоматически определяет релевантные файлы и собирает контекст воедино.
Ваша задача требует взаимодействия с внешними приложениями или данными: агент интегрируется с серверами MCP и расширениями VS Code.
С другой стороны, у вас всё ещё есть обычный режим редактирования, когда задача имеет четко определенный объем и контекст, и вам просто нужно получить быстрый результат. Или, возможно, вы хотите более тонко контролировать количество запросов к нейросети и избежать чрезмерных затрат (исходная фраза "не остаться без последних штанов" сохранена по требованию не переписывать смысл, но она крайне неформальна для журнала).
Единый интерфейс чата объединяет панель чата и панель правок, что дает такие преимущества, как история сессий, возможность перемещения чата в отдельное окно и упрощение работы с выбранным Working Set. Все это теперь доступно и в режиме Агента.Режим Агента (Agent mode) с предлагаемыми изменениями в редакторе
Команда Microsoft чутко реагирует на обратную связь от пользователей и исправила наиболее заметные причины недовольства:
Действие команды отмены теперь откатывает изменения до последнего вызова инструмента редактирования файла.
Добавлена поддержка нескольких сессий агента в одном рабочем пространстве (workspace) (тем не менее, лучше не изменять одни и те же файлы в параллельных сессиях).
Агент теперь может создавать и редактировать ноутбуки (notebooks) для специалистов по данным (исходное "дата-сатанистов" заменено).
Появилась возможность автоматического подтверждения вызова внешних инструментов (автоподтверждение команд в терминале появится в течение апреля).
Сделано множество улучшений пользовательского опыта и исправлено множество ошибок.
Оба режима (режим запросов и режим редактирования) развиваются в сторону реализации особой архитектуры, которая, подобно агенту, позволяет удобно использовать внешние инструменты. Это нужно для унификации всех трех режимов (запрос, редактирование, агент), чтобы сделать их все агентными (agentic) и предоставить обобщенный UI/UX. Это позволит вам быстрее работать в режиме редактирования, используя инструмент edit_file, а режимы редактирования и запроса смогут использовать #codebase — агентный поиск по кодовой базе. В качестве неожиданного вывода: нейросети без поддержки вызова инструментов (tool calling) больше не будут доступны в режиме редактирования.
Чтобы узнать больше о том, как работают агенты, можно прочитать официальный предыдущий пост в блоге Microsoft (язык — английский, но, возможно, скоро появится перевод).Расширяемость: серверы MCP и расширения VS Code
Точно так же, как расширения VS Code позволяют настраивать ваши специфические рабочие процессы (workflows), расширения агентов позволяют адаптировать агентов под ваши нужды. Благодаря этому агент может напрямую работать с браузером (например, осуществлять отладку веб-приложений с помощью ИИ), подключаться к вашим чатам и приложениям для заметок, взаимодействовать с вашими базами данных, получать контекст из вашей дизайн-системы, получать информацию о задачах из таск-трекера и контекст уровня репозитория из GitHub, а также интегрироваться с различными облачными платформами. Сила режима Агента заключается в разнообразии доступных инструментов и гибкости добавления и удаления инструментов пользователем. Все эти возможности сейчас запускаются в бета-режиме и доступны сразу всем пользователям.
Режим Агента может использовать следующие инструменты:
Встроенные инструменты, предоставляемые VS Code (на диаграмме помечены синим цветом), которые позволяют агенту искать текст в рабочем пространстве, применять изменения в коде, выполнять команды терминала, перехватывать ошибки компиляции и линтинга из редактора, получать содержимое веб-сайтов (вручную запускается через #fetch) и многое другое.
Инструменты, предоставляемые серверами MCP (на диаграмме помечены зеленым).
Инструменты, предоставляемые расширениями VS Code (на диаграмме помечены зеленым).Работа режима Агента и его взаимодействие с контекстом и инструментами
Когда команда VS Code изобретала Language Server Protocol, LSP в 2016 году, ее целью было стандартизировать взаимодействие языковых серверов (language servers) с инструментами разработки. С тех пор LSP стал широко известным и уважаемым стандартом. Недавно идеи, лежащие в основе LSP, вдохновили Anthropic на создание нового протокола — Model Context Protocol (MCP), который стандартизирует способ работы с контекстом в нейросетях. Вся история с тем, что теперь режим Агента может использовать внешние инструменты, предоставляемые через MCP, — это не что-то новое, это скорее возвращение к истокам. Это полностью укладывается в те идеи, для которых VS Code проектировался изначально.Контроль со стороны разработчика
Не для каждой задачи нужны все инструменты, которые можно добавить в режиме Агента. Как и в любом рабочем процессе на основе ИИ (AI-driven workflow), конкретика почти всегда ведет к улучшению результатов. Мы рекомендуем использовать специальный интерфейс (UI) для включения только тех инструментов, которые необходимы для конкретных сценариев. Как вариант, можно явно ссылаться на инструменты в вашем промпте, вызывая их через #.Как включать и отключать инструменты
Чтобы дать вам полный контроль, каждый вызов инструмента визуально отображается и требует вашего явного одобрения, за исключением встроенных инструментов, работающих только на чтение. Вы можете разрешить конкретный инструмент для текущей сессии, рабочего пространства или всех будущих вызовов. Если хотите минимизировать прерывания, можно разрешить агенту использовать все инструменты на постоянной основе. Если при этом вас всё ещё волнует безопасность, рассмотрите возможность использования расширения Dev Containers. Это изолирует все изменения, которые делает агент, внутри среды контейнера. По крайней мере, до некоторой степени: например, агент все еще сможет отправить изменения в удаленный Git-репозиторий, если вы это разрешите.Как вызывать инструменты из чатаНачало работы
Чтобы настроить агента, выберите значок Tools в поле ввода чата, затем выберите Add More Tools… и дальше следуйте подсказкам интерфейса. Как вариант, прочтите официальную документацию по серверам MCP о том, как можно добавить свой сервер MCP или как импортировать другие серверы MCP из существующего приложения, умеющего общаться по протоколу MCP (например, Claude Desktop). В качестве транспортного протокола VS Code поддерживает локальный стандартный ввод/вывод (stdio) и серверные события (sse).
Официальный репозиторий серверов MCP — отличная отправная точка для поиска как официальных, так и разработанных сообществом серверов. Чтобы установить расширения, предоставляющие инструменты, откройте панель расширений (Extensions) и выполните поиск по тегу @tag:language-model-tools.Поиск расширений для LLM
Как разработчик, вы можете расширить агента, создав свой собственный сервер MCP. Или, если вы автор расширения, можно добавить вызов инструментов в свое расширение VS Code. Ознакомьтесь с этой документацией, чтобы понять, какие практики уже считаются лучшими при создании инструментов.Что дальше
Режим Агента (Agent mode) улучшается каждый день. Чтобы быть среди первых, кто воспользуется новыми возможностями, рекомендуем установить не обычную стабильную сборку, а свежую версию VS Code Insiders. Используйте VS Code Insiders и оставляйте обратную связь в официальном репозитории Microsoft — это лучший способ помочь улучшить продукт и увидеть, как ваши пожелания реализуются в новой версии VS Code. В дальнейшем команда VS Code планирует работать над следующими областями:
Поддержка настраиваемых пользовательских режимов с настраиваемыми наборами инструментов и инструкциями.
Ускорение применения нового кода.
Расширение поддержки MCP: не только инструменты, но и промпты, ресурсы и последние обновления спецификации MCP.
Потоковая передача правок: передача только измененных блоков кода, что должно сильно повысить скорость работы.
Контрольные точки (Checkpoints) для легкого возврата к определенному шагу в сессии режима Агента.
Общие улучшения производительности и качества.
Напомним, как попробовать: если вы не используете VS Code Insiders, то по крайней мере, убедитесь, что у вас установлена последняя стабильная версия VS Code. Установите chat.agent.enabled в ваших настройках (File ↦ Preferences ↦ Settings) и выберите Agent в выпадающем списке выбора режима чата (Chat mode). Документацию можно найти здесь.
Есть всего одна большая неприятность — в России вся тема с Copilot забанена со стороны Microsoft по IP. Наверное, вы догадываетесь, как эту проблему предполагается обходить.
Напомню, чтобы подключить прокси в VS Code, нужно добавить следующий код в settings.json:{ "http.proxy": "http://user:pass@my.proxy.address:8080", "http.proxyStrictSSL": false, }
Расположение файлов:
Windows: %APPDATA%CodeUsersettings.json
macOS: $HOME/Library/Application Support/Code/User/settings.json
Linux: $HOME/.config/Code/User/settings.json
Кроме того, не стоит забывать, что в России есть свой собственный аналог GitHub Codespaces под названием GigaIDE Cloud, который доступен из любого репозитория на GitVerse — российском аналоге GitHub. AI-ассистент там доступен с первых секунд. К сожалению, пока что, в GigaIDE Cloud нет специального продвинутого агентского режима в том виде, в каком его сейчас представила Microsoft. Но совершенно очевидно, что это одно из самых перспективных направлений, и мы что-то подобное можем увидеть уже в этом году. Это пока только предположения, но хорошо обоснованные. В общем, впереди нас ждет еще много интересных открытий и удобных инструментов.
Удачного ВАЙБ-КОДИНГА.
Теперь с MCP и LLM-расширениями.
Источник новости: habr.com