Chuyển tới nội dung
cd /blog

Orkestra: Điều phối AI agent ở quy mô lớn

[Kiến trúc][Mã nguồn mở]

> 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

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).

[Kiến trúc][Ngôn ngữ][Tác nhân]