การปรับแต่ง ขยาย และตรวจสอบความถูกต้องของตัวแทนการเข้ารหัส Copilot
เอเจนต์การเข้ารหัส GitHub Copilot ทํางานภายในสภาพแวดล้อม GitHub Actions ที่ปลอดภัยและชั่วคราว ด้วยขั้นตอนการกําหนดค่าไม่กี่ขั้นตอน คุณสามารถตั้งค่าสภาพแวดล้อมนี้ไว้ล่วงหน้าเพื่อปรับปรุงความน่าเชื่อถือและความเร็ว ขยายความสามารถของเอเจนต์ด้วยเครื่องมือภายนอกผ่าน Model Context Protocol (MCP) และใช้แนวทางปฏิบัติที่ดีที่สุดเพื่อทดสอบและตรวจสอบผลลัพธ์ของเอเจนต์ก่อนการผสาน
ในตอนท้ายของหน่วยนี้ คุณจะสามารถ:
- ติดตั้งเครื่องมือ การขึ้นต่อกัน และข้อมูลลับล่วงหน้าเพื่อปรับแต่งสภาพแวดล้อมการพัฒนาของเอเจนต์
- ขยายความสามารถของเอเจนต์โดยใช้ Model Context Protocol (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 Large File Storage ให้เปิดใช้งานในขั้นตอนการตั้งค่า:
jobs:
copilot-setup-steps:
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- uses: actions/checkout@v5
with:
lfs: true
การปรับแต่งไฟร์วอลล์
การเข้าถึงอินเทอร์เน็ตเริ่มต้นถูกจํากัดเพื่อลดความเสี่ยงในการขโมย คุณสามารถปรับแต่งหรือปิดใช้งานไฟร์วอลล์ตามนโยบายขององค์กรได้หากจําเป็น
ขยายด้วย Model Context Protocol (MCP)
MCP เป็นมาตรฐานแบบเปิดสําหรับการเชื่อมต่อ LLM กับเครื่องมือและข้อมูล เอเจนต์สามารถใช้ เครื่องมือ ที่เซิร์ฟเวอร์ MCP ภายในหรือรีโมตให้มาเพื่อขยายขีดความสามารถ
หมายเหตุ: ตัวแทนการเข้ารหัส Copilot รองรับเครื่องมือ MCP เท่านั้น (ไม่ใช่ทรัพยากรหรือข้อความแจ้ง) ไม่รองรับเซิร์ฟเวอร์ MCP ระยะไกลที่ต้องใช้ OAuth
เซิร์ฟเวอร์ MCP เริ่มต้น
- เซิร์ฟเวอร์ GitHub MCP: เข้าถึงปัญหา PR และข้อมูล GitHub ด้วยโทเค็นแบบอ่านอย่างเดียวที่มีขอบเขตเป็นที่เก็บปัจจุบันตามค่าเริ่มต้น (คุณสามารถปรับแต่งโทเค็นได้)
- เซิร์ฟเวอร์ MCP ของนักเขียนบทละคร: อ่าน โต้ตอบ และจับภาพหน้าจอของหน้าเว็บที่เข้าถึงได้ภายในสภาพแวดล้อมของตัวแทน (localhost/127.0.0.1)
การกําหนดค่าที่เก็บ
ผู้ดูแลระบบสามารถประกาศเซิร์ฟเวอร์ MCP ผ่านการกําหนดค่า JSON ในที่เก็บได้ เมื่อกําหนดค่าแล้ว ตัวแทนจะใช้เครื่องมือที่มีอยู่โดยอัตโนมัติ - ไม่มีข้อความแจ้งการอนุมัติต่อการใช้งาน ดูการขยายตัวแทนการเข้ารหัส GitHub Copilot ด้วย MCP
แนวทางปฏิบัติที่ดีที่สุด
- ตรวจสอบเซิร์ฟเวอร์ MCP ของบุคคลที่สามสําหรับผลกระทบด้านประสิทธิภาพและคุณภาพเอาต์พุต
- ชอบเครื่องมืออ่าน หากมีเครื่องมือเขียน ให้อนุญาตเฉพาะสิ่งที่จําเป็นเท่านั้น
- ตรวจสอบการกําหนดค่า MCP อย่างรอบคอบก่อนบันทึก
การทดสอบและตรวจสอบเอาต์พุตของตัวแทน
คุณยังคงรับผิดชอบต่อคุณภาพและความปลอดภัย:
- เรียกใช้ CI (tests, linters, scanning) บน PR ของตัวแทนทุกราย การตรวจสอบเหล่านี้จะไม่ทํางานจนกว่าคุณจะคลิก อนุมัติและเรียกใช้เวิร์กโฟลว์
- ตรวจสอบบริเวณที่มีแรงกระแทกสูงหรือบอบบางด้วยตนเอง
- ขอให้ตัวแทนสร้างการทดสอบ (เช่น "เพิ่มการทดสอบหน่วย Jest สําหรับฟังก์ชัน
src/utils/ทั้งหมดในรูปแบบ repo ต่อไปนี้") - การสร้างการทดสอบหลายไฟล์จะใช้ PRU - บังคับใช้ชุดกฎเพื่อให้ PR ของตัวแทนต้องผ่านการทดสอบ + การสแกน + การเข้าเส้นก่อนที่จะรวม
- PR ตัวแทนฉลาก (เช่น
agent-refactor, agent-tests) เพื่อตรวจสอบ คัดแยก และย้อนกลับหากจําเป็น - ทําซ้ําวิธีการใน .github/copilot-instructions.md เมื่อคุณเห็นข้อผิดพลาดซ้ําๆ
- เปลี่ยนกลับอย่างรวดเร็วหากจําเป็นและขอการเปลี่ยนแปลงใหม่จากตัวแทน
การใช้ PRU โดยเจตนาเพื่อการตรวจสอบความถูกต้อง
ใช้ประโยชน์จาก PRU สําหรับงานตรวจสอบความถูกต้องที่ลึกซึ้งยิ่งขึ้น เช่น การขยายขอบเขตการทดสอบ การตรวจสอบทั่วทั้งไดเรกทอรี หรือการสแกนพื้นที่เสี่ยง เช็คที่มีน้ําหนักเบาจะใช้ PRU น้อยลง ดังนั้นควรใช้อย่างตั้งใจเพื่อเพิ่มมูลค่าสูงสุด
ด้วยการกําหนดค่า ส่วนขยาย และแนวทางปฏิบัติในการตรวจสอบความถูกต้อง ขั้นตอนสุดท้ายคือการใช้ตัวแทนในการกําหนดขอบเขตงานอย่างมีความรับผิดชอบ