Orkestra: Điều phối AI agent ở quy mô lớn
> Một orchestrator định tuyến công việc đến các AI agent chuyên biệt, mỗi agent có kỹ năng và bộ nhớ riêng. Cách Orkestra điều phối 46 agent và 466 skill trong môi trường production.
Các con số trong bài này phản ánh hệ thống tại thời điểm xuất bản (tháng 1/2026). Xem trang team của chúng tôi để biết số liệu hiện tại.
Khi chúng tôi bắt đầu xây dựng với Claude Code, chúng tôi gặp phải một vấn đề mà mọi đội dùng trợ lý lập trình AI cuối cùng đều gặp phải: một agent đơn lẻ không thể làm tốt mọi thứ.
Bạn có thể prompt một agent để nó trở thành chuyên gia database. Hoặc một kiểm toán viên bảo mật. Hoặc một kỹ sư frontend. Nhưng ngay khi bạn yêu cầu nó làm cả ba việc cùng lúc, chất lượng sẽ giảm sút. Ngữ cảnh bị pha loãng. Các chỉ dẫn mâu thuẫn nhau. Agent trở thành một người làm được mọi thứ nhưng chỉ ở mức tầm thường.
Vì vậy chúng tôi đã xây dựng Orkestra.
Orkestra là gì?
Orkestra là một hệ thống điều phối agent dành cho Claude Code và các công cụ lập trình AI tương tự. Nó điều phối nhiều agent chuyên biệt, mỗi agent có chuyên môn riêng, dưới một orchestrator duy nhất định tuyến công việc đến đúng chuyên gia.
Hãy hình dung nó như một công ty cung ứng nhân sự cho AI agent. Orchestrator nhận một tác vụ, xác định chuyên gia nào nên xử lý nó, và ủy quyền kèm đúng ngữ cảnh. Khi công việc hoàn tất, kết quả chảy trở lại orchestrator để tổng hợp.
Các con số nói lên tất cả:
| Thành phần | Số lượng |
|---|---|
| Agent chuyên biệt | 46 |
| Skill có thể tái sử dụng | 466 |
| Nguyên mẫu định danh (identity archetype) | 27 |
| Mindset | 11 |
| Phong cách giao tiếp | 10 |
| Domain tri thức | 21 |
Hệ thống nhân vật: D&D dành cho Agent
Insight cốt lõi đằng sau Orkestra là hành vi của agent nổi lên từ ba thành phần cơ bản có thể kết hợp:
Identity (Định danh) định nghĩa agent là gì. Một architect thiết kế cấu trúc hệ thống. Một debugger truy vết lỗi về tận gốc rễ. Một guardian thực thi tuân thủ và ranh giới bảo mật. Chúng tôi có 27 nguyên mẫu định danh có thể pha trộn.
Mindset định nghĩa agent suy nghĩ như thế nào. Một mindset phân tích neo các khẳng định vào bằng chứng và định lượng sự bất định. Một mindset hoài nghi đặt câu hỏi về các giả định và tìm kiếm bằng chứng phản bác. Một mindset khám phá chấp nhận sự mơ hồ và thử nhiều cách tiếp cận.
Style (Phong cách) định nghĩa agent giao tiếp như thế nào. Một phong cách kỹ thuật bao gồm các giá trị chính xác và tham chiếu đến các file cụ thể. Một phong cách súc tích cắt bỏ lời thừa và đi thẳng vào câu trả lời. Một phong cách ngoại giao cân bằng giữa sự thành thật và sự khéo léo.
Một agent kết hợp các thành phần này:
# architecture-advisor.yaml
identity:
- knowledge-architect
- architect
- strategist
mindset: analytical
style: concise
Sự kết hợp này tạo ra một agent thiết kế hệ thống (architect), kết nối tri thức xuyên các domain (knowledge-architect), đặt ra định hướng chiến lược (strategist), suy nghĩ dựa trên bằng chứng và dữ liệu (analytical), và giao tiếp không lời thừa (concise).
Sức mạnh nằm ở sự bùng nổ tổ hợp. 27 identity nhân với 11 mindset nhân với 10 style cho ra gần 3.000 tính cách agent khả dĩ. Nhưng bạn chỉ cần định nghĩa những tổ hợp thực sự quan trọng cho công việc của mình.
Skill: Các module năng lực có thể tái sử dụng
Skill là tri thức và quy trình mà agent có thể gọi đến. Chúng tuân theo một hệ thống phân tầng dựa trên phạm vi:
| Tầng | Tên | Phạm vi | Ví dụ |
|---|---|---|---|
| K0 | Foundations | Phương pháp luận phổ quát | Kỷ luật test-first, hoàn thành dựa trên bằng chứng |
| K1 | Identities | Quy trình theo vai trò | Tiêu chuẩn giao diện CLI, playbook hiệu năng |
| K2 | Domains | Tri thức đặc thù domain | Mẫu di trú database, xác thực authentication |
| K3 | Stacks | Đặc thù công nghệ | Triển khai Cloudflare, vận hành Supabase |
| K4 | Project | Chỉ riêng codebase này | Quy trình và quy ước đặc thù dự án |
Skill được nạp theo kiểu lười (lazy-loaded). Một agent thấy tên và mô tả skill lúc khởi động, nhưng toàn bộ nội dung skill chỉ được nạp khi được kích hoạt. Điều này giữ ngữ cảnh gọn nhẹ trong khi vẫn cho phép hàng trăm skill có thể được khám phá.
Mỗi skill bao gồm:
- Điều kiện kích hoạt rõ ràng (“Dùng khi di trú schema database”)
- Hướng dẫn từng bước
- Các công cụ được phép cho quy trình
- Tiêu chí thành công và các đường khôi phục khi thất bại
466 skill trong registry của chúng tôi bao phủ mọi thứ từ cách ly worktree git đến các quy trình nghiên cứu web cho đến xác thực sức khỏe triển khai.
Vì sao điều phối quan trọng
Kiến trúc agent đơn lẻ nhanh chóng đụng tường:
Pha loãng ngữ cảnh. Một cửa sổ ngữ cảnh 200k token nghe có vẻ lớn cho đến khi bạn nạp schema database, tài liệu API, fixture test, và tri thức domain. Các chuyên gia có thể làm việc với ngữ cảnh nhắm mục tiêu.
Chỉ dẫn mâu thuẫn. Bảo một agent “kỹ lưỡng nhưng nhanh” và “xác minh mọi thứ nhưng đừng thiết kế quá mức” tạo ra căng thẳng. Các chuyên gia giải quyết điều này bằng cách có phạm vi rõ ràng.
Chiều sâu chuyên môn. Một agent tổng quát biết một chút về mọi thứ. Một agent chuyên biệt, được cấu thành với đúng identity và skill, hiểu sâu domain của nó.
Orkestra triển khai điều phối phẳng: một orchestrator điều phối nhiều chuyên gia. Các chuyên gia không thể sinh ra các chuyên gia con. Điều này ngăn chặn sự bùng nổ độ phức tạp trong khi vẫn cho phép làm việc song song.
Orchestrator có quyền truy cập vào 2,2 triệu token dung lượng hiệu dụng: cửa sổ 200k của riêng nó cộng với 10 subagent đồng thời, mỗi subagent 200k. Công việc có thể làm cạn kiệt một agent đơn lẻ chạy thoải mái trên toàn bộ đội quân.
Pipeline Render
Các định nghĩa agent sống trong YAML. Claude Code đọc Markdown. Orkestra bắc cầu qua khoảng trống này bằng một pipeline render mang tính tất định:
YAML Registries → Jinja Templates → .claude/agents/*.md
Người vận hành chỉnh sửa mã nguồn YAML. Chạy orkestra sync. Markdown đã render xuất hiện trong .claude/agents/. Claude Code tiếp nhận các thay đổi.
Sự tách biệt này phục vụ các đối tượng khác nhau:
- Mã nguồn YAML bao gồm metadata vòng đời, tag, quy tắc xác thực, và ghi chú lỗi thời cho công cụ
- Markdown đã render chỉ bao gồm những gì mô hình cần: mô tả, công cụ, skill, và hướng dẫn hành vi
Pipeline này ghép identity, mindset, style, và skill thành một prompt mạch lạc duy nhất. Một agent architect-analytical-concise nhận được một system prompt rất khác so với một agent debugger-skeptical-technical, ngay cả khi chúng chia sẻ một số skill nền tảng.
Tri thức Domain: Mẫu bốn file
Mỗi domain tri thức tuân theo một cấu trúc nhất quán:
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
Cấu trúc này phục vụ việc nạp ngữ cảnh của agent. Một agent làm việc về authentication nạp authentication/patterns.md để lấy hướng dẫn và authentication/anti-patterns.md để tránh những cạm bẫy đã biết. Các file được định cỡ để nạp ngữ cảnh hiệu quả: đủ tập trung để hữu ích, đủ toàn diện để có thẩm quyền.
Chúng tôi duy trì 21 domain cấp cao nhất bao gồm phân tích, authentication, khoa học dữ liệu, hạ tầng, machine learning, hiệu năng, bảo mật, và nhiều hơn nữa. Mỗi domain có thể có các sub-domain để phân chia chi tiết hơn.
Giá trị: Hệ điều hành
Mọi agent đều chia sẻ một tầng giá trị nền tảng định nghĩa cách chúng vận hành:
Đơn giản trước tiên. Dùng giải pháp đơn giản nhất còn hoạt động được. Chỉ thêm độ phức tạp khi có lý do chính đáng.
Sửa nguyên nhân gốc rễ. Không bao giờ vá quanh các thất bại. Nếu một pipeline lỗi, hãy debug pipeline. Nếu một test lỗi, hãy sửa mã hoặc sửa test.
Dựa trên bằng chứng. Gắn nhãn các khẳng định là “đã xác minh” (kèm benchmark) hoặc “ước tính” (kèm giả định). Phát hiện một mẫu không đồng nghĩa với xác nhận một vấn đề.
Kinh tế học ngữ cảnh. Công cụ MCP tốn 0,1% ngữ cảnh. Mỗi lượt đọc file tốn 2%. Áp dụng chuyên môn domain trước khi khám phá mã.
Những giá trị này lan tỏa đến mọi chuyên gia thông qua pipeline render. Một agent không thể bỏ qua chúng bằng cách cấu thành khác đi.
CLI: Mặt phẳng điều khiển
Orkestra đi kèm một CLI để quản lý hệ sinh thái 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 là nguồn chân lý duy nhất cho việc những agent nào tồn tại, chúng có những skill nào, và liệu hệ thống có khỏe mạnh hay không. Nó chạy xác thực trước khi đồng bộ để bắt lỗi sớm.
Cân nhắc về mã nguồn mở
Chúng tôi xây dựng Orkestra để giải quyết vấn đề của chính mình: điều phối AI agent ở quy mô lớn cho một codebase phức tạp. Các mẫu chúng tôi khám phá ra không đặc thù riêng cho domain của chúng tôi.
Hệ thống cấu thành nhân vật (identity + mindset + style) áp dụng được cho bất kỳ đội nào định nghĩa tính cách agent.
Hệ thống tầng skill (K0-K4) cung cấp một mô hình tư duy để tổ chức các năng lực có thể tái sử dụng theo phạm vi.
Mẫu pipeline render (mã nguồn YAML + template + tài sản đã sinh) tách biệt các mối quan tâm giữa công cụ và việc mô hình tiêu thụ.
Mô hình điều phối phẳng (một điều phối viên, nhiều chuyên gia) tránh được độ phức tạp trong khi vẫn cho phép song song hóa.
Liệu Orkestra có trở thành mã nguồn mở hay không phụ thuộc vào việc những mẫu này có giá trị cho những người khác đang xây dựng với Claude Code hay không. Nếu bạn đang đụng phải những bức tường chúng tôi đã mô tả, kiến trúc này có thể giúp ích.
Những gì chúng tôi đã học được
Xây dựng Orkestra dạy chúng tôi rằng điều phối không phải là làm cho agent thông minh hơn. Đó là làm cho chúng tập trung hơn.
Một agent đơn lẻ với chỉ dẫn hoàn hảo vẫn cạn ngữ cảnh. Một agent đơn lẻ với tất cả các skill vẫn bối rối về việc nên áp dụng cái nào. Một agent đơn lẻ cố gắng làm mọi thứ tạo ra kết quả tầm thường ở mọi nơi.
Bốn mươi chuyên gia, mỗi người xuất sắc trong domain của mình, được điều phối bởi một orchestrator biết khi nào nên ủy quyền: đó là cách chúng tôi lên sóng.
Các con số ít quan trọng hơn kiến trúc. Bạn có thể cần năm agent hoặc năm mươi agent. Nguyên tắc vẫn giữ nguyên: cấu thành hơn là năng lực đơn lẻ, chuyên môn hóa hơn là tổng quát hóa, điều phối hơn là chủ nghĩa anh hùng cá nhân.
Orkestra vận hành hệ sinh thái agent đằng sau Maguyva, nền tảng trí tuệ mã nguồn của chúng tôi. Muốn tìm hiểu thêm? Hãy liên hệ với đội của chúng tôi.
Đọc thêm liên quan
Thêm từ nhật ký xây dựng Maguyva
Vì sao chúng tôi nâng cấp tìm kiếm mã nguồn lên voyage-4-large_
Chúng tôi chuyển embedding mã nguồn sang voyage-4-large — hiện đang dẫn đầu bảng xếp hạng công khai RTEB cho truy xuất mã nguồn. Phiên bản thành thật: sự đánh đổi chúng tôi chấp nhận, những gì chúng tôi thực sự lập chỉ mục, và vì sao chúng tôi trả tiền cho embedding cao cấp.
Tự cải thiện đệ quy theo ngôn ngữ: Mài giũa trí tuệ mã nguồn trên khoảng 280 ngôn ngữ_
Chúng tôi hỗ trợ trí tuệ mã nguồn cho khoảng 280 ngôn ngữ. Không con người nào có thể tự tay rà soát hết được. Vì vậy chúng tôi xây dựng một vòng lặp tự cải thiện đệ quy theo ngôn ngữ — kiểm tra ngẫu nhiên, dùng LLM làm giám khảo, sửa từng thứ một, xác thực lại — và chạy nó với một đội quân agent cách ly cho đến khi việc trích xuất thực sự đúng, chứ không chỉ xanh (green).
Tìm kiếm hợp nhất đa phương thức: Chọn đúng bộ truy xuất cho mọi truy vấn_
Một truy vấn như 'parseConfig được định nghĩa ở đâu' cần một kiểu tìm kiếm khác với 'auth hoạt động như thế nào'. Maguyva phân loại ý định, gán trọng số cho bốn phương thức truy xuất tương ứng, và hợp nhất kết quả bằng Reciprocal Rank Fusion có trọng số.