Orkestra: Mengorkestrasi Ejen AI Pada Skala Besar
> Satu orchestrator menghalakan kerja kepada ejen AI khusus, setiap satu dengan skill dan memori yang berbeza. Bagaimana Orkestra menyelaraskan 46 ejen dan 466 skill dalam pengeluaran.
Angka dalam penulisan ini mencerminkan sistem pada masa penerbitan (Januari 2026). Lihat halaman pasukan kami untuk angka terkini.
Apabila kami mula membina dengan Claude Code, kami bertembung dengan satu masalah yang akhirnya dihadapi oleh setiap pasukan yang menggunakan pembantu pengekodan AI: satu ejen sahaja tidak dapat melakukan segala-galanya dengan baik.
Anda boleh meminta ejen menjadi pakar pangkalan data. Atau juruaudit keselamatan. Atau jurutera frontend. Tetapi sebaik sahaja anda memintanya menjadi ketiga-tiganya serentak, kualiti terjejas. Konteks menjadi cair. Arahan bercanggah. Ejen itu menjadi generalis yang sederhana dalam segala-galanya.
Jadi kami membina Orkestra.
Apakah itu Orkestra?
Orkestra adalah sistem orkestrasi ejen untuk Claude Code dan alatan pengekodan AI yang serupa. Ia menyelaraskan pelbagai ejen khusus, setiap satu dengan kepakaran yang berbeza, di bawah satu orchestrator yang menghalakan kerja kepada spesialis yang tepat.
Bayangkannya sebagai satu agensi pengambilan kakitangan untuk ejen AI. Orchestrator itu menerima satu tugas, mengenal pasti spesialis mana yang patut mengendalikannya, dan mewakilkan tugas itu dengan konteks yang tepat. Apabila kerja itu selesai, hasilnya mengalir semula kepada orchestrator untuk disintesis.
Angka-angka itu menceritakan kisahnya:
| Komponen | Bilangan |
|---|---|
| Ejen spesialis | 46 |
| Skill boleh guna semula | 466 |
| Arketaip identiti | 27 |
| Mindset | 11 |
| Gaya komunikasi | 10 |
| Domain pengetahuan | 21 |
Sistem Karakter: D&D untuk Ejen
Pandangan teras di sebalik Orkestra ialah gelagat ejen muncul daripada tiga primitif yang boleh digubah bersama:
Identity mentakrifkan apa ejen itu. Seorang architect mereka bentuk struktur sistem. Seorang debugger menjejaki kegagalan kepada punca akarnya. Seorang guardian menguatkuasakan pematuhan dan sempadan keselamatan. Kami mempunyai 27 arketaip identiti yang boleh dicampur.
Mindset mentakrifkan bagaimana ejen berfikir. Satu mindset analytical mengasaskan dakwaan pada bukti dan mengkuantifikasikan ketidakpastian. Satu mindset skeptical mempersoalkan andaian dan mencari bukti yang menyangkal. Satu mindset exploratory merangkul kekaburan dan mencuba pelbagai pendekatan.
Style mentakrifkan bagaimana ejen berkomunikasi. Satu style technical merangkumi nilai tepat dan merujuk fail khusus. Satu style concise membuang bahasa berbunga dan memulakan dengan jawapan. Satu style diplomatic mengimbangi kejujuran dengan diplomasi.
Seorang ejen menggabungkan primitif-primitif ini:
# architecture-advisor.yaml
identity:
- knowledge-architect
- architect
- strategist
mindset: analytical
style: concise
Komposisi ini mencipta seorang ejen yang mereka bentuk sistem (architect), menghubungkan pengetahuan merentasi domain (knowledge-architect), menetapkan hala tuju strategik (strategist), berfikir menerusi bukti dan data (analytical), dan berkomunikasi tanpa bahasa berbunga (concise).
Kekuatannya terletak pada letupan gabungan (combinatorial explosion). 27 identity darab 11 mindset darab 10 style menghasilkan hampir 3,000 personaliti ejen yang mungkin. Tetapi anda hanya mentakrifkan gabungan yang penting untuk kerja anda.
Skill: Modul Keupayaan Boleh Guna Semula
Skill adalah pengetahuan dan aliran kerja yang boleh dipanggil oleh ejen. Ia mengikuti satu sistem bertingkat berasaskan skop:
| Tier | Nama | Skop | Contoh |
|---|---|---|---|
| K0 | Foundations | Metodologi universal | Disiplin test-first, penyempurnaan berasaskan bukti |
| K1 | Identities | Aliran kerja berasaskan peranan | Piawaian antara muka CLI, playbook prestasi |
| K2 | Domains | Pengetahuan khusus domain | Corak migrasi pangkalan data, pengesahan pengesahihan (authentication) |
| K3 | Stacks | Khusus teknologi | Deployment Cloudflare, operasi Supabase |
| K4 | Project | Pangkalan kod ini sahaja | Aliran kerja dan konvensyen khusus projek |
Skill dimuatkan secara lazy-loaded. Seorang ejen melihat nama dan penerangan skill semasa permulaan, tetapi kandungan skill penuh hanya dimuatkan apabila dicetuskan. Ini mengekalkan konteks ramping sambil menjadikan beratus-ratus skill boleh ditemui.
Setiap skill merangkumi:
- Syarat pencetus yang jelas (“Gunakan apabila memigrasi skema pangkalan data”)
- Panduan langkah demi langkah
- Tool yang dibenarkan untuk aliran kerja itu
- Kriteria kejayaan dan laluan pemulihan kegagalan
466 skill dalam registri kami merangkumi segala-galanya daripada pengasingan git worktree kepada aliran kerja penyelidikan web kepada pengesahan kesihatan deployment.
Mengapa Orkestrasi Penting
Seni bina ejen tunggal cepat bertembung dengan dinding:
Pencairan konteks. Tetingkap konteks 200k token kedengaran besar sehinggalah anda memuatkan skema pangkalan data, dokumentasi API, fixture ujian, dan pengetahuan domain. Spesialis boleh bekerja dengan konteks yang bersasar.
Percanggahan arahan. Memberitahu seorang ejen untuk “teliti tetapi pantas” dan “sahkan segala-galanya tetapi jangan over-engineer” mencipta ketegangan. Spesialis menyelesaikan ini dengan mempunyai skop yang jelas.
Kedalaman kepakaran. Seorang ejen generalis tahu sedikit tentang segala-galanya. Seorang ejen spesialis, digubah dengan identity dan skill yang tepat, mengetahui domainnya secara mendalam.
Orkestra melaksanakan orkestrasi rata (flat orchestration): satu orchestrator menyelaraskan pelbagai spesialis. Spesialis tidak boleh melahirkan sub-spesialis. Ini menghalang letupan kerumitan sambil membolehkan kerja selari.
Orchestrator itu mempunyai akses kepada 2.2 juta token kapasiti efektif: tetingkapnya sendiri 200k ditambah 10 subagent serentak dengan 200k setiap satu. Kerja yang akan menghabiskan satu ejen sahaja berjalan dengan selesa merentasi pasukan itu.
Pipeline Rendering
Takrifan ejen hidup dalam YAML. Claude Code membaca Markdown. Orkestra merapatkan jurang ini dengan satu pipeline rendering yang deterministik:
YAML Registries → Jinja Templates → .claude/agents/*.md
Operator menyunting sumber YAML. Jalankan orkestra sync. Markdown yang dirender muncul dalam .claude/agents/. Claude Code mengambil perubahan itu.
Pemisahan ini berkhidmat untuk khalayak yang berbeza:
- Sumber YAML merangkumi metadata lifecycle, tag, peraturan pengesahan, dan nota deprecation untuk tooling
- Markdown yang dirender hanya merangkumi apa yang diperlukan oleh model: penerangan, tool, skill, dan panduan gelagat
Pipeline itu menggubah identity, mindset, style, dan skill menjadi satu prompt yang koheren. Seorang ejen architect-analytical-concise mendapat prompt sistem yang sangat berbeza daripada seorang ejen debugger-skeptical-technical, walaupun mereka berkongsi sesetengah skill yang mendasari.
Pengetahuan Domain: Corak Empat Fail
Setiap domain pengetahuan mengikuti struktur yang konsisten:
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
Struktur ini berkhidmat untuk pemuatan konteks ejen. Seorang ejen yang bekerja pada authentication memuatkan authentication/patterns.md untuk panduan dan authentication/anti-patterns.md untuk mengelakkan perangkap yang diketahui. Fail-fail itu bersaiz untuk pemuatan konteks yang cekap: cukup fokus untuk berguna, cukup komprehensif untuk berautoriti.
Kami menyenggara 21 domain peringkat atas termasuk analitik, authentication, data science, infrastruktur, pembelajaran mesin, prestasi, keselamatan, dan banyak lagi. Setiap domain boleh mempunyai sub-domain untuk granulariti yang lebih halus.
Values: Sistem Operasi
Semua ejen berkongsi satu lapisan asas values yang mentakrifkan bagaimana mereka beroperasi:
Kesederhanaan dahulu. Gunakan penyelesaian paling ringkas yang berfungsi. Tambah kerumitan hanya apabila wajar.
Baiki punca akar. Jangan sesekali menampal sekeliling kegagalan. Jika pipeline gagal, nyahpepijat pipeline itu. Jika ujian gagal, baiki kod atau ujian itu.
Berasaskan bukti. Labelkan dakwaan sebagai “disahkan” (dengan penanda aras) atau “dianggarkan” (dengan andaian). Corak yang dikesan tidak sama dengan masalah yang disahkan.
Ekonomi konteks. Tool MCP menelan kos 0.1% konteks. Bacaan fail menelan kos 2% setiap satu. Gunakan kepakaran domain sebelum meneroka kod.
Values ini merambat kepada setiap spesialis menerusi pipeline rendering. Seorang ejen tidak boleh memintasnya menerusi komposisi.
CLI: Satah Kawalan
Orkestra dikeluarkan dengan satu CLI untuk menguruskan ekosistem ejen:
# 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 itu adalah sumber kebenaran untuk ejen apa yang wujud, skill apa yang mereka ada, dan sama ada sistem itu sihat. Ia menjalankan pengesahan sebelum segerak (sync) untuk menangkap masalah lebih awal.
Pertimbangan Sumber Terbuka
Kami membina Orkestra untuk menyelesaikan masalah kami sendiri: menyelaraskan ejen AI pada skala besar untuk pangkalan kod yang kompleks. Corak yang kami temui bukan khusus untuk domain kami sahaja.
Sistem komposisi karakter (identity + mindset + style) terpakai kepada mana-mana pasukan yang mentakrifkan personaliti ejen.
Sistem tier skill (K0-K4) menyediakan satu model mental untuk menyusun keupayaan boleh guna semula mengikut skop.
Corak pipeline rendering (sumber YAML + templat + artifak yang dijana) memisahkan kebimbangan antara tooling dan penggunaan model.
Model orkestrasi rata (satu koordinator, ramai spesialis) mengelakkan kerumitan sambil membolehkan paralelisme.
Sama ada Orkestra menjadi sumber terbuka bergantung kepada sama ada corak-corak ini bernilai untuk orang lain yang membina dengan Claude Code. Jika anda bertembung dengan dinding yang kami gambarkan, seni bina ini mungkin membantu.
Apa Yang Kami Pelajari
Membina Orkestra mengajar kami bahawa orkestrasi bukan tentang menjadikan ejen lebih bijak. Ia adalah tentang menjadikan mereka lebih fokus.
Satu ejen sahaja dengan arahan yang sempurna masih kehabisan konteks. Satu ejen sahaja dengan semua skill masih keliru tentang yang mana hendak digunakan. Satu ejen sahaja yang cuba menjadi segala-galanya menghasilkan hasil yang sederhana di mana-mana.
Empat puluh spesialis, setiap satu cemerlang dalam domain mereka, diselaraskan oleh satu orchestrator yang tahu bila hendak mewakilkan tugas: itulah cara kami mengeluarkan produk.
Angka-angka itu kurang penting berbanding seni bina. Anda mungkin memerlukan lima ejen atau lima puluh. Prinsipnya kekal: komposisi mengatasi keupayaan, pengkhususan mengatasi generalisasi, penyelarasan mengatasi kepahlawanan individu.
Orkestra menggerakkan ekosistem ejen di sebalik Maguyva, platform code intelligence kami. Mahu tahu lebih lanjut? Hubungi pasukan kami.
Bacaan berkaitan
Lagi daripada log pembinaan Maguyva
Mengapa Kami Menaik Taraf Carian Kod kepada voyage-4-large_
Kami mengalihkan embeddings kod kami kepada voyage-4-large — kini berada di puncak leaderboard pengambilan kod RTEB awam. Versi jujurnya: trade yang kami buat, apa yang benar-benar kami indeks, dan mengapa kami membayar untuk embeddings premium.
Penambahbaikan Kendiri Rekursif Bahasa: Menggilap Code Intelligence Merentasi ~280 Bahasa_
Kami menyokong code intelligence untuk ~280 bahasa. Tiada manusia yang mampu mengaudit itu secara manual. Jadi kami membina gelung penambahbaikan kendiri rekursif bahasa — semak rawak, LLM-sebagai-hakim, baiki satu perkara, sahkan semula — dan menjalankannya dengan sepasukan ejen terasing sehingga pengekstrakan benar-benar betul, bukan sekadar hijau.
Carian Fusion Pelbagai-Modal: Memilih Retriever Yang Tepat Untuk Setiap Pertanyaan_
Pertanyaan seperti 'di mana parseConfig ditakrifkan' mahukan carian yang berbeza daripada 'bagaimana auth berfungsi'. Maguyva mengklasifikasikan niat, memberi pemberat kepada empat modaliti pengambilan mengikutnya, dan menggabungkan hasil dengan Reciprocal Rank Fusion berpemberat.