
ข่าวนี้คืออะไรในภาษาคนทำงาน
Claude Code v2.1.210 ออกเมื่อวันที่ 15 กรกฎาคมตามเวลาไทย พร้อมรายการแก้ไขหลายจุดสำหรับ background agents, MCP, worktree และการทำงานยาว ๆ
จุดที่ผมคิดว่าคนใช้ Coding Agent ควรรู้ที่สุดคือรายการนี้:
แก้ปัญหา Subagent ที่ตั้ง
isolation: worktreeแต่คำสั่ง Git บางคำสั่งอาจไปรันกับ main repo checkout แทน worktree ที่แยกไว้
พูดง่าย ๆ คือ เราตั้งใจแยกโต๊ะทำงานให้ Agent A แล้ว แต่บางคำสั่งที่เปลี่ยนสถานะ Git อาจไปลงบนโต๊ะหลักของทีม
เวอร์ชัน 2.1.210 แก้พฤติกรรมนี้แล้วครับ
ข่าวเดียวกันยังเพิ่ม elapsed-time counter ให้ tool call ที่ทำงานนานมองเห็นว่ายังเดินอยู่ และ harden Agent tool ต่อ indirect prompt injection จากเนื้อหาที่ Subagent อ่าน แต่บทความนี้จะโฟกัสเรื่อง worktree เพราะเป็นจุดที่ทีมเล็กเอาไปปรับ workflow ได้ทันที
So what: ทำไม founder/operator/ทีมเล็กควรสนใจ
เมื่อก่อนเราใช้ Coding Agent ทีละ session ปัญหาหลักมักเป็น “มันแก้ถูกไหม”
พอเริ่มใช้หลาย Agent พร้อมกัน ปัญหาใหม่คือ “แต่ละตัวกำลังแก้อะไร อยู่ที่ไหน และจะชนกันหรือเปล่า”
Git worktree ช่วยให้ repository เดียวมี working directory และ branch แยกหลายชุดได้ Agent หนึ่งตัวทำ feature ส่วนอีกตัวแก้ bug โดยไม่ต้องแย่งไฟล์ใน checkout เดียวกัน
Claude Code docs อธิบายชัดว่า worktree มีไว้แยก file edits ระหว่าง parallel sessions และ Subagent สามารถตั้ง isolation: worktree เพื่อใช้ temporary worktree ของตัวเองได้
แต่ release ล่าสุดเตือนเราว่า ชื่อ config กับพฤติกรรมจริงเป็นคนละเรื่อง
ถ้าทีมเชื่อเพียงว่า config เขียนว่า isolated แล้วไม่ตรวจตำแหน่งรันคำสั่ง เราอาจเจอผลข้างเคียง เช่น main checkout มี branch state เปลี่ยน, มี commit ที่ไม่ควรอยู่ตรงนั้น หรือ Agent หลายตัวแตะ working tree เดียวกันโดยไม่ตั้งใจ
สำหรับทีมเล็ก ความเสียหายอาจไม่ถึงขั้นระบบล่ม แต่เสียเวลาหนักครับ เพราะต้องไล่ว่า diff นี้มาจาก Agent ไหน, branch ไหน และงานไหนควรถูกเก็บหรือลบทิ้ง
How to use: เอาไปใช้กับงานตัวเองยังไง
1) อัปเดต Claude Code ก่อนรัน Subagent แบบขนาน
ถ้าคุณใช้ isolation: worktree, background agents หรือ dispatch หลายงานพร้อมกัน ให้ตรวจ version และอัปเดตเป็น v2.1.210 หรือใหม่กว่า
อย่าดูแค่ release note ใน browser ให้ตรวจ binary ที่ session ใช้จริงด้วย เพราะ terminal เก่า, background daemon หรือเครื่องของเพื่อนร่วมทีมอาจยังอยู่คนละเวอร์ชัน
2) ใช้หนึ่งงานต่อหนึ่ง worktree
อย่าให้ Agent สองตัวแก้ไฟล์ชุดเดียวกันใน checkout เดียว ถ้างานทำพร้อมกันได้ ให้แยก worktree และ branch ตาม task
ตัวอย่างการแบ่งงาน:
- Agent A แก้ checkout flow ใน worktree
fix-checkout - Agent B เพิ่ม regression test ใน worktree
test-checkout - main checkout ใช้สำหรับ review และรวมงานเท่านั้น
ถ้างานสองชิ้นต้องแตะไฟล์เดียวกันมาก ๆ การรันพร้อมกันอาจไม่ได้เร็วขึ้นครับ แยกคิวทีละงานจะง่ายกว่า
3) ให้ Agent ส่ง Startup Receipt ก่อนแก้ไฟล์
ก่อนเริ่มงาน ให้ Agent รายงานข้อมูลสั้น ๆ 4 อย่าง:
- working directory ปัจจุบัน
- branch ปัจจุบัน
- base branch หรือ commit ที่เริ่ม
- สถานะไฟล์ก่อนแก้
สำหรับงาน code ข้อมูลนี้มาจาก pwd, git branch --show-current, git rev-parse --short HEAD และ git status --short
ไม่ต้องทำเป็นเอกสารยาวครับ แค่ให้มันอยู่ใน task log ก็ช่วยตอบได้ว่า Agent เริ่มจากที่ถูกต้องหรือไม่
4) ให้ผลลัพธ์จบเป็น Artifact ที่ review ได้
คำว่า “เสร็จแล้ว” ไม่ควรจบที่ข้อความใน chat
เลือก artifact ที่ทีมอ่านต่อได้ เช่น:
- diff ของไฟล์ที่เปลี่ยน
- commit SHA บน branch ของ worktree
- draft PR
- test result
- รายการ caveat หรือเรื่องที่ยังไม่ได้ทำ
เมื่อ Agent หลายตัวทำงานพร้อมกัน artifact ต้องระบุด้วยว่ามาจาก worktree และ branch ไหน
5) เช็ก Main Checkout หลังรับงาน
หลัง Agent จบงาน ให้ตรวจ main checkout อีกรอบ:
- branch ยังเป็น branch เดิมหรือไม่
- มี uncommitted changes ที่ไม่รู้ที่มาหรือไม่
- มี commit ใหม่ที่ไม่ควรอยู่บน main หรือไม่
- worktree ของ task ยังมีงานค้างหรือ unpushed commit หรือไม่
นี่ไม่ใช่พิธีการครับ ใช้เวลาไม่ถึงนาที แต่ช่วยลดการตามแกะงานทีหลังได้มาก
Operator Kit: Parallel Agent Worktree Checklist
คัดลอก checklist นี้ไปไว้หน้า task ที่จะส่งให้ Coding Agent ได้เลย
ก่อนเริ่ม
- [ ] Claude Code เป็น v2.1.210 หรือใหม่กว่า
- [ ] หนึ่ง task ใช้หนึ่ง worktree และหนึ่ง branch
- [ ] ระบุ base branch หรือ base commit ชัด
- [ ] ระบุไฟล์หรือ directory ที่ Agent แก้ได้
- [ ] ระบุไฟล์หรือ branch ที่ห้ามแตะ
- [ ] main checkout อยู่ในสถานะที่ทีมรับรู้ก่อนเริ่ม
Startup Receipt
Task:
Worktree path:
Branch:
Base commit:
Allowed scope:
Do not touch:
Starting git status:
- [ ] Agent รายงาน working directory จริง
- [ ] Agent รายงาน branch จริง
- [ ] Agent รายงานสถานะไฟล์ก่อนแก้
- [ ] ข้อมูลตรงกับ task ที่ทีมส่ง
ระหว่างทำงาน
- [ ] คำสั่งแก้ไฟล์และ Git รันใน worktree ของ task
- [ ] Agent ไม่สลับไป main checkout
- [ ] ถ้าต้องใช้ dependency หรือ env ให้ตั้งเฉพาะที่จำเป็นใน worktree
- [ ] ถ้างานชนไฟล์กับ Agent ตัวอื่น ให้หยุดหนึ่งงานหรือจัดลำดับใหม่
ก่อนส่งงาน
- [ ] มี diff, commit หรือ draft PR ให้ review
- [ ] มี test result ที่ผูกกับ branch นี้
- [ ] ระบุไฟล์ที่เปลี่ยนครบ
- [ ] ระบุเรื่องที่ยังไม่ได้ทำ
- [ ] ระบุ worktree ที่เก็บงานไว้หรือขั้นตอน cleanup
Final Check
- [ ] main checkout ยังอยู่ branch เดิม
- [ ] main checkout ไม่มี diff ที่ไม่ทราบที่มา
- [ ] ไม่มี commit ของ task หลุดมาอยู่บน main
- [ ] worktree ที่มี unpushed commit ยังไม่ถูกลบ
- [ ] owner รู้ว่าต้อง merge, retry หรือ cleanup อะไรต่อ
ถ้าอยากลองวันนี้ ให้เลือก issue เล็กหนึ่งใบ สร้าง worktree แยก แล้วบังคับใช้ Startup Receipt กับ Final Check ให้ครบครับ
Caveat: Worktree ไม่ใช่ Container
Worktree แยก working directory และ branch ได้ดี แต่ไม่ใช่ container หรือ security sandbox แบบเต็มรูปแบบ
แต่ละ worktree ยังแชร์ Git repository history และ remote เดียวกัน ส่วน network access, process permission, credentials และ external tools ขึ้นอยู่กับ environment กับ permission config ของ Agent
เอกสาร Claude Code ยังระบุด้วยว่า worktree ใหม่จะไม่มีไฟล์ untracked เช่น .env โดยอัตโนมัติ เว้นแต่ทีมตั้ง .worktreeinclude ให้คัดลอกเข้าไป ดังนั้นอย่าคัดลอก secret ทุกไฟล์เพียงเพื่อให้ Agent รันง่ายขึ้น เลือกเฉพาะ config ที่จำเป็นและใช้ credential ที่ขอบเขตแคบ
อีกเรื่องคือ release นี้ยืนยันการแก้ bug เฉพาะจุด ไม่ได้แปลว่า worktree ทุกแบบในทุกเครื่องถูกทดสอบแทนทีมแล้ว ถ้า repo สำคัญ ให้เริ่มจาก task เล็กและตรวจ branch, diff กับ test ก่อนขยายเป็นหลาย Agent
สรุป
Claude Code v2.1.210 แก้จุดสำคัญของ Subagent worktree isolation: คำสั่ง Git ที่แก้สถานะ repo ต้องทำงานอยู่ใน worktree ของ Agent ไม่ใช่หลุดไปแตะ main checkout
บทเรียนสำหรับคนทำงานไม่ใช่ให้กลัว Coding Agent ครับ แต่ให้จัดโต๊ะทำงานให้มันชัด
หนึ่ง task ต่อหนึ่ง worktree, มี Startup Receipt ก่อนแก้ไฟล์, ส่งงานเป็น diff หรือ draft PR และตรวจ main อีกครั้งหลังจบ แค่นี้ทีมเล็กก็เริ่มรัน Agent หลายงานพร้อมกันได้เป็นระเบียบขึ้นมาก
Data-Espresso และ OPB Stack จะคอยแปลงข่าว AI Agent ให้เป็น workflow, SOP และ Operator Kit ที่คนทำงานเอาไปลองใช้ได้จริง โดยไม่ต้องอ่าน release note ยาวทั้งหน้าเองครับ
