การกําหนด การติดตาม และการแก้ไขปัญหางานตัวแทนการเข้ารหัส Copilot
ตัวแทนการเข้ารหัส GitHub Copilot ทําหน้าที่เป็นเพื่อนร่วมทีมอิสระที่ทํางานโดยตรงภายใน GitHub เมื่อเปิดใช้งานแล้ว คุณสามารถมอบหมายงาน ดูความคืบหน้าแบบเรียลไทม์ และแนะนําการทํางานโดยแสดงความคิดเห็นเกี่ยวกับคําขอดึงข้อมูล หน่วยนี้อธิบายวิธีกําหนดปัญหาให้กับ Copilot โดยใช้ GitHub.com, GitHub Mobile, API หรือ CLI นอกจากนี้ยังแสดงวิธีติดตามงานของตัวแทนและทําซ้ํา และจัดเตรียมคู่มือการแก้ไขปัญหาสําหรับปัญหาทั่วไป
ในตอนท้ายของหน่วยนี้ คุณจะสามารถ:
- มอบหมายปัญหาให้กับ Copilot โดยใช้ GitHub.com, GitHub Mobile, API หรือ CL
- ตรวจสอบความคืบหน้าของ Copilot ผ่านไทม์ไลน์คําขอดึงข้อมูลและบันทึกเซสชัน
- ทําซ้ํางานของ Copilot โดยแสดงความคิดเห็นเกี่ยวกับคําขอดึงข้อมูล
- ทําความเข้าใจกฎการอนุมัติสําหรับคําขอดึงข้อมูลที่สร้างขึ้นโดยตัวแทน
- แก้ไขปัญหาทั่วไปเมื่อมอบหมายงานให้กับ Copilot
การมอบหมายปัญหาให้กับ Copilot
เมื่อคุณกําหนดปัญหาให้กับ Copilot ตัวแทนจะรับทราบโดยเพิ่ม 👀 ปฏิกิริยาต่อปัญหา จากนั้นจะสร้างสาขาเฉพาะ copilot/ เปิดคําขอดึงข้อมูลแบบร่างที่เชื่อมโยงกับปัญหา และเริ่มเซสชันตัวแทนภายในสภาพแวดล้อมที่ขับเคลื่อนด้วย GitHub Actions ขณะที่มันทํางาน Copilot จะผลักดันการคอมมิตไปยังสาขาและอัปเดตเนื้อหาคําขอดึงข้อมูลด้วยข้อความสถานะ เมื่องานเสร็จสมบูรณ์ Copilot จะโพสต์กิจกรรม "Copilot ทํางานเสร็จแล้ว" และขอให้คุณตรวจสอบ
ใน GitHub.com คุณมอบหมายปัญหาให้กับ Copilot เช่นเดียวกับที่คุณมอบหมายให้กับผู้ใช้รายอื่น ไปที่แท็บ ปัญหา ของที่เก็บ เปิดปัญหาที่คุณต้องการมอบหมาย และในแถบด้านข้างด้านขวาภายใต้ ผู้รับมอบหมาย ให้เลือก Copilot Copilot ได้รับชื่อปัญหา คําอธิบาย และความคิดเห็นที่มีอยู่ ณ เวลาที่ได้รับมอบหมาย ตัวแทนไม่เห็นความคิดเห็นในภายหลังเกี่ยวกับปัญหา ดังนั้นให้เพิ่มข้อมูลใหม่เป็นข้อคิดเห็นโดยตรงในคําขอดึงข้อมูลของตัวแทน
คุณยังสามารถกําหนดปัญหาให้กับ Copilot ได้จากรายการปัญหาในหน้าปัญหาของที่เก็บ จากโครงการ GitHub หรือโดยใช้ GitHub Mobile สําหรับเวิร์กโฟลว์บรรทัดคําสั่ง คุณสามารถใช้ GitHub CLI (gh issue edit) เพื่อเพิ่ม Copilot เป็นผู้รับมอบหมาย
การมอบหมายผ่าน API
คุณสามารถกําหนดปัญหาให้กับ Copilot โดยทางโปรแกรมผ่าน GraphQL API ขั้นแรก ให้ตรวจสอบว่าตัวแทนการเข้ารหัสพร้อมใช้งานโดยการสืบค้น 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 จะเปิดคําขอดึงข้อมูลแบบร่างที่เชื่อมโยงกับปัญหาเดิม เหตุการณ์ใหม่จะปรากฏในไทม์ไลน์ของปัญหาที่แสดงคําขอดึงข้อมูล
เซสชันตัวแทนที่ใช้งานอยู่ Copilot เริ่มเซสชันตัวแทนเพื่อแก้ไขปัญหาของคุณ คุณจะเห็นเหตุการณ์ "Copilot เริ่มทํางาน" ในไทม์ไลน์คําขอดึงข้อมูล ขณะที่ทํางาน Copilot จะอัปเดตเนื้อหาคําขอดึงข้อมูลด้วยข้อความสถานะปกติและส่งคอมมิตไปยังสาขาเฉพาะ
บันทึกเซสชันสด เซสชันทั้งหมดของคุณในอดีตและปัจจุบันจะมองเห็นได้จากหน้าตัวแทน คลิก ดูเซสชัน ในคําขอดึงข้อมูลเพื่อเปิดโปรแกรมดูบันทึกเซสชันสดและดูการดําเนินการของ Copilot แบบเรียลไทม์ หากคุณต้องการหยุด Copilot ให้คลิก หยุดเซสชัน ในโปรแกรมดู
เสร็จสิ้นและทบทวน เมื่อ Copilot ทํางานเสร็จ เซสชันตัวแทนจะสิ้นสุดลงโดยอัตโนมัติ เหตุการณ์ "Copilot ทํางานเสร็จแล้ว" จะปรากฏในไทม์ไลน์คําขอดึงข้อมูล และ Copilot ขอให้ตรวจสอบจากคุณ ซึ่งจะทริกเกอร์การแจ้งเตือน
การทําซ้ําด้วย Copilot
คุณแนะนํางานของ Copilot ในลักษณะเดียวกับที่คุณแนะนําผู้ร่วมให้ข้อมูลที่เป็นมนุษย์ผ่านความคิดเห็นและบทวิจารณ์ กล่าวถึง @copilot ในความคิดเห็นคําขอดึงข้อมูลเพื่อขอการเปลี่ยนแปลง เฉพาะความคิดเห็นจากผู้ใช้ที่มีสิทธิ์เขียนไปยังที่เก็บเท่านั้นที่จะได้รับการประมวลผล Copilot โพสต์ 👀 ปฏิกิริยาต่อความคิดเห็นของคุณเพื่อยืนยันว่าได้รับคําขอแล้ว จากนั้นเพิ่ม "Copilot เริ่มทํางาน" ลงในไทม์ไลน์คําขอดึงข้อมูลเมื่อดําเนินการต่อ สิ่งนี้ทําให้คุณสามารถทําซ้ํางานของ Copilot ได้โดยไม่ต้องออกจากเวิร์กโฟลว์การตรวจสอบตามปกติ
การอนุมัติและเวิร์กโฟลว์
คําขอดึงข้อมูลที่สร้างโดย Copilot จะอยู่ในสถานะแบบร่างเสมอ พวกเขาต้องการการอนุมัติจากมนุษย์ก่อนที่จะผสาน และเวิร์กโฟลว์ GitHub Actions ที่ทริกเกอร์โดยตัวแทนจะไม่ทํางานโดยอัตโนมัติ หากต้องการเรียกใช้เวิร์กโฟลว์ตามคําขอดึงข้อมูล Copilot ให้คลิก อนุมัติและเรียกใช้เวิร์กโฟลว์ ในกล่องผสาน นักพัฒนาซอฟต์แวร์ที่ขอให้ Copilot สร้างคําขอดึงข้อมูลไม่สามารถอนุมัติได้ ซึ่งจะรักษากฎ "การตรวจสอบที่จําเป็น" ของที่เก็บของคุณและรับรองการตรวจสอบที่เป็นอิสระก่อนที่จะรวม
การแก้ไขปัญหาตัวแทนการเข้ารหัส Copilot
Copilot ไม่อยู่ในรายชื่อ "ผู้รับมอบหมาย"
ตรวจสอบให้แน่ใจว่าคุณใช้แผนที่มีสิทธิ์ (Pro, Pro+, Business, Enterprise) ยืนยันว่าตัวแทนไม่ได้ถูกปิดใช้งานที่ระดับองค์กร/ที่เก็บ ยืนยันในหน้าคุณสมบัติของคุณ:
github.com/settings/copilot/features.ที่เก็บส่วนบุคคลของผู้ใช้ที่มีการจัดการ (EMU) ขององค์กร
ไม่มีตัวแทน; ใช้ที่เก็บขององค์กร (ต้องใช้ตัวเรียกใช้ที่โฮสต์ GitHub)
"สร้างคําขอดึงข้อมูลไม่ได้" จาก Chat
ตรวจสอบให้แน่ใจว่าตัวแทนพร้อมใช้งาน ใน IDE ให้กล่าวถึง @github ในข้อความแจ้งของคุณ (ไม่จําเป็นใน GitHub.com)
มอบหมายปัญหาแต่ไม่มีอะไรเกิดขึ้น
ฟื้นฟู; มองหา 👀 ปฏิกิริยา จากนั้นจึงร่างประชาสัมพันธ์
สร้างการประชาสัมพันธ์แล้ว แต่ไม่มีความคืบหน้า
ตรวจสอบไทม์ไลน์การประชาสัมพันธ์สําหรับ "Copilot เริ่มทํางาน"; เปิด ดูบันทึกเซสชัน
ตัวแทนไม่ตอบกลับความคิดเห็นด้านการประชาสัมพันธ์
ยืนยันว่าคุณมีสิทธิ์เขียนและกล่าวถึง @copilot ในการประชาสัมพันธ์ของตัวแทน
ดูเหมือนจะค้าง
มันอาจฟื้นตัว เซสชันหมดเวลาหลังจากหนึ่งชั่วโมง ลองอีกครั้งโดยยกเลิกการมอบหมาย/มอบหมายปัญหาใหม่ หรือโพสต์ความคิดเห็นอีกครั้ง
การดําเนินการไม่ทํางาน
คลิก อนุมัติและเรียกใช้เวิร์กโฟลว์ ในกล่องผสาน
การผลักดันไม่ผ่าน CI
ให้คําแนะนําระดับ repo ที่ชัดเจนผ่าน .github/copilot-instructions.md เพื่อให้ตัวแทนสามารถตรวจสอบความถูกต้องด้วยตนเองด้วยการทดสอบ/linters
คําเตือนไฟร์วอลล์
อินเทอร์เน็ตถูกจํากัดโดยค่าเริ่มต้น คําเตือนจะแสดงรายการที่อยู่และคําสั่งที่ถูกบล็อก ปรับต่อ การปรับแต่งหรือปิดใช้งานไฟร์วอลล์สําหรับตัวแทนการเข้ารหัส GitHub Copilot
ภาพไม่ถูกหยิบขึ้นมา
ขนาดภาพสูงสุดคือ 3.00 MiB; รูปภาพขนาดใหญ่จะถูกลบออก
ด้วยลูปการมอบหมาย-ติดตาม-วนซ้ําที่เชื่อถือได้ คุณจะสามารถเพิ่มความสอดคล้องและความเร็วได้โดยการปรับแต่งสภาพแวดล้อมของเอเจนต์