Обзор Агент кодирования Copilot
С помощью Агент кодирования Copilot{ GitHub Copilot может работать независимо в фоновом режиме для выполнения задач так же, как и разработчик человека.
Агент кодирования Copilot может:
- Исправление ошибок
- Реализация добавочных новых функций
- Улучшение охвата тестов
- Документация по обновлению
- Устранение технического долга
Чтобы делегировать задачи Агент кодирования Copilot, вы можете:
- Попросите Copilot открыть новый pull-запрос из разных источников, включая GitHub Issues, Visual Studio Code и панель агентов, доступную на каждой странице GitHub. См . раздел AUTOTITLE.
- Упомяните
@copilotв комментарии о существующем запросе на вытягивание, чтобы попросить его внести изменения. См . раздел AUTOTITLE. - Назначьте оповещения безопасности Copilot из кампаний безопасности. См. Устранение оповещений в кампании безопасности.
Агент кодирования Copilot оценит задачу, которую ему назначили, на основе запроса, который вы ему дадите, будь то описание проблемы или сообщение в чате. Затем Агент кодирования Copilot внесет необходимые изменения и откроет запрос на вытягивание. Когда Агент кодирования Copilot завершится, он запросит у вас проверку, и вы сможете оставить комментарии к запросу на вытягивание, чтобы попросить Агент кодирования Copilot для итерации.
Работая над задачей по программированию, Агент кодирования Copilot access в собственную эфемерную среду разработки, основанную на GitHub Actions, где она может исследовать ваш код, вносить изменения, выполнять автоматизированные тесты и линтеры и многое другое.
Преимущества по сравнению с традиционными рабочими процессами ИИ
При эффективном использовании Агент кодирования Copilot обеспечивает преимущества производительности по сравнению с традиционными помощниками по искусственному интеллекту в idEs:
-
При использовании помощников по искусственному интеллекту в idEs кодирование выполняется локально. Отдельные разработчики объединяются в синхронных сеансах с помощником по искусственному интеллекту. Решения, принятые во время сессии, не будут отслечены** и потеряны **до тех пор, пока не зафиксировано. Хотя ассистент помогает писать код, у разработчика всё равно есть много manual шагов to do: создать ветку, написать коммит-сообщения, отправить изменения, открыть PR, написать описание PR, получить обзор, повторить работу в IDE и повторить. Эти действия занимают много времени и усилий, которые могут быть трудно оправдать для простых или обычных проблем.
-
С Агент кодирования Copilot всё кодирование и итерания выполняются on GitHub в рамках рабочего процесса pull request. Вы можете создать несколько Пользовательские агенты, которые специализируются на разных типах задач. Copilot автоматизирует создание ветви, запись сообщений фиксации и отправку, открытие pr и написание описания pr. Разработчики позволяют агентам работать в фоновом режиме , а затем направляют Copilot к окончательному решению с помощью PR-обзоров. Работа над GitHub добавляет transparency, при этом каждый шаг происходит в комите и отображается в логах, а также открывает возможности collaboration для всей команды.
Агент кодирования Copilot и режим агента
Агент кодирования Copilot отличается от функции "режим агента", доступной в вашей среде IDE. Агент кодирования Copilot работает автономно в среде, основанной на GitHub Actions, выполняя задачи разработки, назначенные через GitHub или GitHub Copilot Чат запросы, а также создаёт pull requests с результатами. В отличие от этого, режим агента в интегрированной среде разработки выполняет автономные изменения непосредственно в локальной среде разработки. Для получения дополнительной информации о режиме агента см. Задавать вопросы GitHub Copilot в вашем IDE.
Упрощение разработки программного обеспечения с помощью Агент кодирования Copilot
Назначение задач Агент кодирования Copilot может улучшить рабочий процесс разработки программного обеспечения.
Например, вы можете назначить Агент кодирования Copilot простым задачам в бэклоге, выбрав "Copilot" в качестве исполнителя. Это позволяет тратить меньше времени на эти вопросы и больше времени на более сложную или интересную работу, или работу, требующую высокой степени творческого мышления. Агент кодирования Copilot могут работать над проблемами, которые улучшают качество вашей кодовой базы или продукта, но часто остаются в бэклоге, пока вы сосредотачиваетесь на более срочной работе.
Наличие Агент кодирования Copilot в качестве дополнительного ресурса кодирования также позволяет запускать задачи, которые в противном случае вы могли бы не начать из-за нехватки ресурсов. Например, вы можете создать проблемы для рефакторинга кода или добавления дополнительного ведения журнала, а затем немедленно назначить их Copilot.
Агент кодирования Copilot может запустить задачу, которую вы затем подхватите и продолжите работу над собой. Назначив начальную работу на Copilot, вы освобождаете время, которое в противном случае потратили бы на повторяющиеся задачи, например, на подготовку каркасов для нового project.
Вы можете создавать специализированные Пользовательские агенты для разных задач. Например, вы можете создать Пользовательский агент, специализированный для фронтенд-разработки, который фокусируется на компонентах и стилях React, агент документации, который преуспевает в написании и обновлении технической документации, или агент тестирования, который специализируется на создании комплексных модульных тестов. Каждый Пользовательский агент может быть настроен с помощью конкретных подсказок и инструментов, подходящих для его конкретной задачи.
Измерение результатов pull request для Агент кодирования Copilot
Администраторы предприятий и владельцы организаций могут использовать метрики использования Copilot для анализа результатов pull request, созданных Агент кодирования Copilot.
API метрик использования Copilot включают метрики жизненного цикла pull request, такие как:
- Общее количество созданных и объединённых pull запросов
- Количество pull request, созданных Агент кодирования Copilot, которые были объединены
- Медианное время слияния для объединённых pull request, включая pull requests, созданные Агент кодирования Copilot
Эти метрики помогут отслеживать внедрение Агент кодирования Copilot и отслеживать изменения пропускной способности pull-запросов и время слияния со временем. См . раздел AUTOTITLE.
Интеграция Агент кодирования Copilot со сторонними инструментами
Вы также можете вызвать Агент кодирования Copilot из внешних инструментов, что позволит вам назначать задачи Copilot, предоставлять контекст и открывать запросы на вытягивание, не выходя из рабочего процесса. См. раздел AUTOTITLE
Предоставление доступа к данным Агент кодирования Copilot
Прежде чем назначать задачи Агент кодирования Copilot, его необходимо включить.
Агент кодирования Copilot доступен с планами GitHub Copilot Pro, GitHub Copilot Pro+, GitHub Copilot Бизнес и GitHub Copilot Энтерпрайз.
Если вы являетесь подписчиком GitHub Copilot Бизнес или GitHub Copilot Энтерпрайз, администратор должен включить соответствующую политику, прежде чем использовать агент.
Владельцы репозиториев могут отказаться от некоторых или всех репозиториев из Агент кодирования Copilot.
Для получения дополнительной информации см. Управление access to GitHub Copilot программирующего агента.
AI-модели для Агент кодирования Copilot
В зависимости от того, как вы начинаете задачу Агент кодирования Copilot, вы можете выбрать модель, используемую для Агент кодирования Copilot. Вы можете обнаружить, что разные модели работают лучше или дают более полезные ответы, в зависимости от типа задач, которые вы даёте Copilot.
Для получения дополнительной информации см. Изменение модели ИИ для GitHub Copilot программирующего агента.
Расширение знаний Агент кодирования Copilot о репозитории
Чем больше Агент кодирования Copilot знает о коде в вашем репозитории, используемых инструментах и ваших стандартах и практиках кодирования, тем эффективнее он становится. Существует два способа улучшить знания Агент кодирования Copilot о репозитории.
-
**Пользовательские инструкции**Это короткие операторы на естественном языке, которые вы пишете и храните в виде одного или нескольких файлов в репозитории. Если вы владелец организации на GitHub, вы также можете задать пользовательские инструкции в настройках вашей организации. Для получения дополнительной информации см. О кастомизации ответов GitHub Copilot.
-
**Память второго пилота** (public preview)Если у вас есть план Copilot Pro или Copilot Pro+, вы можете включить Память второго пилота. Это позволяет Copilot хранить полезные детали, которые он сам разработал относительно репозитория. Агент кодирования Copilot может использовать эту информацию, когда она работает в этом репозитории. Для получения дополнительной информации см. О агентной памяти для GitHub Copilot.
Затраты на использование Агент кодирования Copilot
Агент кодирования Copilot использует GitHub Actions минут и Copilot запросов уровня "Премиум".
В рамках ежемесячного лимита использования GitHub Actions и премиум-запросов вы можете попросить Агент кодирования Copilot для работы над задачами по программированию без каких-либо дополнительных затрат.
Для получения дополнительной информации см. GitHub Copilot лицензии.
Customizing Агент кодирования Copilot
Вы можете настраивать Агент кодирования Copilot несколькими способами:
-
**Пользовательские инструкции**: Пользовательские инструкции позволяют предоставить Copilot дополнительный контекст на вашем project и помочь создать, протестировать и проверять изменения. Для получения дополнительной информации см. [AUTOTITLE](/copilot/how-tos/configure-custom-instructions/add-repository-instructions). -
**Model Context Protocol (MCP) серверы**: MCP-серверы позволяют предоставлять Copilot access различным источникам данных и инструментам. Для получения дополнительной информации см. [AUTOTITLE](/copilot/how-tos/use-copilot-agents/coding-agent/extend-coding-agent-with-mcp). -
**Пользовательские агенты**: Пользовательские агенты позволяют создавать различные специализированные версии Copilot для разных задач. Например, вы можете настроить Copilot, чтобы стать экспертом фронтенд-инженера, следующего рекомендациям вашей команды. Для получения дополнительной информации см. [AUTOTITLE](/copilot/concepts/agents/coding-agent/about-custom-agents). -
**Крючки**: Хуки позволяют выполнять пользовательские команды shell в ключевых точках выполнения агента, добавляя проверку, логирование, сканирование безопасности или автоматизацию рабочих процессов. Для получения дополнительной информации см. [AUTOTITLE](/copilot/concepts/agents/coding-agent/about-hooks). -
**Навыки**: Навыки позволяют развивать способность Copilot выполнять специализированные задачи с помощью инструкций, скриптов и ресурсов. Для получения дополнительной информации см. [AUTOTITLE](/copilot/concepts/agents/about-agent-skills).
Встроенные средства защиты безопасности
Безопасность является основным фактором, когда вы включаете Агент кодирования Copilot, как и любой другой агент ИИ. Агент кодирования Copilot имеет мощную базу встроенных средств защиты, которые вы можете дополнить, следуя рекомендациям.
-
* CodeQL используется для выявления проблем безопасности кода.**Проверено на наличие проблем безопасности**: Copilot анализирует код, созданный Агент кодирования Copilot, на наличие проблем безопасности и пытается решить их до завершения запроса на вытягивание. Это снижает вероятность того, что код, сгенерированный Агент кодирования Copilot, приведет к таким проблемам, как жестко запрограммированные секреты, небезопасные зависимости и другие уязвимости. Подробную информацию о выполненном анализе и действиях, предпринятых Агент кодирования Copilot, можно просмотреть в журнале сессий. См [. раздел AUTOTITLE](/copilot/how-tos/use-copilot-agents/coding-agent/track-copilot-sessions).- Вновь введенные зависимости проверяются на соответствие GitHub Advisory Database на наличие предупреждений о вредоносных программах, а также на наличие уязвимостей с высоким или критическим рейтингом CVSS.
-
**Secret scanning** используется для обнаружения конфиденциальной информации, такой как ключи API, токены и другие секреты. - Для проверки безопасности Агент кодирования Copilot не требуется лицензия GitHub Secret Protection, GitHub Code Security, or GitHub Advanced Security.
-
**Под управлением существующего управления**: параметры организации и управление доступностью корпоративных политик. Любые политики безопасности и методики, настроенные для организации, также применяются к Агент кодирования Copilot. -
**Ограниченная среда разработки**: Агент кодирования Copilot работает в песочнице, где интернет-access управляется файрволом. У него есть access только для чтения к репозиторию, в котором он работает. -
**Limited access to branch**: Агент кодирования Copilot может создавать и отправлять в ветки только начиная с `copilot/`. Он распространяется на любые защиты ветви и необходимые проверки для рабочего репозитория. -
**Отвечает только пользователям с разрешениями на запись**: Агент кодирования Copilot не отвечает на отзывы пользователей с меньшим уровнем access. -
**Воспринимается как внешний соавтор**- Черновые pull requests, созданные Агент кодирования Copilot, должны быть просмотрены и объединены человеком. Агент кодирования Copilot не может пометить свои запросы на вытягивание как "Готовые к рассмотрению" и не может утвердить или объединить запросы на вытягивание.
- По умолчанию рабочие процессы GitHub Actions не запускаются для pull-запросов Агент кодирования Copilot до тех пор, пока пользователь с доступом к записи в репозиторий не нажмёт кнопку «Одобрить» и запустить рабочие процессы . По желанию вы можете настроить Copilot, чтобы рабочие процессы запускались автоматически. См . раздел AUTOTITLE.
-
**Отслеживается на предмет соответствия**: коммиты Агент кодирования Copilot являются соавторами разработчика, который назначил проблему или запросил изменение в запросе на вытягивание, что позволяет атрибуировать предложенные изменения. Разработчик, который попросил Copilot создать запрос на вытягивание не может утвердить этот запрос на вытягивание. В репозиториях, где требуется одобрительная проверка, это гарантирует, что по крайней мере один независимый разработчик проверит Агент кодирования Copilot.
Дополнительные сведения см. в разделе: * Пилотирование агента кодирования GitHub Copilot в вашей организации (сведения о том, как владелец организации могут повысить безопасность) * автозаголовок * GitHub Copilot Центр доверия
Риски и устранение рисков
Агент кодирования Copilot — это автономный агент, который access к вашему коду и может отправлять изменения в ваш репозиторий. Это влечет за собой определенные риски. По возможности GitHub применил соответствующие меры по снижению последствий.
Риск: Агент кодирования Copilot могут отправить изменения кода в ваш репозиторий
Чтобы снизить этот риск, GitHub:
-
**Ограничивает круг лиц, которые могут назначать задачи Агент кодирования Copilot.** Только пользователи с записью access в репозиторий могут запускать Агент кодирования Copilot для работы. Комментарии пользователей без write access никогда не отображаются агенту. -
**Ограничивает права на access токены, используемые Агент кодирования Copilot.** Push-уведомления разрешены только для ветвей, начиная с `copilot/`. Агент кодирования Copilot не могут быть отправлены в ветви `main` OR `master` . -
**Ограничивает Агент кодирования Copilotучетными данными }.** Агент кодирования Copilot может выполнять только простые операции push. Он не может выполняться `git push` напрямую или другие команды Git. -
**Ограничивает запуск рабочего процесса GitHub Actions.** По умолчанию рабочие процессы запускаются только тогда, когда код Агент кодирования Copilot не будет проверен, и пользователь с доступом к репозиторию не нажмёт кнопку **«Одобрить» и «Запустить рабочие процессы** ». По желанию вы можете настроить Copilot, чтобы рабочие процессы запускались автоматически. См [. раздел AUTOTITLE](/copilot/how-tos/use-copilot-agents/coding-agent/review-copilot-prs#managing-github-actions-workflow-runs). -
**Запрещает пользователю, запросившему Агент кодирования Copilot для создания запроса на вытягивание, утвердить его.** Это поддерживает ожидаемые элементы управления в правиле "Обязательные утверждения" и защите ветви. См [. раздел AUTOTITLE](/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/available-rules-for-rulesets).
Риск: Агент кодирования Copilot имеет access к чувствительной информации
Агент кодирования Copilot имеет access в код и другую чувствительную информацию и может её слить, либо случайно, либо из-за злонамеренного пользователя. Чтобы снизить этот риск, GitHub:
-
**Ограничивает Агент кодирования Copilot access интернетом.** См [. раздел AUTOTITLE](/copilot/customizing-copilot/customizing-or-disabling-the-firewall-for-copilot-coding-agent).
Риск: уязвимости внедрения запросов
Пользователи могут включать скрытые сообщения в задачи, назначенные Агент кодирования Copilot или комментарии, оставленные для Агент кодирования Copilot в качестве формы быстрого внедрения. Чтобы снизить этот риск, GitHub:
-
**Фильтрует скрытые символы перед передачей вводимых пользователем данных в Агент кодирования Copilot**: Например, текст, введенный в виде HTML-комментария в проблеме или комментарии запроса на вытягивание, не передается в Агент кодирования Copilot.
Ограничения Агент кодирования Copilot
Агент кодирования Copilot имеет определенные ограничения в рабочем процессе разработки программного обеспечения и совместимости с другими функциями.
Ограничения в рабочем процессе разработки программного обеспечения Агент кодирования Copilot
-
**Copilot может вносить изменения только в указанном репозитории при начале задачи**. Copilot не может вносить изменения в нескольких репозиториях за один запуск. -
**По умолчанию Copilot может access контекст в репозитории, указанном при запуске задачи**. Сервер Copilot по умолчанию настроен так, чтобы Copilot access контекст (например, проблемы и исторические pull requests) в репозитории, где он работает. Однако вы можете настроить более широкий access. См [. раздел AUTOTITLE](/copilot/using-github-copilot/coding-agent/extending-copilot-coding-agent-with-mcp). -
**Copilot может одновременно открывать только один запрос** на вытягивание. Copilot открывает ровно один запрос на вытягивание для решения каждой назначенной задачи.
Ограничения совместимости Агент кодирования Copilot с другими функциями
-
**Copilot не может соответствовать определенным правилам, которые могут быть настроены для вашего репозитория**. Если у вас настроен набор правил или правило защиты ветки, несовместимый с Агент кодирования Copilot (например, правило «Требуются подписанные коммиты»), access агенту будет заблокирован. Если правило настроено с помощью наборов правил, вы можете добавить Copilot как актёр обхода для включения access. См [. раздел AUTOTITLE](/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/creating-rulesets-for-a-repository#granting-bypass-permissions-for-your-branch-or-tag-ruleset). -
**Агент кодирования Copilot не учитывает исключения контента**. Исключения содержимого позволяют администраторам настраивать Copilot, чтобы игнорировать определенные файлы. При использовании Агент кодирования Copilot, Copilot не игнорирует эти файлы и сможет просматривать и обновлять их. См [. раздел AUTOTITLE](/copilot/managing-copilot/configuring-and-auditing-content-exclusion/excluding-content-from-github-copilot). -
**Агент кодирования Copilot работает только с репозиториями, размещёнными на GitHub**. Если репозиторий хранится с помощью другой платформы размещения кода, Copilot не сможет работать над ним.
Отработка практических навыков
Попробуйте упражнение Расширьте команду с помощью Агент кодирования Copilot Skills для практического опыта работы с Агент кодирования Copilot.
Дополнительные материалы
-
[АВТОЗАГОЛОВОК](/copilot/using-github-copilot/coding-agent) статьи с инструкциями -
[автозаголовок](/copilot/concepts/agents/coding-agent/about-custom-agents) -
[автозаголовок](/copilot/responsible-use-of-github-copilot-features/responsible-use-of-copilot-coding-agent-on-githubcom)