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 ลบอันที่ตายแล้ว
กับดักที่สี่: worktree เริ่มต้นแบบว่างเปล่า
worktree มีเฉพาะไฟล์ที่ Git ติดตามเท่านั้น git worktree add ให้ซอร์สโค้ดแก่คุณ แต่ไม่ให้ node_modules ไม่ให้ .venv ไม่ให้ .env ที่เก็บความลับในเครื่องของคุณ และไม่ให้แคชของการบิลด์ เอเจนต์ที่เริ่มทำงานใน worktree ใหม่รันเทสต์ไม่ได้ เปิดเซิร์ฟเวอร์ dev ไม่ได้ และบ่อยครั้งก็ไม่บอกว่าทำไม: npm test ล้มเหลวเพราะขาดโมดูล แอปล้มเหลวเพราะไม่มีตัวแปรสภาพแวดล้อม และเอเจนต์ใช้สิบนาทีแรกไปกับการเตรียมสภาพแวดล้อม แทนที่จะทำงานตามตั๋ว
เรื่องนี้เกิดกับเราเอง ผู้ใช้คนหนึ่งชี้ว่าตัวเลือก worktree ใน AgentsRoom ถูกซ่อนอยู่ในตัวเลือกขั้นสูงของฟอร์มเอเจนต์ และเอเจนต์ทุกตัวที่เปิดใน worktree ไม่มี dependency เลยสักตัวและรันเทสต์ไม่ได้แม้แต่ตัวเดียว ทั้งสองข้อเป็นความจริง การแยกการทำงานมีอยู่แล้ว แต่ใช้งานไม่ได้หากไม่มีขั้นตอนแบบทำมือที่ไม่มีใครจำได้
ตั้งแต่เวอร์ชัน 1.194.0 ตัวเลือกนี้อยู่ในบล็อก "การแยกการทำงาน" ของฟอร์มเอเจนต์ มองเห็นได้ทันทีโดยไม่ต้องขยายส่วนใด และเอเจนต์ตัวแรกที่เปิดใน worktree ใหม่จะได้ worktree ที่เตรียมไว้พร้อม: AgentsRoom คัดลอกไฟล์ที่ถูก ignore ซึ่งตรงกับรูปแบบที่กำหนดมาจาก checkout หลัก (ค่าเริ่มต้นคือ .env* ทุกไฟล์ ไม่เขียนทับเด็ดขาด และไม่คัดลอกเข้าไปใน node_modules หรือ .git) จากนั้นรันคำสั่งติดตั้งที่ตรวจพบจาก lockfile (bun, pnpm, yarn, npm, uv, poetry, pipenv, bundle, composer) หรือคำสั่งที่คุณตั้งไว้ในการตั้งค่าโปรเจกต์ คำสั่งนี้รันในเทอร์มินัลของเอเจนต์เอง คุณจึงมองเห็นมัน และการติดตั้งที่ล้มเหลวจะไม่ขัดขวางไม่ให้เอเจนต์เริ่มทำงาน ขั้นตอนนี้เกิดขึ้นครั้งเดียวต่อ worktree: ตัวทำเครื่องหมายในโฟลเดอร์ git ส่วนตัวของ worktree ทำให้การเปิดครั้งถัดไปข้ามขั้นตอนนี้ไป
ถ้าคุณทำเองด้วยมือ สูตรก็เหมือนกันและใส่ไว้ในสคริปต์เดียวได้: คัดลอก .env* รันการติดตั้ง แล้วจึงเริ่มเอเจนต์ ครอบ git worktree add ไว้ในสคริปต์นั้น ไม่อย่างนั้นคุณจะลืมมันตอนเอเจนต์ตัวที่สาม
ถ้าคุณไม่อยากดูแลสคริปต์นั้นเอง ตัวจัดการ worktree ของ AgentsRoom คือเครื่องมือที่ทำงานนี้แทนคุณ: worktree หนึ่งอันต่อตั๋วหรือต่อเอเจนต์ เตรียมไว้ก่อนที่เอเจนต์จะเริ่มทำงาน แล้วตรวจสอบ คอมมิต และรวมได้จากหน้าต่างเดียวกัน
คำถามที่แท้จริง: ใครดูห้าโฟลเดอร์?
Worktrees แก้ปัญหาการชนกันของไฟล์ พวกเขาไม่แก้ปัญหาภาระทางจิตใจของคุณ
คุณมีโฟลเดอร์ห้าอัน เอเจนต์ห้าอัน เทอร์มินัลห้าอัน อันไหนรอการตรวจสอบของคุณ? อันไหนเสร็จเมื่อสิบนาทีที่แล้วในขณะที่คุณมองไปที่อื่น? อันไหนล้มเหลว?
นั่นคือจุดที่ worktree หนึ่งอันต่อเอเจนต์มีขีดจำกัดหากคุณอยู่ในเทอร์มินัล คุณแก้ปัญหาความขัดแย้งทางเทคนิค แต่คุณเพิ่มจำนวนหน้าต่างที่ต้องดู
AgentsRoom วางเอเจนต์แต่ละตัวบนกระเบื้อง พร้อมสถานะและสีของมัน ไม่ว่าวิ่งใน worktree ไหน เอเจนต์ที่รอจะเปลี่ยนเป็นสีแดงและส่งเสียงเตือนคุณ อ่าน วิธีรัน 3 ถึง 8 เอเจนต์ในขนานโดยไม่สูญเสียการติดตาม สำหรับวิธีการทั้งหมดบน worktrees
สิ่งที่ควรนำไปใช้
เอเจนต์หนึ่งตัว, worktree หนึ่งอัน, สาขาหนึ่งอัน นั่นคือกฎพื้นฐานของการทำงานหลายเอเจนต์อย่างจริงจัง
คำสั่งพอดีในสามบรรทัด ผลประโยชน์คือทันที: เอเจนต์ของคุณหยุดเขียนทับกัน เพิ่มมุมมองที่บอกคุณว่าอันไหนต้องการคุณ และคุณสามารถทำงานห้าตำแหน่งในขนานโดยไม่สูญเสียสติของคุณ
ดาวน์โหลด AgentsRoom
รันเอเจนต์ AI ทั้งหมดของคุณในทุกโปรเจกต์ จากหน้าต่างเดียว
แอปคู่หู: ตรวจสอบเอเจนต์ของคุณได้ทุกที่
นำของคุณเอง: Claude, Codex, Antigravity CLI, หรือผู้ให้บริการ AI อื่น ๆ
ส่งข้อบกพร่องและคำขอไปยังแบ็คล็อกสาธารณะของคุณโดยตรง
อ่านต่อ
โค้ชวิ่ง AI ของผมคือคลัง Git กับเอเจนต์ Claude
ผมวิ่งจบ นาฬิกาซิงก์ข้อมูลเอง แล้วสามนาทีต่อมาบทวิเคราะห์ก็ถูกเขียนลงในคลังของผม ตารางสัปดาห์ถูกปรับใหม่ และโค้ชได้ทิ้งคอมเมนต์ไว้ใต้กิจกรรม Strava แล้ว ไม่ได้เขียนแอป ไม่ได้เขียนเซิร์ฟเวอร์ ไม่มีบิล API คิดตาม token: มีแค่ซับสคริปชัน Claude, AgentsRoom และไฟล์ Markdown นี่คือวิธีประกอบทั้งหมด ทำตามได้จริง
อ่านบทความหลายบัญชีในแอป Claude: เดสก์ท็อป มือถือ และการรวมบัญชี
แอปเดสก์ท็อป Claude ล็อกอินได้ทีละบัญชี แอปบน iPhone และ Android ตอนนี้เก็บได้สูงสุดสามบัญชี และบัญชี Claude ส่วนตัวสองบัญชีรวมกันไม่ได้ สิ่งที่ใช้ได้จริงในเดือนตุลาคม 2026 วิธีอ้อมด้วยโปรไฟล์เบราว์เซอร์ และเมื่อไหร่ที่สิ่งที่คุณต้องการจริง ๆ คือ Claude Code
อ่านบทความClaude Code กับ Codex CLI: อันไหนควรเลือกในปี 2026 (และทำไมไม่เลือกทั้งสอง)
การเปรียบเทียบที่ตรงไปตรงมาของ Claude Code และ Codex CLI: ราคา, ความเร็ว, MCP, การควบคุม. และทำไมหลังจากไม่กี่สัปดาห์ฉันจึงหยุดเลือกระหว่างพวกเขา.
อ่านบทความ