Настройка, расширение и проверка агента Copilot Cloud
GitHub Copilot Cloud Agent выполняется в безопасной эфемерной среде GitHub Actions. С помощью нескольких шагов конфигурации вы можете предварительно настроить эту среду для повышения надежности и скорости, расширить возможности агента с помощью внешних средств с помощью протокола MCP и применить рекомендации для тестирования и проверки выходных данных агента перед слиянием.
К концу этого урока вы сможете:
- Предварительный набор инструментов, зависимостей и секретов для настройки среды разработки агента.
- Расширьте возможности агента с помощью протокола контекста модели (MCP).
- Эффективно тестируйте и проверяйте выходные данные агента перед слиянием изменений.
Предварительная подготовка среды разработки
Предустановить инструменты и зависимости сcopilot-setup-steps.yml
Создайте .github/workflows/copilot-setup-steps.yml на ветви по умолчанию вашего репозитория. Рабочий процесс должен определить одно задание с именем copilot-setup-steps. Включите все шаги, необходимые для установки зависимостей или настройки средств.
Пример для TypeScript:
name: "Copilot Setup Steps"
on:
workflow_dispatch:
push:
paths:
- .github/workflows/copilot-setup-steps.yml
pull_request:
paths:
- .github/workflows/copilot-setup-steps.yml
jobs:
copilot-setup-steps:
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- name: Checkout code
uses: actions/checkout@v5
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: "20"
cache: "npm"
- name: Install JavaScript dependencies
run: npm ci
Допустимые ключи конфигурации для copilot-setup-steps задания: steps, permissions, runs-on, container, services, snapshot, timeout-minutes (≤ 59). Любая actions/checkout глубина выборки переопределяется, чтобы позволить безопасный откат. Рабочий процесс установки выполняется автономно (чтобы вы могли его проверить), а затем автоматически перед запуском агента.
Более крупные исполнители GitHub
- Сначала добавьте более крупные бегуники
- В
copilot-setup-steps.ymlустановитеruns-onкак метку или группу (например,ubuntu-4-core). - Поддерживаются только средства выполнения Ubuntu x64; Локальные средства выполнения не поддерживаются.
Git LFS
Если вы используете хранилище больших файлов Git, включите его в шагах установки:
jobs:
copilot-setup-steps:
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- uses: actions/checkout@v5
with:
lfs: true
Настройка брандмауэра
Доступ к Интернету по умолчанию ограничен, чтобы снизить риск кражи. При необходимости можно настроить или отключить брандмауэр для каждой политики организации.
Расширение с помощью протокола контекста модели (MCP)
MCP — это открытый стандарт для подключения LLM к средствам и данным. Агент может использовать средства , предоставляемые локальными или удаленными серверами MCP для расширения возможностей.
Примечание. Copilot Cloud Agent поддерживает только средства MCP (не ресурсы или запросы). Удаленные серверы MCP, требующие OAuth, не поддерживаются.
Серверы MCP по умолчанию
- GitHub MCP Server: Доступ к проблемам, PR и данным GitHub с помощью токена только для чтения, по умолчанию привязанного к текущему репозиторию (вы можете настроить токен).
- Playwright MCP Server: Чтение, взаимодействие с веб-страницами и создание снимков экрана веб-страниц, доступных в среде агента (localhost/127.0.0.1).
Конфигурация репозитория
Администраторы могут объявлять серверы MCP с помощью конфигурации JSON в репозитории. После настройки агент автономно использует доступные средства без запросов на утверждение для каждого использования. См. статью о расширении агента GitHub Copilot Cloud с помощью MCP.
Рекомендации
- Просмотрите сторонние серверы MCP для повышения производительности и влияния на качество выходных данных.
- Предпочитайте инструменты чтения; если инструменты записи есть, разрешайте только необходимое.
- Тщательно проверьте конфигурацию MCP перед сохранением.
Тестирование и проверка выходных данных агента
Вы остаетесь подотчетным за качество и безопасность:
- Запустите CI ("тесты", "linters", сканирование) на каждом PR агента; эти проверки не будут выполняться до тех пор, пока не нажмете кнопку "Утвердить" и не запустите рабочие процессы.
- Внимательно вручную проверьте критически важные или конфиденциальные области.
- Попросите агента создать тесты (например, "Добавить модульные тесты Jest для всех функций в
src/utils/следующем стиле репозитория") — создание многофайлового теста использует PRU. - Для обеспечения применения наборов правил, PR агента должны пройти тестирование, сканирование и линтинг перед слиянием.
- PR агента меток (например,
agent-refactor, agent-tests) для отслеживания, сортировки и восстановления при необходимости. - Повторяйте инструкции в .github/copilot-instructions.md при обнаружении повторяющихся ошибок.
- Быстро вернуться, при необходимости, и запросить новые изменения от агента.
Использование PRUS намеренно для проверки
Используйте prUs для более глубоких задач проверки, таких как расширение покрытия тестов, аудиты в каталогах или проверки рискованных областей. Упрощенные проверки потребляют меньше PRU, поэтому их намеренно применяют, чтобы максимизировать их ценность.
После настройки конфигурации, внедрения расширений и методик проверки последний этап — это ответственное использование агента, чётко определяя задачи, защищая среды и постоянно пересматривая результаты.