SCT

กำลังเตรียมประสบการณ์ดิจิทัล

รันเอเจนต์หลายตัวพร้อมกันอย่างปลอดภัย: แยกงานด้วย Git worktree ให้แต่ละเซสชันไม่รบกวนกัน

เมื่อเอเจนต์ช่วยเขียนโค้ดทำงานได้นานขึ้นโดยไม่ต้องคอยดู คำถามถัดไปคือจะให้มันทำหลายงานพร้อมกันได้อย่างไรโดยไม่ทับกัน บทความสำหรับผู้เริ่มต้นจาก GitHub อธิบายหลักการที่ทำให้เซสชันของเอเจนต์แยกจากกันด้วย Git worktree และแนะนำวิธีเริ่มจากงานเล็กสองงานก่อน

เมื่อเอเจนต์ช่วยเขียนโค้ดทำงานได้นานขึ้นโดยไม่ต้องคอยดู คำถามถัดไปคือจะให้มันทำหลายงานพร้อมกันได้อย่างไรโดยไม่ทับกัน บทความสำหรับผู้เริ่มต้นจาก GitHub อธิบายหลักการที่ทำให้เซสชันของเอเจนต์แยกจากกันด้วย Git worktree และแนะนำวิธีเริ่มจากงานเล็กสองงานก่อน

หลักการเดียวที่ต้องเข้าใจ: แต่ละเซสชันมีสำเนาโค้ดของตัวเอง

ปัญหาที่คนมักกลัวเมื่อให้เอเจนต์สองตัวทำงานในโปรเจกต์เดียวกันคือการแก้ไฟล์ทับกัน บทความอธิบายว่าเครื่องมือแก้ปัญหานี้ด้วย Git worktree ซึ่งเป็นความสามารถมาตรฐานของ Git ที่ให้เช็กเอาต์หลายสาขาไว้ในหลายโฟลเดอร์พร้อมกันจากคลังเดียว เอเจนต์แต่ละตัวจึงทำงานบนสำเนาโค้ดและสาขาของตัวเอง มีบริบทของตัวเอง และไม่เห็นการเปลี่ยนแปลงระหว่างทางของอีกตัว

ผู้เขียนเปรียบเทียบกับร้านซักผ้าหยอดเหรียญ แต่ละเครื่องมีการตั้งค่าของตัวเอง ไม่ต้องรอเครื่องแรกเสร็จก่อนจึงเริ่มเครื่องที่สอง และผ้าไม่ปนกัน ภาพเปรียบเทียบนี้ช่วยให้คนที่ยังไม่คุ้นกับแนวคิดสาขาและ worktree เข้าใจได้ทันทีว่าทำไมงานถึงไม่ชนกัน

ตัวอย่างสามงานที่รันพร้อมกัน

บทความสาธิตด้วยคลังตัวอย่างร้านขายของเล่นสมมติ โดยเปิดสามเซสชันพร้อมกัน เซสชันแรกสร้างฟีเจอร์เรียงลำดับสินค้า เซสชันที่สองตรวจสอบการเข้าถึงของหน้าเว็บ และเซสชันที่สามรันชุดทดสอบ ทั้งสามเดินหน้าไปโดยอิสระ ผู้ใช้สลับดูความคืบหน้าของแต่ละเซสชันได้โดยไม่ต้องอธิบายงานซ้ำ และแต่ละเซสชันจบลงด้วยการเปลี่ยนแปลงในสาขาของตัวเองที่รวมกลับได้เป็นชิ้น ๆ

ข้อสังเกตที่ควรเสริมจากประสบการณ์ของทีมงานคืองานที่เหมาะจะรันขนานคืองานที่แตะไฟล์คนละชุด เช่น ฟีเจอร์ใหม่กับการตรวจสอบ หรือการเขียนเอกสารกับการทดสอบ ถ้าสองงานต้องแก้ไฟล์เดียวกัน การแยก worktree จะกันไม่ให้ทับกันระหว่างทางก็จริง แต่ตอนรวมสาขากลับจะเจอความขัดแย้งอยู่ดี จึงควรแบ่งงานตามขอบเขตของโค้ดตั้งแต่ต้น

เริ่มอย่างไรให้ไม่ล้ม

คำแนะนำของผู้เขียนเรียบง่าย คือเริ่มจากงานเล็กสองงานที่ทำพร้อมกัน ไม่ใช่ห้างานใหญ่ เพื่อให้ได้สัมผัสจังหวะของการสลับดู การตรวจผล และการรวมสาขา ก่อนขยายจำนวน สิ่งที่มักถูกมองข้ามคือภาระของการตรวจทาน เพราะเอเจนต์สามตัวผลิตการเปลี่ยนแปลงสามชุดที่คนต้องอ่านทั้งหมด ความเร็วในการสร้างจึงถูกจำกัดด้วยความเร็วในการตรวจของทีม

สิ่งที่ทีมไทยควรเตรียมก่อนใช้จริง

สำหรับทีมพัฒนาในไทยที่รับงานหลายลูกค้า การรันเอเจนต์ขนานเป็นวิธีเพิ่มปริมาณงานโดยไม่เพิ่มคน แต่ต้องมีสองอย่างรองรับ หนึ่งคือชุดทดสอบอัตโนมัติที่เชื่อถือได้ เพราะเมื่อมีการเปลี่ยนแปลงหลายชุดเข้ามาพร้อมกัน การทดสอบคือด่านเดียวที่จับความขัดแย้งเชิงพฤติกรรมที่การรวมโค้ดสำเร็จมองไม่เห็น สองคือกติกาการรวมสาขาที่ชัด เช่น รวมทีละสาขาแล้วรันทดสอบซ้ำ ไม่รวมพร้อมกันทั้งหมด

และตามที่ทีมงานเคยสรุปจากข่าวเรื่องไฟล์ตั้งค่า Git ที่ถูกดัดแปลง เอเจนต์ที่รันคำสั่ง Git เองในหลาย worktree ควรทำงานในสภาพแวดล้อมที่จำกัดสิทธิ์ ไม่ใช่บนเครื่องที่มีคีย์ของลูกค้าทุกรายวางอยู่ การได้ปริมาณงานเพิ่มไม่ควรแลกมาด้วยพื้นผิวโจมตีที่กว้างขึ้นโดยไม่รู้ตัว

สรุปสาระสำคัญ

  • หลักการเดียวที่ต้องเข้าใจ: แต่ละเซสชันมีสำเนาโค้ดของตัวเอง
  • ตัวอย่างสามงานที่รันพร้อมกัน
  • เริ่มอย่างไรให้ไม่ล้ม
แหล่งอ้างอิงเรียบเรียงจาก GitHub Blog — GitHub Copilot app for Beginners: Run several agents at once — อ่านบทความต้นฉบับ
ภาพปก: GitHub Blog · ลิขสิทธิ์ภาพเป็นของเจ้าของต้นฉบับ ใช้ประกอบการรายงานพร้อมอ้างอิงแหล่งที่มา
มีคำถามเพิ่มเติมเกี่ยวกับบทความนี้? เขียนหาเราได้ที่ info@smart-cyber-tech.com
บริการที่เกี่ยวข้องจากทีมงาน Smart Cyber Tech

บทความอื่นที่เกี่ยวข้อง

บทความที่เกี่ยวข้อง

ลดค่าใช้จ่ายของเอเจนต์ AI ช่วยเขียนโค้ดโดยไม่ลดคุณภาพงาน: สี่การทดลองที่วัดผลได้จริง DevOps

ลดค่าใช้จ่ายของเอเจนต์ AI ช่วยเขียนโค้ดโดยไม่ลดคุณภาพงาน: สี่การทดลองที่วัดผลได้จริง

ทีมที่ใช้เอเจนต์ AI ช่วยเขียนโค้ดมักพยายามลดต้นทุนด้วยการทำให้ผลลัพธ์แต่ละครั้งสั้นลง แต่กลับแพงขึ้นเพราะเอเจนต์ต้องย้อนกลับไปอ่านซ้ำ บทความนี้สรุปสี่การทดลองที่ลดต้นทุนได้จริงโดยคุณภาพงานไม่ตก พร้อมวิธีวัดผลที่พิสูจน์ได้

อ่านบทความ
ทำให้งานของ AI agent มองเห็นและควบคุมได้ ด้วยแนวคิด canvas แทนการคุยในแชตยาว DevOps

ทำให้งานของ AI agent มองเห็นและควบคุมได้ ด้วยแนวคิด canvas แทนการคุยในแชตยาว

เมื่อ AI agent เริ่มทำงานจริงหลายขั้นตอน แชตกลายเป็นที่ที่แผน การตัดสินใจ และการอนุมัติหายไปกับสายเลื่อน บทความนี้สรุปแนวคิด canvas ซึ่งเป็นพื้นที่ทำงานร่วมที่คงอยู่และตรวจสอบได้ พร้อมรูปแบบที่ทีมไทยนำไปปรับใช้กับงานที่ทำซ้ำได้ทันที

อ่านบทความ
ถอดรหัสศัพท์ใหม่ในวงการ AI: loop, harness, squad และ hill climbing แปลว่าอะไรกันแน่ ข้อมูลและ AI

ถอดรหัสศัพท์ใหม่ในวงการ AI: loop, harness, squad และ hill climbing แปลว่าอะไรกันแน่

ศัพท์ใหม่ในวงการ AI ผุดขึ้นเร็วกว่าที่ใครจะตามทัน และหลายคำถูกใช้ในความหมายที่ต่างกันคนละทาง บทความนี้อธิบายคำที่พบบ่อยที่สุดในปีนี้แบบตรงไปตรงมา พร้อมเหตุผลว่าทำไมการเข้าใจศัพท์เหล่านี้ถึงมีผลต่อการตัดสินใจเชิงเทคนิคจริง ๆ

อ่านบทความ

ติดต่อเพื่อขอรับคำปรึกษาจากทีมงาน

ตั้งแต่ประเมินระบบปัจจุบัน วางแผน จนถึงลงมือพัฒนา — คุยกับเราได้โดยไม่มีค่าใช้จ่าย

ปรึกษาทีมของเรา