Git worktrees: ฐานสำหรับการรัน AI agents หลายตัวโดยไม่มีความขัดแย้ง
เอเจนต์ของคุณเขียนทับกันเมื่อทำงานพร้อมกัน Git worktrees แก้ไขปัญหานี้ในสองคำสั่ง นี่คือวิธีการใช้งาน
คุณเปิดใช้งานเอเจนต์สองตัวใน repo เดียวกัน หนึ่งตัวแก้ไข package.json อีกตัวก็เช่นกัน หลังจากนั้นสามสิบวินาที โค้ดของคุณอยู่ในสถานะที่ไม่มีใครสามารถรวมได้
นั่นไม่ใช่ข้อผิดพลาดในเอเจนต์ของคุณ มันคือพวกเขาทั้งหมดทำงานในโฟลเดอร์เดียวกัน
การแก้ไขคือเครื่องมือที่ Git มีมาหลายปีและแทบไม่มีใครใช้: git worktree
ปัญหา: 3 เอเจนต์, 1 repo, การรวมที่เป็นไปไม่ได้
repo Git ปกติคือโฟลเดอร์หนึ่งที่มีสาขาหนึ่งที่ถูกเช็คเอาท์ในเวลาเดียวกัน คุณทำงานบน main คุณสลับสาขา โฟลเดอร์ทั้งหมดจะพลิกกลับ
ตอนนี้ใส่เอเจนต์อิสระสามตัวลงในโฟลเดอร์นั้น พวกเขาเขียนพร้อมกัน เอเจนต์ A สร้างไฟล์ เอเจนต์ B รัน git checkout เพื่อเริ่มใหม่และลบงานที่กำลังดำเนินการของ A คุณจะได้ไฟล์ที่เขียนไม่เสร็จ ดัชนีที่เสียหาย และความขัดแย้งที่ใช้เวลานานกว่าจะคลี่คลายมากกว่าถ้าคุณเขียนมันเอง
การทำงานขนานช่วยประหยัดเวลาได้ก็ต่อเมื่อเอเจนต์ไม่แตะต้องกัน
git worktree คืออะไร
worktree คือโฟลเดอร์ทำงานที่สองที่เชื่อมต่อกับ repo เดียวกัน
ประวัติเดียวกัน, ระยะไกลเดียวกัน แต่ละ worktree มีสาขาของตัวเองที่ถูกเช็คเอาท์และไฟล์ของตัวเองในดิสก์ คุณสามารถมีห้าอันข้างกัน แต่ละอันอยู่บนสาขาที่แตกต่างกัน โดยไม่ให้พวกเขาเข้ามาแทรกแซงกัน
หนึ่ง .git, หลายพื้นที่ทำงาน นั่นแหละ
Worktree หนึ่งอันต่อเอเจนต์, ในทางปฏิบัติ
นี่คือการตั้งค่า จาก repo ของคุณ:
git worktree add ../project-auth -b feature/auth
git worktree add ../project-billing -b feature/billing
git worktree add ../project-export -b feature/export
คุณเพิ่งสร้างโฟลเดอร์สามอัน แต่ละอันอยู่บนสาขาของตัวเอง คุณเริ่มเอเจนต์ในแต่ละอัน:
cd ../project-auth && claude
cd ../project-billing && codex
แต่ละเอเจนต์มีโฟลเดอร์ของตัวเอง สาขาของตัวเอง ไฟล์ของตัวเอง เอเจนต์ auth จะไม่เห็นสิ่งที่เอเจนต์ billing ทำ ไม่มีการชนกันเป็นไปได้
เมื่อฟีเจอร์พร้อม คุณตรวจสอบสาขาของมันและรวม จากนั้นคุณทำความสะอาด:
git worktree remove ../project-auth
โฟลเดอร์หายไป สาขายังคงอยู่ในประวัติของคุณ สะอาด
3 กับดักที่ต้องรู้
กับดักแรก, ไฟล์กลางที่แชร์กัน หากฟีเจอร์สองฟีเจอร์ต้องแตะต้อง routes.ts หรือ schema ฐานข้อมูลเดียวกัน worktrees จะไม่ช่วยคุณ คุณจะได้รับความขัดแย้งในเวลารวม เอเจนต์หนึ่งแตะต้องไฟล์ที่ทุกคนแชร์ คนอื่น ๆ รอหรือล้อมรอบมัน
ประการที่สอง, สาขาที่เบี่ยงเบน ขณะที่เอเจนต์ของคุณทำงาน main ย้ายไปข้างหน้า สามวันต่อมาสาขาของคุณล้าหลังและการรวมกลายเป็นเรื่องเจ็บปวด รีเบสบ่อย ๆ หรือทำให้เซสชันสั้นลง
ประการที่สาม, การทำความสะอาดที่ถูกลืม แต่ละ worktree เป็นโฟลเดอร์จริงบนดิสก์ของคุณ สิบอันต่อวันโดยไม่มีการทำความสะอาด และโฟลเดอร์หลักของคุณจะอ่านไม่ออก git worktree list แสดงสิ่งที่อยู่รอบ ๆ git worktree prune ลบอันที่ตายแล้ว
คำถามที่แท้จริง: ใครดูห้าโฟลเดอร์?
Worktrees แก้ปัญหาการชนกันของไฟล์ พวกเขาไม่แก้ปัญหาภาระทางจิตใจของคุณ
คุณมีโฟลเดอร์ห้าอัน เอเจนต์ห้าอัน เทอร์มินัลห้าอัน อันไหนรอการตรวจสอบของคุณ? อันไหนเสร็จเมื่อสิบนาทีที่แล้วในขณะที่คุณมองไปที่อื่น? อันไหนล้มเหลว?
นั่นคือจุดที่ worktree หนึ่งอันต่อเอเจนต์มีขีดจำกัดหากคุณอยู่ในเทอร์มินัล คุณแก้ปัญหาความขัดแย้งทางเทคนิค แต่คุณเพิ่มจำนวนหน้าต่างที่ต้องดู
AgentsRoom วางเอเจนต์แต่ละตัวบนกระเบื้อง พร้อมสถานะและสีของมัน ไม่ว่าวิ่งใน worktree ไหน เอเจนต์ที่รอจะเปลี่ยนเป็นสีแดงและส่งเสียงเตือนคุณ อ่าน วิธีรัน 3 ถึง 8 เอเจนต์ในขนานโดยไม่สูญเสียการติดตาม สำหรับวิธีการทั้งหมดบน worktrees
สิ่งที่ควรนำไปใช้
เอเจนต์หนึ่งตัว, worktree หนึ่งอัน, สาขาหนึ่งอัน นั่นคือกฎพื้นฐานของการทำงานหลายเอเจนต์อย่างจริงจัง
คำสั่งพอดีในสามบรรทัด ผลประโยชน์คือทันที: เอเจนต์ของคุณหยุดเขียนทับกัน เพิ่มมุมมองที่บอกคุณว่าอันไหนต้องการคุณ และคุณสามารถทำงานห้าตำแหน่งในขนานโดยไม่สูญเสียสติของคุณ
ดาวน์โหลด AgentsRoom
เรียกใช้ AI agents ของคุณ (Claude, Codex, Antigravity CLI, OpenCode, Aider, Grok Build, Mistral Vibe, Kimi Code) ในทุกโปรเจกต์ของคุณจากหน้าต่างเดียว
แอปคู่หู: ตรวจสอบตัวแทนของคุณได้ทุกที่
นำของคุณเอง: Claude, Codex, Antigravity CLI, หรือผู้ให้บริการ AI อื่น ๆ
ส่งข้อบกพร่องและคำขอไปยังแบ็คล็อกสาธารณะของคุณโดยตรง
มองเห็น AgentsRoom ในการทำงาน