Agent Teams & Swarms

ให้เอเจนต์ AI หลายตัวทำงานเดียวกัน — จะเป็นทีมที่ใช้พื้นที่ทำงานร่วมกัน หรือ swarm ของเวิร์กเกอร์แบบ headless ก็ได้

งานบางอย่างใหญ่เกินกว่าเอเจนต์ตัวเดียวจะรับมือไหว 1DevTool มอบสองวิธีในการขยายสเกลงาน และทั้งสองวิธีนี้เป็นเครื่องมือที่แตกต่างกันอย่างแท้จริง

Active teams and swarms

Team: เอเจนต์ที่คุณดูได้

Team คือกลุ่มเอเจนต์ที่มีชื่อเรียก ทำงานร่วมกันในพื้นที่ทำงานเดียวกันเพื่อเป้าหมายเดียวกัน สมาชิกแต่ละตัวรันอยู่ในเทอร์มินัลจริงที่คุณเปิด อ่าน และพิมพ์คำสั่งเข้าไปได้ เริ่มต้นทีมได้จากแท็บ Teams ใน Orchestration Dashboard

Team หนึ่งทีมจะให้คุณ:

  • เห็นสถานะสดของสมาชิกทุกตัวได้ในมุมมองเดียว
  • พื้นที่ทำงานร่วมกันที่เปิดแล้วกระโดดเข้าไปยังเทอร์มินัลของเอเจนต์ได้ทันที
  • แถบข้อความสด (message rail) ที่แสดงให้เห็นว่าเอเจนต์ส่งต่องานและคุยกันอย่างไร
  • การคำนวณโทเคนและค่าใช้จ่ายของทั้งทีมในฐานะหน่วยเดียว

Agent team orchestration runs

Swarm: เวิร์กเกอร์แบบ headless

Swarm คือสำเนาของเอเจนต์ N ตัวที่ทำงานตามโจทย์เดียวกันโดยไม่มีเทอร์มินัลและไม่มีหน้าต่าง มีเพียงเวิร์กเกอร์ในแซนด์บ็อกซ์ที่รายงานผลลัพธ์กลับมา ใช้ swarm เมื่องานมีขอบเขตกว้างและทำซ้ำ ๆ (สำรวจทุกเส้นทาง ตรวจสอบทุก migration ลองทุกแนวทางจาก N วิธี) และคุณไม่จำเป็นต้องเฝ้าดูมันทำงาน

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

เอเจนต์ตัวไหนรัน swarm ได้บ้าง

เวิร์กเกอร์ของ swarm ต้องรันอยู่ภายในแซนด์บ็อกซ์ที่ถูกล็อกไว้อย่างเข้มงวด และไม่ใช่เอเจนต์ทุกตัวจะมีแซนด์บ็อกซ์แบบนี้ ปัจจุบันเป้าหมายที่รองรับ swarm ได้คือ Codex, Claude และ Cursor

หากขอให้สร้าง swarm บนเอเจนต์ตัวอื่นนอกเหนือจากนี้ ระบบจะ ปฏิเสธทันทีพร้อมบอกเหตุผล — โดยระบุชื่อเอเจนต์ที่รันเวิร์กเกอร์แบบแซนด์บ็อกซ์ได้ และแนะนำให้คุณใช้ terminal swarm, การมอบหมายงานโดยตรง (direct delegation) หรือ Agent Team แทน พฤติกรรมนี้ตั้งใจให้เป็นแบบนี้ เพราะก่อนหน้านี้คำขอแบบนี้เคยถูกยอมรับ แล้วเวิร์กเกอร์ทุกตัวก็ตายภายในหนึ่งวินาทีโดยไม่มีเอาต์พุตหรือคำอธิบายใด ๆ การแซนด์บ็อกซ์นั้นขึ้นอยู่กับความสามารถของเอเจนต์เป้าหมาย ไม่ใช่ระบบปฏิบัติการของคุณ

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

เมื่อการรันล้มเหลว

การรันที่ตายก่อนที่เอเจนต์จะเริ่มทำงานด้วยซ้ำ — ไม่ได้ติดตั้งเอเจนต์ แซนด์บ็อกซ์ไม่รองรับ หรือถูกปฏิเสธการเริ่มทำงาน — จะบันทึกเหตุผลไว้ในบันทึกการรัน (run record) คุณสามารถดูได้ใน Orchestration dashboard และเหตุผลนี้จะติดไปกับไฟล์การรันที่คุณแนบไปกับรายงานบั๊กด้วย ก่อนหน้านี้การรันเหล่านี้จะถูกส่งออกมาเป็นแค่คำว่า "error" เฉย ๆ ซึ่งเป็นสาเหตุที่ทำให้รายงานปัญหาได้ยาก

โปรโตคอลดั้งเดิมในที่ที่มีให้ใช้งาน

Codex และ OpenCode ทำงานร่วมกันผ่านโปรโตคอลของตัวเองแทนที่จะอ่านข้อมูลจากเทอร์มินัล (scraped terminal) การรันแบบ orchestrated กับสองตัวนี้จะสตรีมเอาต์พุต ขอการอนุมัติเครื่องมือ ขัดจังหวะ และดำเนินการต่อผ่านอินเทอร์เฟซดั้งเดิมของตัวเอง ส่วนเอเจนต์ตัวอื่นทั้งหมดยังคงใช้เส้นทางเทอร์มินัลเหมือนเดิมทุกประการ และแต่ละตัวจะถูกตรวจสอบกับเวอร์ชันที่ติดตั้งไว้ก่อนนำไปใช้งาน

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

ดำเนินการทีมต่อ

เซสชันที่รันร่วมกันเป็นทีมเดียวจะถูกทำเครื่องหมายไว้ใน Resume AI Sessions และแบนเนอร์จะเสนอให้นำสมาชิกทุกตัวกลับมาด้วยการยืนยันเพียงครั้งเดียว สมาชิกจะแสดงชิป (chip) ของทีมเพื่อให้คุณแยกแยะเซสชันที่ทำงานร่วมกันออกจากเซสชันเดี่ยวได้ เมื่อเทอร์มินัลเริ่มทำงานแล้ว Resume team ใน Mission Control จะเชื่อมต่อกลับเข้าหากันอีกครั้ง

เห็นทีมได้จากทุกที่

แถบทีมสด (live team rail) บน Dashboard, รายการ All Terminals และ Terminal Canvas จะระบุชื่อทีมที่กำลังรันอยู่แต่ละทีม บอกว่าทีมนั้นอยู่ในโปรเจกต์ไหนและกำลังทำอะไรอยู่ พร้อมพาคุณเข้าไปดูได้ในคลิกเดียว

  • Orchestration Dashboard — จุดที่เริ่มต้นและตรวจสอบทีมและ swarm
  • Mission Control — ห้องนักบินแบบสด (live cockpit)
  • Tasks — การมอบหมายงานก็เป็นการส่งงานอีกรูปแบบหนึ่งในตัวมันเอง