แนะนำฟีเจอร์ Parallel Agents ของ Zed
(zed.dev)- ตอนนี้สามารถรันและประสานงาน หลาย agent thread พร้อมกันภายในหน้าต่างเดียวได้แล้ว และใน Threads Sidebar แบบใหม่ยังควบคุมขอบเขตการเข้าถึงโฟลเดอร์และรีโพซิทอรีของแต่ละเธรด พร้อมดูสถานะการทำงานทั้งหมดได้ในที่เดียว
- แต่ละเธรดสามารถเลือกใช้ agent คนละตัว มาผสมกันได้ และหนึ่งเธรดยังอ่านและเขียนข้ามหลายโปรเจกต์และหลายรีโพซิทอรีได้ อีกทั้งยังเปิดใช้ การแยก worktree แยกตามเธรดได้เมื่อจำเป็น
- เลย์เอาต์เริ่มต้นก็ถูกจัดใหม่โดยให้ Threads Sidebar เป็นศูนย์กลาง โดยวาง Threads และ Agent Panel ไว้ทางซ้าย และย้าย Project Panel กับ Git Panel ไปทางขวา ส่วนผู้ใช้เดิมสามารถเลือกใช้เลย์เอาต์นี้แบบ opt-in ได้
- แทนที่จะไปสุดทางระหว่างการปล่อยให้ AI ทำทั้งหมดหรือไม่ใช้เลย ระบบนี้โฟกัสที่การผสาน วิธีทำงานที่ยังลงมือกับโค้ดโดยตรง เข้ากับเครื่องมือ AI เพื่อสร้าง ระบบที่เชื่อถือได้และออกแบบมาอย่างดี
- ใช้งานได้ทันทีใน Zed รุ่นล่าสุด และยังตอกย้ำเวิร์กโฟลว์การจัดการงาน agent ขนาดใหญ่ในหน้าต่างเดียวด้วยสภาพแวดล้อม 120 fps, โครงสร้างที่เลือก agent ได้ และการเป็น โอเพนซอร์ส
ฟีเจอร์ Parallel Agents
- Zed ปรับให้สามารถรันและประสานงาน หลาย agent แบบขนานภายในหน้าต่างเดียวได้
- ฟีเจอร์ Parallel Agents ทำให้ดูแลหลายเธรดได้พร้อมกัน
- ใน Threads Sidebar แบบใหม่ สามารถควบคุมได้อย่างแม่นยำว่าแต่ละเธรดจะเข้าถึงโฟลเดอร์และรีโพซิทอรีใด
- สามารถมอนิเตอร์เธรดที่กำลังทำงานอยู่ทั้งหมดได้จากที่เดียว
- ฟีเจอร์นี้ทำงานในสภาพแวดล้อม 120 fps ของ Zed รองรับการเลือก agent ที่ต้องการใช้ และทั้งระบบเปิดเผยเป็น โอเพนซอร์ส
หลายเธรดในหน้าต่างเดียว
- Threads Sidebar จะแสดงเธรดทั้งหมดโดยจัดกลุ่มตามโปรเจกต์ ทำให้จัดการงานของหลาย agent พร้อมกันได้ง่ายขึ้น
- แต่ละเธรดสามารถผสมใช้ agent คนละตัวได้
- เลือกได้เป็นรายเธรดตามแนวทาง choose your agent
- สามารถทำงานข้ามหลายโปรเจกต์ได้ โดย agent thread เดียวสามารถอ่านและเขียนคร่อมหลายรีโพซิทอรีได้
- เมื่อจำเป็นก็ใช้ การแยก worktree ได้ และกำหนดได้แยกตามแต่ละเธรดว่าจะเปิดใช้หรือไม่
- จาก Sidebar สามารถสั่งงานทั่วไปอย่างหยุดเธรด เก็บถาวร หรือเริ่มเธรดใหม่ได้ทันที
- แม้ในเวิร์กโฟลว์ที่ซับซ้อนซึ่งมีหลาย agent รันพร้อมกันในหลายโปรเจกต์ Sidebar ก็ยังช่วยจัดระเบียบงานได้ง่าย
เลย์เอาต์เริ่มต้นแบบใหม่
- เมื่อ Threads Sidebar กลายมาเป็นศูนย์กลางของการสำรวจโปรเจกต์ การจัดวางพาเนลจึงถูกปรับใหม่ด้วย
- โดยค่าเริ่มต้น Threads จะ dock อยู่ทางซ้าย และวางถัดจาก Agent Panel
- ส่วน Project Panel และ Git Panel จะย้ายไปอยู่ทางขวา
- เลย์เอาต์นี้ออกแบบมาให้เหมาะกับ agentic work มากขึ้น และทำให้ agent thread ยังอยู่ด้านหน้าระหว่างที่สลับเธรด
- หากต้องการเลย์เอาต์แบบอื่น สามารถคลิกขวาที่ไอคอนพาเนลบนแถบล่างเพื่อเปลี่ยนตำแหน่ง dock ได้ และปรับได้จาก Settings Editor เช่นกัน
- ผู้ใช้เดิมสามารถเลือกใช้เลย์เอาต์ใหม่นี้แบบ opt-in ได้
- แม้จะคุ้นกับเลย์เอาต์เดิม ลองใช้งานเลย์เอาต์ใหม่นี้ก่อนก็อาจรู้สึกว่าเป็นธรรมชาติมากกว่าก่อนจะเปลี่ยนกลับ
การผสาน Agent เข้ากับ Editor
- วิธีใช้ AI อาจไปได้สุดโต่งสองด้าน แต่ แนวทางที่ยังลงมือกับโค้ดเองขณะใช้ AI เหมาะกับการสร้างซอฟต์แวร์คุณภาพสูงมากกว่า
- สุดด้านหนึ่งคือ fully giving into the vibes
- อีกสุดด้านหนึ่งคือ disabling all AI features
- คุณค่าของวิศวกรซอฟต์แวร์ไม่ควรวัดจากจำนวนบรรทัดโค้ดที่สร้างขึ้น แต่ควรวัดจากการสร้าง ระบบที่เชื่อถือได้ ออกแบบมาดี และปรับเปลี่ยนได้ง่าย
- agentic engineering ที่ถูกนำเสนอในปี 2025 กำลังกลายเป็นแนวทางของการผสาน craftsmanship ของมนุษย์เข้ากับเครื่องมือ AI เพื่อสร้างซอฟต์แวร์ที่ดีกว่าเดิม
- software craftsmanship in the era of vibes
- คำนี้กำลังแพร่หลายมากขึ้นในช่วงหลัง
- term grow in popularity
- Parallel Agents ของ Zed ถูกสร้างขึ้นโดยยึดหลักการนี้เป็นแกนกลาง และมุ่งทำให้ ประสบการณ์ทำงานกับ agent ในระดับขนาดใหญ่ ดีขึ้น
- ทีมงานทดสอบด้วยการรันเธรดหลายร้อยเธรดบนระบบต่อเนื่องหลายวัน และผ่านทั้งการปรับ UX หลายรอบกับการถกเถียงภายในอย่างยาวนาน เพื่อเก็บรายละเอียดที่นักพัฒนาอาจมองข้ามได้
- ใช้เวลาในการพัฒนานานขึ้นและเส้นทางก็ไม่ง่าย แต่ผลลัพธ์คือช่วยให้ทำงานที่ซับซ้อนขึ้นด้วย agent ได้โดยยัง ไม่ต้องแลกกับ craftsmanship
เริ่มต้นใช้งาน
- Parallel Agents ใช้งานได้ใน Zed รุ่นล่าสุด
- สามารถเปิด Threads Sidebar ได้จากไอคอนมุมซ้ายล่าง
- เปิดได้ด้วยคีย์ไบน์ด้วย โดยบน macOS ใช้
option-cmd-jและบน Linux กับ Windows ใช้ctrl-option-j
1 ความคิดเห็น
ความคิดเห็นบน Hacker News
ยิ่งใช้เวิร์กโฟลว์นี้ก็ยิ่งชอบ สิ่งที่เป็น game changer จริง ๆ คือ (a) รัน เธรดแบบขนาน แยกตาม worktree และ (b) มี lifecycle hook มากพอจนจัดการมันได้เหมือนสปิน VM ขึ้นมาใช้
ในกรณีของผม พอสร้าง worktree ก็จะคัดลอกไฟล์ config ในเครื่อง แล้วให้ Postgres โคลน dev/test DB เพื่อทำ การทดสอบแบบแยกสภาพแวดล้อม พอปิด worktree ก็ลบ DB นั้นทิ้งไปด้วย
จนถึงตอนนี้ Conductor ดีที่สุด แต่ที่บริษัทบังคับให้ใช้ได้แค่ Copilot และฝั่ง backend ก็ล็อกไว้ที่ Claude/Codex เลยใช้ไม่ได้ Arbor คล้ายกันแต่พัฒนาช้ากว่าและยังมีส่วนที่หยาบ ๆ เยอะ ส่วน Opencode GUI มี create hook แต่ไม่มี teardown
ถ้า Zed เชื่อมส่วนนี้ได้ครบและยังรักษาความเป็น editor ที่ดีไว้ได้ ผมว่ามันเปลี่ยนเกมได้แน่
ตอนนี้กำลังทำให้ต่อกับเอเจนต์ได้มากขึ้น และมีคนขอรองรับ Copilot กับ OpenCode harness เข้ามาเยอะเป็นพิเศษ
ช่วงนี้เราเพิ่งทำทางออกชั่วคราวไว้ด้วย ไปที่ Settings → Experimental → Big Terminal Mode แล้วจะสร้างเทอร์มินัลใหม่ในแพเนลกลางได้ (⌘⇧T) จากนั้นก็ใช้เอเจนต์ที่ต้องการอย่าง Copilot หรือ OpenCode ได้เลย ตอนนี้ยังขาดพวกการแจ้งเตือนอยู่ เลยยังไม่ใช่ประสบการณ์ที่สมบูรณ์ แต่ก่อน UI อย่างเป็นทางการจะมา ก็ช่วยให้ใช้ harness ที่ต้องการได้ก่อน
ถ้ามีฟีดแบ็ก ส่งมาได้เสมอที่ charlie@conductor.build
แค่สร้าง git worktree ใหม่ คัดลอก .env ในเครื่องหรือไฟล์ config อื่น ๆ แล้วใส่พอร์ตกับตัวแปรที่ไม่ชนกันสำหรับแต่ละ worktree ก็พอ เอาไว้เลี่ยง localhost ชนกัน ซึ่งจะใช้ Docker แก้ก็ได้เหมือนกัน
แล้วก็มีสคริปต์ teardown ไว้เก็บกวาด worktree หลัง merge เข้า main ส่วนงานทดสอบอัตโนมัติ ผมก็แยก Chrome debug port กับ temporary user data dir ตาม worktree เหมือนกัน
เลยยังไม่ค่อยเข้าใจว่าทำไมต้องมีไลบรารีหรือเครื่องมือแยกต่างหากด้วย
https://www.visualjj.com/learn/parallel-ai-agents
ส่วนขยายนี้มี before create / before destroy hook เลยใส่งานที่ต้องการได้หมด ฝั่งผมตั้งให้ symlink ไฟล์ workspace จาก main checkout ติดตั้งแพ็กเกจ และคัดลอกไฟล์บางตัวเพิ่มด้วย ค่อนข้างสะดวก
ถ้าจำเป็นก็ทำ VM isolation แยกตาม worktree ได้ด้วย
https://github.com/ouijit/ouijit
ตอนนี้ดูชัดเจนแล้วว่าทุกคนกำลังไปทาง parallel agents กับ worktree แต่ก็ยังแปลกใจที่ Zed เป็นคนปล่อยฟีเจอร์นี้ออกมา เพราะเดิมมันมีภาพลักษณ์ว่าเน้น editor เป็นหลักและให้ AI เป็นตัวเลือกจริง ๆ
จุดแข็งของ Zed คือไม่ผูกกับเอเจนต์ตัวใดตัวหนึ่ง, สร้าง worktree อัตโนมัติแยกตาม repository เพื่อให้ เอเจนต์เดียวจัดการหลาย repository ได้, และคุณภาพของ agent UI ก็สูง ไม่ได้เป็นแค่ตัวห่อ CLI เฉย ๆ เท่าที่ผมรู้ นี่น่าจะเป็นเครื่องมือใหญ่ตัวแรกที่มีครบทุกอย่างในชุดเดียว
ผมเอาไปต่อกับ logfire เพื่อดู telemetry แล้วรู้สึกต่างมากเวลา optimize หรือไล่บั๊ก และตอนนี้ก็ยังไม่มี plugins กับ skills
แต่ข้อดีคือสลับ provider ได้ง่าย
เลย์เอาต์เริ่มต้นใหม่มันตรงข้ามกับสิ่งที่ผมต้องการพอดี
สำหรับผมมันควรเป็น project tree | text editor | agent view | threads
บนโน้ตบุ๊กส่วนใหญ่ แพเนลที่มองได้จริง ๆ มีแค่ประมาณสองอัน ไม่ควรไปเน้นเวิร์กโฟลว์สี่แพเนล แต่ควรโฟกัสให้จัดการแพเนลและสลับมุมมองได้ง่ายกว่า ถ้าไม่ใช่จอ ultra-wide ผมว่าควรแยก Agents ไปอีกหน้าต่างต่างหาก
ผมใช้ Zed เยอะ และมันก็เป็นจุดเล็ก ๆ ที่เปลี่ยนผ่านการตั้งค่าได้ แต่ก็รู้สึกเหมือนเป็นการตัดสินใจด้านดีไซน์ที่สื่อความหมายมาก เลยขัดใจ กลัวว่าถัดจากนี้จะมองว่าการแก้ไขโค้ดสำคัญน้อยลง แล้วสุดท้ายจะดัน VI mode ออกไปด้วย
ดูจาก changelog แล้วพักนี้เหมือนเอาความพยายามส่วนใหญ่ไปลงกับฝั่งเอเจนต์ เลยเริ่มกังวล เหตุผลที่ผมชอบ Zed คือมันเป็น editor ที่ดีและรู้จักเอเจนต์นิดหน่อย ไม่ใช่เพราะอยากให้มันค่อย ๆ pivot ไปเป็นเครื่องมือจัดการเอเจนต์แบบเต็มตัว
แต่คิดว่าคงยังไม่ถึงขั้นเอาออกตอนนี้
ผมตั้งใจหลีกเลี่ยง parallel agents เพราะภาระทางความคิดมันสูงเกินไป และระหว่างทางก็มักต้องคอยบังคับทิศทางเอเจนต์ให้ไปในทางที่สมเหตุสมผลเชิงโครงสร้างอยู่เรื่อย ๆ
งานซับซ้อนมักต้องเปิดดู thinking output ไว้ แล้วคอยแทรกหรือหยุดกลางทาง ถ้าไม่ทำแบบนั้นผลลัพธ์มักเละ และก็แก้ยากอยู่แล้ว ยิ่งต้องมาดูหลายโปรเซสพร้อมกันก็ยิ่งยากขึ้น
ช่วงนี้ผมเลยจัดการทีละหนึ่งการเปลี่ยนแปลง และคง flow แบบนั้นไว้จนกว่าจะมั่นใจเต็มที่ว่า merge ได้
สักจุดหนึ่งในหัวจะเริ่มส่งสัญญาณว่า commit ไปเลยแล้วกัน แต่ผมก็ต้องฝืนต้านความยั่วยวนนั้นไว้
ผมไม่ชอบที่เลย์เอาต์เริ่มต้นไป เบียดพื้นที่โค้ดกับ file tree เพื่อเปิดที่ให้เครื่องมือ AI
ผมชอบ Zed มากและใช้ทุกวัน แต่ถ้าตอนติดตั้งครั้งแรกเห็นเลย์เอาต์นี้ ผมคงไม่ดูมันอย่างจริงจัง
คิดว่าน่าจะผลักผู้ใช้ใหม่บางส่วนออกไปแน่
เครื่องมืออื่นที่ทำคล้ายกันส่วนใหญ่ หนัก บั๊กเยอะ และสร้างบน Electron
คลิกขวาที่ไอคอนแพเนลเล็ก ๆ บนแถบล่างแล้วเลือกตำแหน่ง dock ได้ ส่วนคลิกซ้ายคือสลับการแสดงแพเนล
ตอนนี้ก็เปิด agent, editor, files/git พร้อมกันอยู่แล้ว ถ้าเพิ่มแพเนลที่สี่เข้าไปอีก บนจอความละเอียดต่ำจะอึดอัดมาก ผมมีจอ 4K ก็จริง แต่เดิมผมชอบแบ่งครึ่งไว้ editor ฝั่งหนึ่ง browser หรือหน้าต่างอื่นอีกฝั่งหนึ่ง เลยยังรู้สึกขัด ๆ กับ flow ที่ต้องใช้ editor แบบเต็มจอ
แน่นอนว่านี่เป็นแค่เลย์เอาต์เริ่มต้น และใน Zed ก็น่าจะมีวิธีเปลี่ยน ถ้าจัดแพเนลได้แบบมุมซ้ายบน/ซ้ายล่าง/ขวาล่าง/ขวาบน เหมือน JetBrains IDE แล้วสั่งซ่อนหรือแสดงพร้อมกันได้ เช่น เอาไฟล์ไว้ซ้ายบน เอาเอเจนต์ไว้ซ้ายล่าง และคงตรงกลางไว้ให้ editor เป็นหลัก ก็จะดี
ผมชอบ แอปสไตล์ codex ที่กองหลายโปรเจ็กต์ไว้ในที่เดียวและสลับบริบทได้แบบไม่รู้จบมากกว่า
บน macOS ก็ยังเป็น ⌘B สำหรับสลับ left dock และ ⌘R สำหรับสลับ right dock เหมือนเดิม
ถ้าเปิดเลย์เอาต์ใหม่ แพเนลที่เคยอยู่ซ้ายก็จะย้ายไปขวาอะไรทำนองนั้น ดังนั้นแม้ใช้เขียนโค้ดแบบดั้งเดิม ผมก็คิดว่าจะลองใช้ดู ในหน้าตั้งค่าก็เปลี่ยนตำแหน่ง dock ของแต่ละแพเนลได้
สำหรับผม parallel agents ไม่ใช่ค่าเริ่มต้น แต่ใกล้เคียงกับกรณียกเว้นมากกว่า อาจเป็นที่ตัวผมเองก็ได้ แต่แม้ในกรณีพิเศษแบบนั้น ผมก็รู้สึกว่าแค่เปิดเทอร์มินัลเพิ่มอีกไม่กี่อันก็พอแล้ว
เลยไม่แน่ใจว่ามันควรเป็นเวิร์กโฟลว์หลักจริงหรือไม่ สมองผมเหมาะกับการขุดลึกทีละปัญหามากกว่า
ที่สำคัญไม่ใช่การรันแบบขนานอย่างเดียว แต่คือ การสลับไปมาระหว่างเธรดได้ง่าย มากกว่า มันช่วยให้ไปขุดงานค้นคว้าจุกจิกในเธรดข้าง ๆ ได้ โดยไม่ทำให้ context หลักของการแก้ไขงานกระจัดกระจาย
เช่น งานอย่างการร่างการเปลี่ยนแปลงก่อนลงมือแก้จริง หรือ checkout branch และเซ็ตอัปโค้ดก่อนรีวิว
ผมลองใช้ Zed แล้วรู้สึกว่ามันดีพอจะเป็น editor หลัก ได้ แต่ติดที่ส่วนขยายยังน้อย ขาดของอย่าง TODO highlight, TabOut และ QoL จุกจิกหลายอย่าง การกระโดดไปบรรทัดก็ไม่ง่ายเท่า VSCode และ tab filter ที่มีคนพูดถึงในคอมเมนต์อื่นก็ยังน่าเสียดาย
แล้วการตั้งค่า ขนาดฟอนต์ ใน editor ของ git commit message ทำไม่ได้ก็ดูแปลก
ส่วนของใหม่ล่าสุดที่ชอบมากคือ dev container integration
เอาใจช่วย Zed
agent UI ของ Zed เป็น UI ที่สับสนที่สุดเท่าที่ผมเคยเห็น ไอคอนเล็กและกำกวม และเวลากด x บางครั้งปิด editor บางครั้งปิดเอเจนต์ บางครั้งปิดแพเนล ทำให้เดาผลลัพธ์ไม่ออก
ผมพยายามกลับมาลองใช้อีกครั้งเพราะฟีเจอร์ใหม่ แต่สุดท้ายก็ลบทิ้งเพราะพฤติกรรมที่คาดเดาไม่ได้นี้ แถมยังไม่รองรับ opencode Go ที่ผมสมัครใช้อยู่ด้วย
Warp ก็ออกของคล้ายกันมาเมื่อประมาณสัปดาห์ก่อน แต่ในมุมผม ฝั่ง Zed ทำออกมาได้ สมเหตุสมผล กว่า
ดูท่าว่าจะได้กลับไปลอง Zed อีกครั้ง หลังจากมีอาการคันอยากลองว่า “เดือนนี้จะใช้ terminal/IDE ตัวนี้ดีไหม” โผล่มาอีกแล้ว
อาจเป็นเพราะผมยังผ่าน learning curve ไปไม่พอ หรือไม่ก็มันยังใกล้เคียงขั้นอัลฟาและเปลี่ยนบ่อยอยู่ก็ได้
ฟีเจอร์ Parallel agents ดูเหมือนออกแบบมาโดยยึด git worktree หรือโปรเจ็กต์ในเครื่องเป็นศูนย์กลาง แต่ผมกลับรู้สึกว่า local project mode ทำให้ประเด็นหลักพร่าไป
flow การพัฒนาประจำวันของผมย้ายไปอยู่บน jj workspaces หมดแล้ว ดังนั้นจนกว่า Zed จะรองรับ jj ผมก็คงไม่มีเหตุผลจะใช้ฟีเจอร์นี้
แถมการเปลี่ยนครั้งนี้ยังทำให้เลย์เอาต์ปั่นป่วนแบบไม่ทันตั้งตัว ตอนนี้ผมยังไม่ค่อยรู้เลยว่าจะเปลี่ยนกลับแบบเดิมยังไง