Orkestra: การประสานงาน AI Agent ในระดับใหญ่
> ออร์เคสเตรเตอร์เดียวจัดสรรงานให้ AI agent ผู้เชี่ยวชาญ แต่ละตัวมี skill และความทรงจำที่แตกต่างกัน นี่คือวิธีที่ Orkestra ประสาน agent 46 ตัว และ skill 466 รายการในโปรดักชัน
ตัวเลขในบทความนี้สะท้อนระบบ ณ วันที่เผยแพร่ (มกราคม 2026) ดูหน้าทีมของเราสำหรับตัวเลขปัจจุบัน
เมื่อเราเริ่มสร้างด้วย Claude Code เราเจอปัญหาที่ทุกทีมที่ใช้ผู้ช่วยเขียนโค้ด AI ต้องเจอในที่สุด: agent ตัวเดียวทำทุกอย่างได้ดีไม่ได้
คุณพรอมต์ agent ให้เป็นผู้เชี่ยวชาญฐานข้อมูลได้ หรือผู้ตรวจสอบความปลอดภัย หรือวิศวกร frontend แต่ทันทีที่คุณขอให้มันเป็นทั้งสามอย่างพร้อมกัน คุณภาพจะแย่ลง บริบทจางลง คำสั่งขัดแย้งกัน agent กลายเป็นผู้รู้ทั่วไปที่ปานกลางในทุกเรื่อง
เราจึงสร้าง Orkestra
Orkestra คืออะไร?
Orkestra คือระบบประสานงาน agent สำหรับ Claude Code และเครื่องมือเขียนโค้ด AI ที่คล้ายกัน มันประสานงาน agent เฉพาะทางหลายตัว แต่ละตัวมีความเชี่ยวชาญที่แตกต่างกัน ภายใต้ออร์เคสเตรเตอร์เดียวที่จัดสรรงานไปยังผู้เชี่ยวชาญที่ถูกต้อง
ลองนึกภาพมันเป็นเอเจนซี่จัดหาบุคลากรสำหรับ AI agent ออร์เคสเตรเตอร์รับงาน ระบุว่าผู้เชี่ยวชาญคนไหนควรจัดการมัน และมอบหมายพร้อมบริบทที่ถูกต้อง เมื่องานเสร็จ ผลลัพธ์จะไหลกลับไปยังออร์เคสเตรเตอร์เพื่อสังเคราะห์
ตัวเลขบอกเรื่องราว:
| องค์ประกอบ | จำนวน |
|---|---|
| Agent ผู้เชี่ยวชาญ | 46 |
| Skill ที่นำกลับมาใช้ใหม่ได้ | 466 |
| ต้นแบบ Identity | 27 |
| Mindset | 11 |
| สไตล์การสื่อสาร | 10 |
| โดเมนความรู้ | 21 |
ระบบตัวละคร: D&D สำหรับ Agent
ข้อมูลเชิงลึกหลักเบื้องหลัง Orkestra คือพฤติกรรมของ agent เกิดขึ้นจากพื้นฐานที่ประกอบกันได้สามอย่าง:
Identity นิยาม สิ่งที่ agent เป็น สถาปนิกออกแบบโครงสร้างระบบ นักดีบักตามรอยความล้มเหลวไปยังต้นตอ ผู้พิทักษ์บังคับใช้ การปฏิบัติตามและขอบเขตความปลอดภัย เรามีต้นแบบ identity 27 แบบที่ผสมกันได้
Mindset นิยาม วิธีที่ agent คิด mindset เชิงวิเคราะห์ยึดการยืนยันไว้กับหลักฐานและวัดความไม่แน่นอน mindset ที่ขี้สงสัย ตั้งคำถามต่อสมมติฐานและหาหลักฐานที่หักล้าง mindset เชิงสำรวจโอบรับความคลุมเครือและลองหลายวิธี
Style นิยาม วิธีที่ agent สื่อสาร สไตล์เชิงเทคนิครวมค่าที่แน่นอนและอ้างอิงไฟล์เฉพาะ สไตล์กระชับตัดสิ่งฟุ่มเฟือยออกและ นำด้วยคำตอบ สไตล์การทูตสร้างสมดุลระหว่างความซื่อสัตย์กับความมีไหวพริบ
agent หนึ่งผสมพื้นฐานเหล่านี้เข้าด้วยกัน:
# architecture-advisor.yaml
identity:
- knowledge-architect
- architect
- strategist
mindset: analytical
style: concise
องค์ประกอบนี้สร้าง agent ที่ออกแบบระบบ (architect), เชื่อมโยงความรู้ข้ามโดเมน (knowledge-architect), กำหนดทิศทางเชิงกลยุทธ์ (strategist), คิดด้วยหลักฐานและข้อมูล (analytical) และสื่อสารโดยไม่มีสิ่งฟุ่มเฟือย (concise)
พลังอยู่ที่การระเบิดเชิงผสมผสาน identity 27 แบบ คูณด้วย mindset 11 แบบ คูณด้วยสไตล์ 10 แบบ ให้บุคลิกภาพ agent ที่เป็นไปได้เกือบ 3,000 แบบ แต่คุณนิยามเฉพาะการผสมที่สำคัญต่องานของคุณเท่านั้น
Skill: โมดูลความสามารถที่นำกลับมาใช้ใหม่ได้
Skill คือความรู้และเวิร์กโฟลว์ที่ agent สามารถเรียกใช้ได้ พวกมันทำตามระบบแบ่งชั้นตามขอบเขต:
| ชั้น | ชื่อ | ขอบเขต | ตัวอย่าง |
|---|---|---|---|
| K0 | Foundations | วิธีการสากล | วินัยแบบ test-first, การเสร็จงานตามหลักฐาน |
| K1 | Identities | เวิร์กโฟลว์ตามบทบาท | มาตรฐานอินเทอร์เฟซ CLI, playbook ประสิทธิภาพ |
| K2 | Domains | ความรู้เฉพาะโดเมน | รูปแบบการย้ายฐานข้อมูล, การตรวจสอบ authentication |
| K3 | Stacks | เฉพาะเทคโนโลยี | การดีพลอย Cloudflare, การทำงานของ Supabase |
| K4 | Project | เฉพาะโค้ดเบสนี้ | เวิร์กโฟลว์และข้อตกลงเฉพาะโปรเจกต์ |
Skill ถูกโหลดแบบเลื่อนเวลา agent เห็นชื่อและคำอธิบายของ skill ตอนเริ่มต้น แต่เนื้อหา skill เต็มรูปแบบจะโหลดเมื่อถูกกระตุ้นเท่านั้น สิ่งนี้ทำให้บริบทกระชับในขณะที่ทำให้ skill หลายร้อยรายการค้นพบได้
แต่ละ skill รวมถึง:
- เงื่อนไขกระตุ้นที่ชัดเจน (“ใช้เมื่อย้ายฐานข้อมูล schema”)
- คำแนะนำทีละขั้นตอน
- เครื่องมือที่อนุญาตสำหรับเวิร์กโฟลว์
- เกณฑ์ความสำเร็จและเส้นทางการกู้คืนความล้มเหลว
skill 466 รายการในรีจิสทรีของเราครอบคลุมทุกอย่างตั้งแต่การแยก git worktree ไปจนถึงเวิร์กโฟลว์การวิจัยเว็บไปจนถึงการตรวจสอบสุขภาพการดีพลอย
เหตุใดออร์เคสเตรชันจึงสำคัญ
สถาปัตยกรรม agent เดี่ยวชนกำแพงอย่างรวดเร็ว:
บริบทเจือจาง หน้าต่างบริบท 200,000 token ฟังดูใหญ่จนกว่าคุณจะโหลด ฐานข้อมูล schema, เอกสาร API, test fixture และความรู้โดเมน ผู้เชี่ยวชาญสามารถทำงานกับบริบทที่เจาะจงได้
คำสั่งขัดแย้งกัน การบอก agent ให้ “ละเอียดถี่ถ้วนแต่รวดเร็ว” และ “ตรวจสอบทุกอย่างแต่อย่าทำเกินความจำเป็น” สร้างความตึงเครียด ผู้เชี่ยวชาญแก้ปัญหานี้ด้วยการมีขอบเขตที่ชัดเจน
ความลึกของความเชี่ยวชาญ agent ผู้รู้ทั่วไปรู้เล็กน้อยเกี่ยวกับทุกเรื่อง agent ผู้เชี่ยวชาญ ที่ประกอบด้วย identity และ skill ที่ถูกต้อง รู้โดเมนของตัวเองอย่างลึกซึ้ง
Orkestra ใช้การออร์เคสเตรชันแบบเรียบ: ออร์เคสเตรเตอร์เดียวประสาน ผู้เชี่ยวชาญหลายตัว ผู้เชี่ยวชาญไม่สามารถสร้างผู้เชี่ยวชาญย่อยได้ สิ่งนี้ป้องกันการระเบิดของความซับซ้อน ในขณะที่ยังเปิดให้ทำงานคู่ขนานได้
ออร์เคสเตรเตอร์เข้าถึงความจุที่มีประสิทธิผลได้ 2.2 ล้าน token: หน้าต่างบริบท 200,000 ของตัวเอง บวกกับเอเจนต์ย่อยคู่ขนาน 10 ตัว ที่มี 200,000 แต่ละตัว งานที่จะทำให้ agent เดี่ยวหมดแรงสามารถรันได้อย่างสบายๆ ทั่วทั้งทีม
Pipeline การเรนเดอร์
คำนิยาม agent อาศัยอยู่ใน YAML Claude Code อ่าน Markdown Orkestra เชื่อมช่องว่างนี้ด้วย pipeline การเรนเดอร์แบบกำหนดแน่นอน:
YAML Registries → Jinja Templates → .claude/agents/*.md
ผู้ควบคุมแก้ไข YAML ต้นทาง รัน orkestra sync Markdown ที่เรนเดอร์แล้วจะปรากฏใน .claude/agents/ Claude Code รับการเปลี่ยนแปลงนั้นไป
การแยกนี้รับใช้ผู้ใช้ที่แตกต่างกัน:
- YAML ต้นทาง รวม metadata วงจรชีวิต, แท็ก, กฎการตรวจสอบ และหมายเหตุการเลิกใช้สำหรับเครื่องมือ
- Markdown ที่เรนเดอร์แล้ว รวมเฉพาะสิ่งที่โมเดลต้องการ: คำอธิบาย, เครื่องมือ, skill และคำแนะนำเชิงพฤติกรรม
pipeline ประกอบ identity, mindset, style และ skill เข้าเป็นพรอมต์เดียวที่สอดคล้องกัน agent แบบ architect-analytical-concise จะได้พรอมต์ระบบที่ต่างจาก agent แบบ debugger-skeptical-technical มาก แม้ว่าพวกมันจะแชร์ skill พื้นฐานบางอย่างร่วมกันก็ตาม
ความรู้โดเมน: รูปแบบสี่ไฟล์
ทุกโดเมนความรู้ทำตามโครงสร้างที่สอดคล้องกัน:
domain-name/
decisions.md # Key choices, rationale, consequences
patterns.md # Step-by-step guidance and examples
anti-patterns.md # Failure modes and remediation
evolution.md # Dated log of changes
โครงสร้างนี้รับใช้การโหลดบริบทของ agent agent ที่ทำงานด้าน authentication โหลด authentication/patterns.md เพื่อคำแนะนำ และ authentication/anti-patterns.md เพื่อหลีกเลี่ยง ข้อผิดพลาดที่รู้จักแล้ว ไฟล์เหล่านี้ถูกกำหนดขนาดให้เหมาะกับการโหลดบริบทอย่างมีประสิทธิภาพ: เจาะจงพอที่จะมีประโยชน์ ครอบคลุมพอที่จะน่าเชื่อถือ
เรารักษาโดเมนระดับบนสุด 21 โดเมน รวมถึงการวิเคราะห์ข้อมูล, authentication, data science, โครงสร้างพื้นฐาน, การเรียนรู้ของเครื่อง, ประสิทธิภาพ, ความปลอดภัย และอื่นๆ แต่ละโดเมนสามารถมีโดเมนย่อยเพื่อความละเอียดที่ลึกกว่าได้
Values: ระบบปฏิบัติการ
agent ทุกตัวแชร์ชั้นค่านิยมพื้นฐานที่นิยามว่าพวกมันทำงานอย่างไร:
ความเรียบง่ายมาก่อน ใช้วิธีแก้ปัญหาที่ง่ายที่สุดที่ใช้ได้ผล เพิ่มความซับซ้อนเฉพาะเมื่อมีเหตุผลรองรับ
แก้ที่ต้นตอ อย่าแพตช์รอบความล้มเหลว ถ้า pipeline ล้มเหลว ดีบัก pipeline ถ้า test ล้มเหลว แก้โค้ดหรือแก้ test
ยึดหลักฐาน ระบุการอ้างว่า “ยืนยันแล้ว” (พร้อม benchmark) หรือ “ประมาณการ” (พร้อมสมมติฐาน) รูปแบบที่ตรวจพบ ไม่เท่ากับปัญหาที่ยืนยันแล้ว
เศรษฐศาสตร์บริบท เครื่องมือ MCP มีต้นทุน 0.1% ของบริบท การอ่านไฟล์มีต้นทุน 2% ต่อครั้ง ใช้ความเชี่ยวชาญโดเมนก่อนสำรวจโค้ด
ค่านิยมเหล่านี้ถูกถ่ายทอดไปยังผู้เชี่ยวชาญทุกตัวผ่าน pipeline การเรนเดอร์ agent ไม่สามารถหลีกเลี่ยงมันได้ด้วยการประกอบ
CLI: ชั้นควบคุม
Orkestra มาพร้อม CLI สำหรับจัดการระบบนิเวศ agent:
# Discovery
orkestra agents search "database"
orkestra agents info database-architect
# Validation
orkestra validate --show-warnings
# Rendering
orkestra sync --dry-run
orkestra sync
# Skills
orkestra skills list
orkestra skills info schema-migration-workflow
# Decisions
orkestra decisions search "authentication"
CLI คือแหล่งความจริงว่า agent อะไรมีอยู่ พวกมันมี skill อะไร และระบบสุขภาพดีหรือไม่ มันรันการตรวจสอบก่อนซิงค์เพื่อจับปัญหาแต่เนิ่นๆ
ข้อพิจารณาด้าน Open Source
เราสร้าง Orkestra เพื่อแก้ปัญหาของเราเอง: การประสาน AI agent ในระดับใหญ่สำหรับโค้ดเบสที่ซับซ้อน รูปแบบที่เราค้นพบไม่ได้เจาะจง แค่โดเมนของเรา
ระบบประกอบตัวละคร (identity + mindset + style) ใช้ได้กับทีมใดก็ตามที่นิยามบุคลิกภาพ agent
ระบบชั้น skill (K0-K4) มอบโมเดลทางความคิดสำหรับจัดระเบียบความสามารถที่นำกลับมาใช้ใหม่ได้ตามขอบเขต
รูปแบบ pipeline การเรนเดอร์ (YAML ต้นทาง + เทมเพลต + สิ่งประดิษฐ์ที่สร้างขึ้น) แยกความรับผิดชอบระหว่างเครื่องมือกับการบริโภคของโมเดล
โมเดลออร์เคสเตรชันแบบเรียบ (ผู้ประสานหนึ่งตัว ผู้เชี่ยวชาญหลายตัว) หลีกเลี่ยงความซับซ้อนในขณะที่เปิดให้ทำงานคู่ขนานได้
Orkestra จะกลายเป็น open source หรือไม่ขึ้นอยู่กับว่ารูปแบบเหล่านี้มีคุณค่าสำหรับคนอื่นที่สร้างด้วย Claude Code หรือไม่ หากคุณกำลังชนกำแพงที่เราอธิบาย สถาปัตยกรรมนี้อาจช่วยได้
สิ่งที่เราเรียนรู้
การสร้าง Orkestra สอนเราว่าออร์เคสเตรชันไม่ใช่เรื่องของการทำให้ agent ฉลาดขึ้น มันคือการทำให้พวกมันโฟกัสมากขึ้น
agent เดี่ยวที่มีคำสั่งสมบูรณ์แบบก็ยังหมดบริบทได้ agent เดี่ยวที่มี skill ทั้งหมดก็ยังสับสนว่าจะใช้อันไหน agent เดี่ยวที่พยายามเป็นทุกอย่าง สร้างผลลัพธ์ปานกลางในทุกที่
ผู้เชี่ยวชาญสี่สิบคน แต่ละคนเก่งในโดเมนของตัวเอง ประสานโดยออร์เคสเตรเตอร์ที่รู้ว่าเมื่อไหร่ควรมอบหมาย: นั่นคือวิธีที่เราส่งมอบงาน
ตัวเลขสำคัญน้อยกว่าสถาปัตยกรรม คุณอาจต้องการ agent ห้าตัวหรือห้าสิบตัว หลักการยังคงเดิม: การประกอบเหนือความสามารถ ความเชี่ยวชาญเฉพาะทางเหนือความเป็นผู้รู้ทั่วไป การประสานงานเหนือความกล้าหาญเดี่ยว
Orkestra ขับเคลื่อนระบบนิเวศ agent เบื้องหลัง Maguyva แพลตฟอร์ม code intelligence ของเรา อยากเรียนรู้เพิ่มเติมไหม ติดต่อทีมของเรา
อ่านเพิ่มเติมที่เกี่ยวข้อง
เนื้อหาอื่นๆ จากบันทึกการพัฒนา Maguyva
เหตุใดเราจึงอัปเกรดการค้นหาโค้ดเป็น voyage-4-large_
เราย้ายเอ็มเบดดิ้งโค้ดของเราไปที่ voyage-4-large — ปัจจุบันอยู่อันดับหนึ่งของตารางอันดับการค้นคืนโค้ด RTEB สาธารณะ ฉบับตรงไปตรงมา: การแลกเปลี่ยนที่เรายอมรับ สิ่งที่เราทำดัชนีจริง และเหตุผลที่เราจ่ายเงินเพื่อเอ็มเบดดิ้งระดับพรีเมียม
การพัฒนาตนเองเชิงเวียนซ้ำของภาษา: กรินด์ Code Intelligence ครอบคลุมเกือบ 280 ภาษา_
เรารองรับ code intelligence สำหรับเกือบ 280 ภาษา ไม่มีมนุษย์คนไหนตรวจสอบด้วยมือได้ทั้งหมดนั้น เราจึงสร้างลูปการพัฒนาตนเองเชิงเวียนซ้ำของภาษา — สุ่มตรวจ ใช้ LLM เป็นผู้ตัดสิน แก้ไขทีละจุด ตรวจสอบซ้ำ — และรันมันด้วยทีม agent ที่แยกจากกันจนกว่าการแตกโครงสร้างจะถูกต้องจริง ไม่ใช่แค่เขียวผ่าน
ค้นหาแบบผสานหลายโหมด: เลือกตัวค้นคืนที่ใช่สำหรับทุกคำค้น_
คำค้นอย่าง 'parseConfig ถูกนิยามที่ไหน' ต้องการการค้นหาที่ต่างจาก 'auth ทำงานอย่างไร' Maguyva จำแนกเจตนา ให้น้ำหนักทั้งสี่รูปแบบการค้นคืนตามนั้น แล้วรวมผลลัพธ์ด้วย weighted Reciprocal Rank Fusion