Настройка, расширение и проверка агента 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, поэтому их намеренно применяют, чтобы максимизировать их ценность.

После настройки конфигурации, внедрения расширений и методик проверки последний этап — это ответственное использование агента, чётко определяя задачи, защищая среды и постоянно пересматривая результаты.