Назначение, отслеживание и диагностика задач Copilot Cloud Agent
Агент GitHub Copilot Cloud выступает в качестве автономного товарища по команде, который работает непосредственно внутри GitHub. После включения ей можно назначить задачу, отслеживать ход выполнения в режиме реального времени и управлять ее работой, оставляя комментарии в pull-запросах. В этом уроке объясняется, как назначать проблемы Copilot с помощью GitHub.com, GitHub Mobile, API или ИНТЕРФЕЙСА командной строки. В нем также показано, как отслеживать работу агента и взаимодействовать с ним, а также предоставляется сборник схем устранения распространенных проблем.
К концу этого урока вы сможете:
- Назначьте задачи с помощью GitHub.com, GitHub Mobile, API или CL.
- Отслеживайте прогресс Copilot с помощью хронологий запросов на вытягивание и журналов сеансов.
- Улучшайте результаты Copilot, комментируя пулл-реквесты.
- Ознакомьтесь с правилами одобрения запросов на вытягивание, созданных агентом.
- Как устранить распространенные проблемы при передаче задач в Copilot.
Назначение задач Copilot
При назначении задачи Copilot агент подтверждает это, добавляя реакцию 👀 на задачу. Затем он создает выделенную copilot/ ветвь, открывает черновик запроса на вытягивание, связанный с проблемой, и начинает сеанс агента в среде, работающей на GitHub Actions. По мере работы Copilot отправляет коммиты в ветвь и обновляет тело pull-запроса с сообщениями о состоянии. После завершения задачи Copilot отправляет событие "Copilot завершил работу" и запрашивает ваш отзыв.
На GitHub.com вы назначаете задачу Copilot так же, как и другому пользователю. Перейдите на вкладку "Проблемы репозитория", откройте проблему, которую вы хотите делегировать, и в правой боковой панели в разделе "Назначаемые" выберите Copilot. Copilot получает название проблемы, описание и любые существующие комментарии во время назначения. Комментарии, добавленные позже для этой проблемы, не видны агенту, поэтому добавьте новые сведения в виде комментариев непосредственно в запрос на pull агента.
Вы также можете назначить задачи для Copilot из списка задач на странице задач репозитория, в проектах GitHub или через GitHub Mobile. Для рабочих процессов командной строки можно использовать интерфейс командной строки GitHub (gh issue edit) для добавления Copilot в качестве назначаемого.
Назначение через API
Можно назначать задачи Copilot программным способом с помощью API GraphQL. Сначала убедитесь, что агент кодирования доступен, запрашивая suggestedActors репозиторий и проверяя, что copilot-swe-agent отображается как предлагаемый актер. Затем получите идентификатор репозитория. Чтобы создать и назначить новую задачу, используйте createIssue мутацию, передав идентификатор репозитория и идентификатор бота Copilot. Чтобы назначить существующую проблему, получите идентификатор проблемы, а затем используйте replaceActorsForAssignable мутацию, чтобы добавить Copilot в качестве назначаемого. Этот подход полезен для интеграции Copilot в автоматизированные рабочие процессы.
Проверка доступности
query {
repository(owner: "octo-org", name: "octo-repo") {
suggestedActors(capabilities: [CAN_BE_ASSIGNED], first: 100) {
nodes { login __typename ... on Bot { id } ... on User { id } }
}
}
}
Получение идентификатора репозитория
query {
repository(owner: "octo-org", name: "octo-repo") { id }
}
Создание и назначение новой проблемы
mutation {
createIssue(
input: {
repositoryId: "REPOSITORY_ID",
title: "Implement comprehensive unit tests",
body: "DETAILS",
assigneeIds: ["BOT_ID"]
}
) {
issue { id title assignees(first: 10) { nodes { login } } }
}
}
Назначение существующей проблемы
query {
repository(owner: "monalisa", name: "octocat") {
issue(number: 9000) { id title }
}
}
mutation {
replaceActorsForAssignable(
input: { assignableId: "ISSUE_ID", actorIds: ["BOT_ID"] }
) {
assignable {
... on Issue {
id title
assignees(first: 10) { nodes { login } }
}
}
}
}
Отслеживание прогресса Copilot
После назначения задачи в GitHub Copilot агент предоставляет видимые сигналы, чтобы вы могли следить за его работой от начала до конца.
Немедленное подтверждение. Вскоре после назначения задачи Copilot добавляет 👀 комментарий к задаче.
Создание черновика пулл-реквеста. В течение нескольких секунд Copilot открывает черновик pull request, связанный с оригинальной задачей. В временной шкале задачи появляется новое событие, показывающее запрос на вытягивание.
Сеанс активного агента. Copilot запускает сеанс агента для работы с вашей проблемой. На временной шкале pull request появится событие "Начало работы Copilot". По мере выполнения Copilot обновляет тело pull request регулярными сообщениями о состоянии и отправляет коммиты в выделенную ветвь.
Журналы сеансов в реальном времени. Все сеансы, прошедшие и текущие, отображаются на странице "Агенты". Нажмите "Просмотр сеанса" в pull request, чтобы открыть просмотр журнала сеансов в реальном времени и следить за действиями Copilot. Если вам нужно остановить Copilot, нажмите кнопку "Остановить сеанс" в средстве просмотра.
Завершение и проверка. После завершения работы Copilot сеанс агента завершается автоматически. Событие "Copilot завершил работу" отображается на временной шкале пулл-реквеста, и Copilot запрашивает у вас проверку, активируя уведомление.
Итерации с Copilot
Вы руководите работой Copilot так же, как вы руководили бы человеческим участником с помощью комментариев и отзывов. Упомяните @copilot в комментарии пул-реквеста, чтобы запросить изменения. Обрабатываются только комментарии пользователей с разрешением на запись в репозиторий. Copilot публикует 👀 реакцию на ваш комментарий, подтверждая, что запрос получен, после чего добавляет "Copilot начал работу" в временную шкалу запроса на вытягивание при возобновлении. Это позволяет выполнять итерацию по работе Copilot, не покидая обычный рабочий процесс проверки.
Утверждения и рабочие процессы
Пулл-реквесты, созданные Copilot, всегда остаются в черновом состоянии. Для них требуется утверждение человека перед слиянием, а рабочие процессы GitHub Actions, активированные агентом, не выполняются автоматически. Чтобы запустить рабочие процессы в запросе на вытягивание Copilot, нажмите "Утвердить и запустить" в окне слияния. Разработчик, который попросил Copilot создать запрос на вытягивание, не может утвердить его, что сохраняет правила "обязательных проверок" репозитория и гарантирует независимую проверку перед слиянием.
Устранение неполадок с агентом Copilot Cloud
Copilot не в списке "Исполнители"
Убедитесь, что вы используете подходящий план (Pro, Pro+, Business, Enterprise). Убедитесь, что агент не отключен на уровне организации или репозитория. Проверьте на странице функций:
github.com/settings/copilot/featuresЛичные репозитории корпоративных управляемых пользователей (EMU)
Агент недоступен; используйте репозитории, принадлежащие организации (требуются runner'ы, размещенные на GitHub).
"Невозможно создать пулл-реквест из чата"
Убедитесь, что агент доступен. В средах разработки укажите @github в вашем приглашении (это не требуется для GitHub.com).
Назначена задача, но ничего не произошло
Обновите; найдите реакцию 👀, а затем создайте черновик PR.
ПР создан, но прогресс отсутствует
Проверьте временную шкалу PR для "Copilot начал работу"; откройте журналы сеансов.
Агент не отвечает на комментарий pr
Убедитесь, что у вас есть доступ на запись и что вы упомянули @copilot в PR агента.
Похоже, что застрял
Он может восстановиться; сеансы автоматически завершаются через один час. Повторите попытку, отменив или переназначив задачу либо опубликовав комментарий заново.
Действия не выполняются
Нажмите "Утвердить" и "Запустить рабочие процессы" в поле слияния.
Push-уведомления не передают CI
Предоставьте четкое руководство на уровне репозитория через .github/copilot-instructions.md, чтобы агент мог самостоятельно проверять при помощи тестов и линтеров.
Предупреждения брандмауэра
Интернет по умолчанию ограничен; Предупреждения перечисляют заблокированный адрес и команду. Настройте или отключите брандмауэр для облачного агента GitHub Copilot.
Изображения не были обнаружены
Максимальный размер изображения составляет 3,00 МиБ; более крупные изображения удаляются.
Благодаря надежному циклу назначения, отслеживания и итерации, можно повысить согласованность и скорость, настроив среду агента, расширив ее с помощью инструментов MCP и применив надежную валидацию перед слиянием.