Menyesuaikan, memperluas, dan memvalidasi Agen Cloud Copilot

Selesai

GitHub Copilot Cloud Agent berjalan di dalam lingkungan GitHub Actions yang aman dan ephemeral. Dengan beberapa langkah konfigurasi, Anda dapat mengarahkan lingkungan ini untuk meningkatkan keandalan dan kecepatan, memperluas kemampuan agen dengan alat eksternal melalui Protokol Konteks Model (MCP), dan menerapkan praktik terbaik untuk menguji dan memvalidasi output agen sebelum menggabungkan.

Pada akhir unit ini, Anda akan dapat:

  • Pra-pasang alat, dependensi, dan rahasia untuk menyesuaikan lingkungan pengembangan agen.
  • Perluas kemampuan agen menggunakan Model Context Protocol (MCP).
  • Uji dan validasi output agen secara efektif sebelum menggabungkan perubahan.

Penyediaan awal lingkungan pengembangan

Pra-instalasi alat & dependensi dengancopilot-setup-steps.yml

Buat .github/workflows/copilot-setup-steps.yml di cabang default repositori Anda. Alur kerja harus menentukan satu pekerjaan bernama copilot-setup-steps. Sertakan langkah apa pun yang diperlukan untuk menginstal dependensi atau menyiapkan alat.

Contoh untuk 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

Kunci konfigurasi yang diizinkan untuk pekerjaan copilot-setup-steps: steps, permissions, runs-on, container, services, snapshot, timeout-minutes (≤ 59). Setiap actions/checkout fetch-depth diubah untuk memungkinkan rollback yang aman. Alur kerja penyetelan berjalan mandiri (sehingga Anda dapat memvalidasinya) lalu secara otomatis sebelum agen dimulai.

Pelari yang dihosting GitHub yang lebih besar

  • Tambahkan runner yang lebih besar terlebih dahulu
  • Di copilot-setup-steps.yml, atur runs-on ke label/grup (misalnya, ubuntu-4-core).
  • Hanya runner Ubuntu x64 yang didukung; runner yang di-host sendiri tidak didukung.

Git LFS

Jika Anda menggunakan Git Large File Storage, aktifkan dalam langkah-langkah penyiapan:

jobs:
  copilot-setup-steps:
    runs-on: ubuntu-latest
    permissions:
      contents: read
    steps:
      - uses: actions/checkout@v5
        with:
          lfs: true

Kustomisasi firewall

Akses internet default terbatas untuk mengurangi risiko eksfiltrasi. Anda dapat menyesuaikan atau menonaktifkan firewall per kebijakan organisasi jika diperlukan.

Perluas dengan Protokol Konteks Model (MCP)

MCP adalah standar terbuka untuk menghubungkan LLM ke alat dan data. Agen dapat menggunakan alat yang disediakan oleh server MCP lokal atau jarak jauh untuk memperluas kemampuannya.

Catatan: Copilot Cloud Agent hanya mendukung alat MCP (bukan sumber daya atau perintah). Server MCP jarak jauh yang memerlukan OAuth tidak didukung.

Server MCP default

  • Server MCP GitHub: Mengakses masalah, permintaan penarikan, dan data GitHub dengan token hanya-baca yang secara default terbatas pada repositori saat ini (Anda dapat menyesuaikan token).
  • Playwright MCP Server: Baca, berinteraksi, dan ambil cuplikan layar halaman web yang dapat diakses di dalam lingkungan agen (localhost/127.0.0.1).

Konfigurasi repositori

Admin dapat mendeklarasikan server MCP melalui konfigurasi JSON dalam repositori. Setelah dikonfigurasi, agen secara otonom menggunakan alat yang tersedia tanpa memerlukan perintah persetujuan per penggunaan. Lihat Memperluas GitHub Copilot Cloud Agent dengan MCP.

Praktik Terbaik

  • Tinjau server MCP pihak ketiga untuk implikasi kualitas performa dan output.
  • Lebih suka alat baca; jika ada alat tulis, izinkan hanya apa yang diperlukan.
  • Validasi konfigurasi MCP dengan hati-hati sebelum menyimpan.

Menguji & memvalidasi output agen

Anda tetap bertanggung jawab atas kualitas dan keamanan:

  • Jalankan CI (pengujian, linter, pemindaian) pada setiap PR agen; pemeriksaan ini tidak akan berjalan sampai Anda mengklik Setujui dan jalankan alur kerja.
  • Periksa area berdampak tinggi atau sensitif secara manual.
  • Minta agen untuk menghasilkan pengujian (misalnya, "Tambahkan pengujian unit Jest untuk semua fungsi dalam src/utils/ gaya repositori berikut") - pembuatan pengujian multi-file mengonsumsi PRU.
  • Terapkan seperangkat aturan sehingga AGEN PR harus melewati pengujian + pemindaian + linting sebelum menggabungkan.
  • Label agen PR (misalnya, agent-refactor, agent-tests) untuk memantau, melakukan triase, dan mengembalikan jika diperlukan.
  • Ulangi instruksi di .github/copilot-instructions.md saat Anda melihat kesalahan berulang.
  • Segera kembalikan jika diperlukan dan mintalah perubahan baru dari agen.

Menggunakan PRU secara sengaja untuk validasi

Manfaatkan PRU untuk tugas validasi yang lebih dalam seperti perluasan cakupan pengujian, audit di seluruh direktori, atau pemindaian area berisiko. Pengecekan ringan mengonsumsi lebih sedikit PRU, jadi lakukan penerapan secara sengaja untuk memaksimalkan nilai.

Dengan praktik konfigurasi, perluasan, dan validasi, langkah terakhir adalah menggunakan agen yang secara bertanggung jawab mengatur batasan tugas dengan baik, melindungi lingkungan, dan memantau hasil secara berkesinambungan.