Использование встроенных и настраиваемых агентов с GitHub Copilot

Visual Studio включает набор управляемых встроенных агентов, которые глубоко интегрируются с IDE, такими как отладка, профилирование и тестирование. Вы также можете создавать настраиваемые агенты, адаптированные к тому, как работает ваша команда.

Предпосылки

Доступ к пользовательским агентам

К пользовательским агентам можно получить доступ через два способа:

  • Agent picker: в окне Copilot Chat выберите раскрывающийся список выбора агента, чтобы просмотреть доступных агентов. В настоящее время этот параметр доступен только в сборке Visual Studio 2026 Insiders.
  • Синтаксис @: введите @ имя агента в поле ввода чата (например, @debugger).

Вы можете получить доступ к пользовательским агентам с помощью синтаксиса@: введите @ имя агента в входных данных чата (например, @profiler).

Скриншот, показывающий выбор агент с пользовательскими агентами в Visual Studio.

Снимок экрана: средство выбора агента с пользовательскими агентами.

Встроенные агенты

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

Агент Описание
@debugger Выходит за рамки чтения сообщений об ошибках. Использует стеки вызовов, состояния переменных и средства диагностики для систематического осуществления диагностики ошибок по всему вашему решению.
@profiler Подключается к инфраструктуре профилирования Visual Studio, чтобы определить узкие места и предложить целевые оптимизации, основанные на вашей кодовой базе, а не универсальные советы.
@test Создает модульные тесты, настроенные на фреймворк и шаблоны вашего проекта, а не шаблонные, которые ваш CI отклоняет.
@modernize (только для .NET и C++) управляет обновлениями платформы и зависимостей с пониманием актуальной структуры вашего проекта. Помечает критические изменения, создает код миграции и следует существующим шаблонам.
Агент Описание
@profiler Подключается к инфраструктуре профилирования Visual Studio, чтобы определить узкие места и предложить целевые оптимизации, основанные на вашей кодовой базе, а не универсальные советы.

Используйте агента @debugger

Агент @debugger помогает систематически диагностировать ошибки, анализируя контекст отладки. Он также поддерживает комплексный автономный рабочий процесс, который воспроизводит ошибки, инструментирует ваше приложение с помощью точек трассировки и условных точек останова, а также проверяет исправления с использованием данных в реальном времени выполнения. Дополнительные сведения см. в разделе "Разрешение ошибок агента агентом отладчика".

Примеры запросов:

  • @debugger Why is this exception being thrown?
  • @debugger Analyze the current call stack and explain what went wrong
  • @debugger What's causing the null reference in this method?

Используйте агента @profiler

Агент @profiler подключается к средствам профилирования Visual Studio для выявления и устранения проблем с производительностью.

Примеры запросов:

  • @profiler Find the performance bottlenecks in my application
  • @profiler Why is this method taking so long to execute?
  • @profiler Suggest optimizations for the hot path

Используйте агента @test

Агент @test создает модульные тесты, соответствующие платформе тестирования и соглашениям проекта.

Примеры запросов:

  • @test Generate unit tests for the selected method
  • @test Create tests that cover edge cases for this class
  • @test Write integration tests for this API endpoint

Дополнительные сведения о поддержке тестирования .NET см. в тестировании .NET в GitHub Copilot.

Используйте агента @modernize

Агент @modernize помогает с миграцией платформы и обновлениями зависимостей для проектов .NET и C++.

Для рабочих процессов модернизации .NET агент поддерживает трехэтапный процесс:

  • Оценка: проверка версий пакетов, параметров целевой платформы, инвентаризации проектов и рисков совместимости API.
  • План. Создает план миграции, соответствующий текущим приоритетам оценки и обновления.
  • Выполнение задачи. Выполняется с помощью задач модернизации с динамическим файлом задач, который можно изменить по мере выполнения работы.

Примеры запросов:

  • @modernize Upgrade this project to .NET 8
  • @modernize What breaking changes should I expect when migrating?
  • @modernize Update deprecated API calls in this file
  • @modernize Assess this solution, generate a migration plan, and create execution tasks

Для получения комплексных рекомендаций по модернизации приложения GitHub Copilot для .NET см. обзор модернизации приложения GitHub Copilot.

Пользовательские агенты

Замечание

Для пользовательских агентов требуется Visual Studio 2026 версии 18.4 или более поздней.

Встроенные агенты охватывают распространенные рабочие процессы, но ваша команда лучше всех знает ваш рабочий процесс. Пользовательские агенты позволяют создавать собственных агентов с помощью той же основы: осведомленности о рабочей области, понимания кода, предпочитаемой модели ИИ и собственных инструментов.

Пользовательские агенты становятся особенно мощными при сочетании с MCP (Контекстный протокол модели). Агенты можно подключить к внешним источникам знаний, таким как внутренняя документация, системы проектирования, API и базы данных, поэтому агент не ограничен тем, что находится в репозитории.

Вы также можете определить навыки повторного использования агента , которые любой агент может обнаруживать и использовать автоматически. Хотя агенты определяют личность и набор инструментов, навыки предоставляют ориентированные инструкции для конкретной задачи.

Создание пользовательского агента

Определите настраиваемые агенты в качестве .agent.md файлов в папке репозитория .github/agents/ :

your-repo/
└── .github/
    └── agents/
        └── code-reviewer.agent.md

Вы также можете определить агенты уровня пользователя, которые применяются во всех проектах. Агенты пользовательского уровня по умолчанию размещаются в %USERPROFILE%\.github\agents. Это расположение можно изменить в разделе "Параметры>инструментов>" GitHub>Copilot.

Формат файла агента

Каждый файл агента использует простой шаблон с YAML-заголовком, после которого идут инструкции Markdown.

---
name: Code Reviewer
description: Reviews PRs against our team's coding standards
model: claude-opus-4-6
tools: ["code_search", "readfile", "find_references"]
---

You are a code reviewer for our team. When reviewing changes, check for:

- Naming conventions: PascalCase for public methods, camelCase for private
- Error handling: all async calls must have try/catch with structured logging
- Test coverage: every public method needs at least one unit test

Flag violations clearly and suggest fixes inline.

Свойства frontmatter

Недвижимость Обязательно Описание
name нет Отображаемое имя для агента в выборе агентов. Если это свойство не указано, имя агента поступает из имени файла (например, code-reviewer.agent.md становится code-reviewer).
description Yes Краткое описание, появляющееся при наведении курсора на агент
model нет Модель искусственного интеллекта для использования. Если это свойство не указано, используется модель, выбранная в селекторе моделей.
tools нет Массив имен инструментов, которые агент может использовать. Если это свойство не указано, все доступные средства включены.

Укажите инструменты

Инструменты расширяют возможности вашего пользовательского агента. Можно указать инструменты, которые агент должен использовать в массиве tools .

Это важно

Имена инструментов зависят от GitHub Copilot платформ. Проверьте средства, доступные в Visual Studio специально, чтобы убедиться, что агент работает должным образом. Щелкните значок "Сервис" в окне чата, чтобы просмотреть доступные имена инструментов.

Подключение к внешним источникам с помощью MCP

С помощью серверов MCP пользовательские агенты могут получить доступ к внешним источникам знаний, таким как:

  • Внутренняя документация и вики-сайты
  • Проектирование систем и библиотек компонентов
  • API и базы данных
  • Руководства по стилю и репозитории ADR

Например, агент проверки кода может проверять pull requests в соответствии с вашими фактическими соглашениями, подключившись к руководству по стилю через MCP.

Пример пользовательских агентов

Агент проверки кода

---
name: Code Reviewer
description: Reviews code against our team's coding standards
tools: ["code_search", "readfile"]
---

You are a code reviewer for our team. Review changes for:

1. **Naming conventions**: PascalCase for public methods, camelCase for private fields
2. **Error handling**: All async calls must have try/catch with structured logging
3. **Test coverage**: Every public method needs at least one unit test
4. **Documentation**: Public APIs must have XML documentation comments

Flag violations clearly and suggest fixes inline.

Агент планирования

---
name: Feature Planner
description: Helps plan features before writing code
tools: ["code_search", "readfile", "find_references"]
---

You are a planning assistant. When asked about a feature:

1. Gather requirements by asking clarifying questions
2. Identify affected files and components in the codebase
3. Break down the work into discrete tasks
4. Flag potential risks or dependencies
5. Create a structured plan that can be handed off for implementation

Focus on understanding scope before suggesting solutions.

Разработка системного агента

---
name: Design System
description: Enforces UI design patterns and component usage
tools: ["code_search", "readfile"]
---

You are a design system expert. When reviewing UI code:

1. Check that standard components are used instead of custom implementations
2. Verify spacing and layout follow the design token system
3. Ensure accessibility requirements are met (ARIA labels, keyboard navigation)
4. Flag any UI drift from established patterns

Reference the component library documentation when suggesting fixes.

Агент разработки full-stack с использованием средств Visual Studio

В следующем примере используются имена инструментов для Visual Studio:

---
name: Full Stack Dev
description: Full-stack development assistant with search, file editing, and terminal access
tools: ["code_search", "readfile", "editfiles", "find_references", "runcommandinterminal", "getwebpages"]
---

You are a full-stack development assistant. Help with:

1. Searching the codebase to understand existing patterns
2. Reading and editing files to implement changes
3. Running build and test commands to verify your work
4. Looking up documentation when needed

Always check existing code conventions before making changes.

Подсказка

Щелкните значок Tools в окне Copilot Chat, чтобы просмотреть все доступные имена инструментов в вашей версии Visual Studio.

агенты разработки .NET

Команда .NET поддерживает тщательно отобранные пользовательские агенты для разработки на C# и Windows Forms в репозитории awesome-copilot. Чтобы приступить к работе, выполните приведенные действия.

  1. Скачайте CSharpExpert.agent.md и WinFormsExpert.agent.md.
  2. Добавьте файлы в папку репозитория .github/agents/ .
  3. Откройте Copilot Chat в режиме агента и выберите агент из селектора агента.

Подсказка

Выберите Tools>Options>GitHub>Copilot, а затем включите инструкции для конкретных проектов .NET, например, для разработки Windows Forms, если применимо, чтобы автоматически добавлять соответствующего пользовательского агента для вашей базы кода.

Эксперт по C#

Агент эксперта C# применяет современные соглашения C# к созданию кода Copilot:

  • Синтаксис и производительность: Следуйте текущим лучшим практикам, сопоставляя их с существующими соглашениями вашего репозитория.
  • Минимальные изменения: создает только необходимый код, используя async/await с надлежащей обработкой отмены и исключения. Избегает использования неиспользуемых интерфейсов, методов или параметров.
  • Тестирование. Поддерживает модульное тестирование на основе поведения, тестирование интеграции и рабочие процессы TDD.

Эксперт WinForms

Агент WinForms Expert предназначен для разработки Windows Forms на .NET 8 до .NET 10:

  • Защита кода дизайнера: предотвращает повреждение .Designer.cs, чтобы дизайнер Windows Forms продолжал работу после того, как Copilot внес изменения.
  • Паттерны проектирования пользовательского интерфейса: MVVM и MVP, включая привязку данных из "Community Toolkit".
  • Modern .NET: правильные перегрузки InvokeAsync, темный режим, осведомленность о высокой DPI и ссылочные типы, допускающие значение NULL.
  • Макет: TableLayoutPanel и FlowLayoutPanel для адаптивных макетов с поддержкой DPI.
  • Сериализация CodeDOM: [DefaultValue] атрибуты и ShouldSerialize*() методы для правильной обработки свойств конструктора.
  • Обработка исключений: шаблоны обработчика событий Async и обработка исключений на уровне приложения.

Конфигурации сообщества

Репозиторий awesome-copilot содержит конфигурации агентов, внесённые сообществом, которые можно использовать в качестве исходных точек. При использовании конфигураций из этого репозитория убедитесь, что имена инструментов работают в Visual Studio перед развертыванием в команде.

Ограничения и заметки

  • Если вы не укажете модель, агент использует ту модель, которая выбрана в селекторе моделей.
  • Имена инструментов зависят от GitHub Copilot платформ. Убедитесь, что имена инструментов работают в Visual Studio перед развертыванием в команде.

Поделиться отзывом

Поделитесь конфигурациями пользовательских агентов в репозитории awesome-copilot или оставьте отзыв через Visual Studio Сообщество разработчиков. Рабочие процессы помогают формировать будущие функции.