Найти в Дзене

Мой опыт использования GitHub Copilot

Microsoft Copilot или просто Copilot - нейросеть и ИИ-ассистент от всем известной корпорации. Причем, Microsoft очень активно внедряют его во все свои продукты: Существует вариант использования Github Copilot на официальном сайте в формате чата. Сегодня же нас интересует Copilot вкупе со средой разработки Visual Studio. И да, к сожалению, Copilot не работает в России, так что вы можете ознакомиться с моими другими статьями на тему использования ИИ-ассистентов с IDE здесь: Чтобы не было разночтений: сегодня мы говорим не о кроссплатформенном, легковесном и универсальном Visual Studio Code, а о "тяжелой артиллерии" - просто Visual Studio 2022 (самый актуальный на данный момент). Выбор для меня очевиден тем, что VS 2022 уже содержит интеграцию с Copilot изначально, а так же тем, что он мне более хорошо знаком. Скачать Visual Studio 2022 Community абсолютно бесплатно можно на официальном сайте. Copilot имеет 3 тарифа, один из которых - бесплатный. Причем, в бесплатном уже есть доступ к мо
Оглавление

Что вообще такое Copilot?

Microsoft Copilot или просто Copilot - нейросеть и ИИ-ассистент от всем известной корпорации. Причем, Microsoft очень активно внедряют его во все свои продукты:

  • GitHub Copilot - ИИ ассистент для разработчиков, интегрированный в GitHub и IDE Visual Studio
  • Microsoft 365 Copilot - ИИ ассистент, интегрированный в Windows 11, Office и Teams

Существует вариант использования Github Copilot на официальном сайте в формате чата.

-2

Сегодня же нас интересует Copilot вкупе со средой разработки Visual Studio.

И да, к сожалению, Copilot не работает в России, так что вы можете ознакомиться с моими другими статьями на тему использования ИИ-ассистентов с IDE здесь:

Немного о Visual Studio

Чтобы не было разночтений: сегодня мы говорим не о кроссплатформенном, легковесном и универсальном Visual Studio Code, а о "тяжелой артиллерии" - просто Visual Studio 2022 (самый актуальный на данный момент).

Выбор для меня очевиден тем, что VS 2022 уже содержит интеграцию с Copilot изначально, а так же тем, что он мне более хорошо знаком.

Скачать Visual Studio 2022 Community абсолютно бесплатно можно на официальном сайте.

Лимиты и тарифы

Copilot имеет 3 тарифа, один из которых - бесплатный.

-3

Причем, в бесплатном уже есть доступ к модели Claude 3.5, по моему мнению, именно она лучше справляется с прикладными задачами программиста.

Цены на платные тарифы мало отличаются от конкурентов, а бесплатного тарифа с 2000 дополнений в месяц вполне может хватить для бытовых целей, например, написания pet-проекта.

Впечатления

Я создал консольное приложение на C# в .NET 9, чтобы в более простой форме оценить ассистента.

Таким окном нас встречает Copilot
Таким окном нас встречает Copilot

Первое, что бросается в глаза - интеграция с внутренними ссылками (навигацией) в VS, так, например, нажатие на ссылку может быть равносильно выбору элементов из меню программы.

Переход по ссылке равносилен использованию меню или палитры команд в других IDE
Переход по ссылке равносилен использованию меню или палитры команд в других IDE

Оформление ответов в чате выполнено немного лучше, чем в Giga Code, что радует.

В качестве небольшого задания прошу сгенерировать мне три обертки над вызовами управления курсором, используя:

  1. LoadLibrary - WinAPI метод
  2. DllImport - стандартное, но устаревшее средство
  3. LibraryImport - новое и более желательное средство
-6

Со всеми тремя случаями ассистент справляется без ошибок. Это хороший показатель того, что при обучении кодовая база использовалась достаточно актуальная.

Еще более приятным оказалось то, как удобно Copilot предлагает вставить сгенерированный код в уже существующий: это выглядит как глубоко интегрированная и интуитивно понятная функция с выбором места, подсветкой изменений и нажатием Tab для принятия, так же как и с обычным интеллектуальным автодополнением InteliSense в Visual Studio.

Режимы работы

Уже в процессе я узнал кое-что новое: Copilot умеет работать в двух режимах - Ask Mode и Agent Mode. Что это такое?

Ask Mode (режим "Спроси") - это настройка, к которой следует обращаться, когда вам нужна быстрая диалоговая поддержка. Представьте, что вы обращаетесь к опытному разработчику за советом, помощью в устранении проблем или с образцами кода. В этом режиме Copilot Chat не взаимодействует напрямую с файлами в вашей рабочей области. Вместо этого он предоставляет ответы на основе предоставленного вами контекста.

Этот режим лучше всего подходит для:

  • Получение разъяснений по концепциям C#/.NET
  • Запрос фрагментов кода для решения конкретных задач
  • Изучение лучших практик или шаблонов проектирования
  • Запрос на предоставление документации

Примеры сценариев и подсказок для режима Ask:

  • «Можете ли вы объяснить разницу между Task и ValueTask в C#?»
  • «Кратко о шаблоне IDisposable в .NET».
  • «Как с помощью LINQ сгруппировать список объектов по свойству?»

Agent Mode (режим агента) выводит работу с Copilot Chat на новый уровень, позволяя ему выступать в качестве интеллектуального агента в вашей кодовой базе. Здесь Copilot может анализировать файлы вашего проекта, выполнять команды, вносить правки и даже помогать в рефакторинге (наведении порядка в коде) или создании нового кода прямо в вашем решении.

Режим агента лучше всего подходит для:

  • Рефакторинг существующего кода в вашем решении
  • Создание тестов для ваших методов или классов
  • Автоматизация повторяющихся задач (обновление пространств имён, переименование переменных и т. д.)
  • Поиск и исправление ошибок с учётом реальной структуры вашего проекта
  • Анализ кода с учётом контекста вашей кодовой базы

Примеры сценариев и подсказок для режима агента:

  • «Перепишите выбранный метод с использованием async/await».
  • «Создать модульные тесты для MyService в текущем проекте».
  • «Добавьте XML-документацию ко всем открытым методам в этом классе».

Примеры взяты из официальной документации.

Заключение

Я ожидал, что использование Copilot влечет больше проблем, помимо недоступности в России. К моему удивлению, все оказалось намного лучше и проще. Если вы собираетесь использовать Visual Studio - Copilot сослужит вам хорошую службу.

📌Надеюсь, мой беглый обзор был вам полезен. Обязательно пишите свое мнение в комментариях!