Điều phối đa agent
Những điều bạn cần biết
Điều phối đa agent (multi-agent orchestration) là cách bạn xây dựng các hệ thống trong đó nhiều agent Claude phối hợp làm việc trên các nhiệm vụ phức tạp. Kiến trúc này không phải là tùy chọn hay linh hoạt — kỳ thi kiểm tra một mẫu cụ thể: hub-and-spoke với một coordinator ở trung tâm.
Kiến Trúc Hub-and-Spoke
Kiến trúc này có hai vai trò:
- Coordinator agent: nằm ở trung tâm. Nhận nhiệm vụ ban đầu, phân rã nó, quyết định subagent nào cần gọi, truyền ngữ cảnh cho chúng, tổng hợp kết quả của chúng, xử lý lỗi, và điều phối thông tin giữa chúng.
- Subagent: các nhánh (spoke). Mỗi subagent xử lý một nhiệm vụ chuyên biệt (tìm kiếm web, phân tích tài liệu, tổng hợp, tạo báo cáo). Chúng nhận chỉ thị từ coordinator và trả kết quả về cho coordinator.
Quy tắc cốt lõi: MỌI giao tiếp đều đi qua coordinator. Các subagent không bao giờ giao tiếp trực tiếp với nhau. Không bao giờ. Không phải vì hiệu suất, không phải vì tiện lợi, không vì bất kỳ lý do gì. Mọi thông tin di chuyển giữa các subagent đều phải đi qua coordinator.
Việc tập trung hóa này mang lại ba điều mà kỳ thi quan tâm:
- Khả năng quan sát (observability) — bạn có thể ghi log và giám sát mọi tin nhắn tại một nơi duy nhất.
- Xử lý lỗi nhất quán — coordinator áp dụng các chính sách khôi phục lỗi thống nhất.
- Luồng thông tin có kiểm soát — coordinator quyết định ngữ cảnh nào mỗi subagent nhận được.
Khái niệm chính
Mọi giao tiếp giữa các subagent đều đi qua coordinator. Các subagent không bao giờ giao tiếp trực tiếp với nhau. Đây là ràng buộc kiến trúc nền tảng của điều phối hub-and-spoke.
Nguyên Tắc Cô Lập Then Chốt
Đây là khái niệm bị hiểu sai phổ biến nhất trong các hệ thống đa agent, và kỳ thi khai thác sự hiểu sai này rất nhiều.
Subagent KHÔNG tự động thừa hưởng lịch sử hội thoại của coordinator. Khi coordinator sinh ra một subagent, subagent đó chỉ bắt đầu với những gì coordinator đưa vào một cách rõ ràng trong prompt của nó. Nó không có quyền truy cập vào:
- System prompt của coordinator (trừ khi được đưa vào rõ ràng)
- Các tin nhắn trước đó trong hội thoại của coordinator
- Kết quả từ các subagent khác (trừ khi coordinator truyền chúng)
- Bất kỳ "bộ nhớ dùng chung" hay trạng thái toàn cục nào
Subagent KHÔNG chia sẻ bộ nhớ giữa các lần gọi. Nếu coordinator gọi subagent tìm kiếm web hai lần, lần gọi thứ hai không có kiến thức gì về lần thứ nhất. Mỗi lần gọi đều độc lập.
Điều này có nghĩa là coordinator phải có chủ đích rõ ràng về ngữ cảnh. Mọi thông tin mà một subagent cần phải được đưa vào rõ ràng trong prompt của nó. Nếu agent tổng hợp cần kết quả tìm kiếm web, coordinator phải truyền những kết quả đó một cách rõ ràng — agent tổng hợp không thể "tra cứu" chúng từ một kho lưu trữ dùng chung.
Bẫy thi: Exam Trap
Khi một hệ thống đa agent tạo ra kết quả không đầy đủ hoặc không chính xác, kỳ thi mong đợi bạn truy về nguồn gốc của lỗi. Đừng đổ lỗi cho subagent đã tạo ra kết quả — hãy kiểm tra xem coordinator có cung cấp đúng đầu vào cho nó hay không.
Trách Nhiệm Của Coordinator
Coordinator có bốn trách nhiệm chính mà kỳ thi kiểm tra:
1. Lựa chọn subagent động. Coordinator phân tích yêu cầu của truy vấn và động chọn subagent nào cần gọi. Nó KHÔNG luôn luôn định tuyến qua toàn bộ pipeline. Một câu hỏi thực tế đơn giản có thể chỉ cần subagent tìm kiếm web, không cần toàn bộ chuỗi nghiên cứu-phân tích-tổng hợp. Định tuyến mọi truy vấn qua mọi subagent lãng phí thời gian và tài nguyên.
2. Phân vùng phạm vi nghiên cứu. Khi ủy quyền cho nhiều subagent, coordinator phân vùng phạm vi nghiên cứu để giảm thiểu sự trùng lặp. Nó gán các chủ đề phụ hoặc loại nguồn khác nhau cho mỗi agent. Ví dụ, một agent tìm kiếm các bài báo học thuật trong khi agent khác tìm kiếm tin tức — chúng không cùng tìm kiếm cùng một nguồn.
3. Vòng lặp tinh chỉnh lặp lại. Coordinator đánh giá đầu ra tổng hợp để tìm khoảng trống. Nếu bản tổng hợp chưa đầy đủ, nó ủy quyền lại cho các subagent tìm kiếm và phân tích với các truy vấn có mục tiêu cụ thể. Nó gọi lại tổng hợp cho đến khi mức độ bao phủ đủ tốt. Đây không phải là một quy trình một lần — đó là một chu trình lặp lại.
4. Định tuyến giao tiếp tập trung. Mọi giao tiếp của subagent đều đi qua coordinator để đảm bảo khả năng quan sát, xử lý lỗi nhất quán, và luồng thông tin có kiểm soát.
Lỗi Phân Rã Hẹp
Đây là một mẫu kỳ thi cụ thể mà bạn phải nhận ra. Kỳ thi có một câu hỏi (được tham chiếu là Q7 trong bộ đề mẫu) trong đó một coordinator phân rã "tác động của AI đến các ngành công nghiệp sáng tạo" chỉ thành các chủ đề phụ về nghệ thuật thị giác, hoàn toàn bỏ sót âm nhạc, viết lách, và điện ảnh.
Nguyên nhân gốc rễ là sự phân rã nhiệm vụ của coordinator, không phải bất kỳ agent hạ nguồn nào. Agent tìm kiếm web đã tìm kiếm kỹ lưỡng cho những gì nó được giao. Agent tổng hợp đã tổng hợp mọi thứ nó nhận được. Nhưng coordinator chỉ gán các chủ đề nghệ thuật thị giác, nên âm nhạc, viết lách, và điện ảnh không bao giờ được nghiên cứu.
Kỳ thi mong đợi bạn truy nguyên các lỗi về nguồn gốc của chúng. Khi một hệ thống đa agent tạo ra một báo cáo bỏ sót toàn bộ các danh mục, đừng đổ lỗi cho các subagent — hãy kiểm tra sự phân rã của coordinator.
Mẫu này áp dụng rộng rãi: nếu đầu ra không đầy đủ về phạm vi (không phải về chiều sâu), sự phân rã của coordinator hầu như luôn là nguyên nhân gốc rễ.
Ví Dụ Thực Tế: Khoảng Trống Bao Phủ Của Hệ Thống Nghiên Cứu
Một hệ thống nghiên cứu đa agent được giao nhiệm vụ về "các công nghệ năng lượng tái tạo." Coordinator phân rã điều này thành "hiệu suất tấm pin mặt trời" và "thiết kế tuabin gió." Mỗi subagent tạo ra nghiên cứu kỹ lưỡng, có nguồn rõ ràng về chủ đề được giao.
Báo cáo cuối cùng toàn diện về năng lượng mặt trời và gió nhưng không nói gì về địa nhiệt, thủy triều, sinh khối, hay nhiệt hạch hạt nhân. Khoảng trống bao phủ không phải vì tìm kiếm kém hay tổng hợp yếu — mà vì coordinator chưa bao giờ gán những chủ đề phụ đó.
Cách khắc phục không phải là truy vấn tìm kiếm tốt hơn, không phải một agent tổng hợp có năng lực hơn, và cũng không phải thêm nhiều subagent hơn. Cách khắc phục là sự phân rã của coordinator tốt hơn, bao phủ đầy đủ chiều rộng của chủ đề.
Bẫy thi
Bẫy thi: Blaming downstream subagents for coverage gaps when the coordinator's task decomposition was too narrow
Các subagent nghiên cứu những gì chúng được giao. Nếu coordinator chỉ gán năng lượng mặt trời và gió làm chủ đề phụ cho năng lượng tái tạo, không subagent nào có thể bao phủ địa nhiệt hay thủy triều. Hãy truy nguyên các lỗi về nguồn gốc của chúng — sự phân rã của coordinator.
Bẫy thi: Assuming subagents share memory or inherit the coordinator's conversation history
Các subagent có ngữ cảnh hoàn toàn cô lập. Chúng không tự động thừa hưởng bất cứ điều gì từ coordinator. Mọi thông tin phải được truyền một cách rõ ràng trong prompt của subagent.
Bẫy thi: Proposing direct inter-subagent communication as an efficiency improvement
Giao tiếp trực tiếp phá vỡ khả năng quan sát, xử lý lỗi nhất quán, và luồng thông tin có kiểm soát. Mọi giao tiếp phải đi qua coordinator, bất kể lợi ích hiệu suất được nhận thấy như thế nào.
Bẫy thi: Adding more subagents to fix a decomposition problem
Nếu coordinator phân rã một chủ đề quá hẹp, việc thêm nhiều subagent hơn không giúp ích — chúng sẽ nhận được các nhiệm vụ hẹp tương tự. Cách khắc phục là cải thiện logic phân rã của coordinator.
Tình huống luyện tập
Không tìm thấy câu hỏi luyện tập "q-1-2-001".
Bài tập thực hành
Xây dựng một Coordinator Nghiên Cứu Hub-and-Spoke
Bạn sẽ học được gì
- Kiến trúc hub-and-spoke tập trung hóa mọi giao tiếp qua một coordinator như thế nào
- Vì sao sự cô lập của subagent có nghĩa là mọi phần ngữ cảnh phải được truyền một cách rõ ràng
- Cách triển khai sự phân rã nhiệm vụ rộng để tránh lỗi phân rã hẹp
- Cách các vòng lặp tinh chỉnh lặp lại phát hiện và lấp đầy khoảng trống bao phủ
- Vì sao truy nguyên lỗi về sự phân rã của coordinator là cách tiếp cận chẩn đoán đúng
Các bước
Vì sao: Coordinator là trung tâm trong kiến trúc hub-and-spoke. Kỳ thi kiểm tra xem bạn có hiểu rằng coordinator sở hữu việc phân rã nhiệm vụ, lựa chọn subagent, và tổng hợp kết quả — không phải các subagent — hay không.
Bạn sẽ thấy: Một hàm coordinator nhận một chuỗi chủ đề và trả về một báo cáo nghiên cứu có cấu trúc. Nó nên có một system prompt định nghĩa vai trò của nó như một hub điều phối.
Vì sao: Phân rã hẹp là một mẫu lỗi kỳ thi cụ thể. Coordinator chỉ gán năng lượng mặt trời và gió cho năng lượng tái tạo sẽ bỏ sót toàn bộ các danh mục. Kỳ thi mong đợi bạn nhận ra rằng đầu ra không đầy đủ bắt nguồn từ sự phân rã của coordinator.
Bạn sẽ thấy: Một hàm phân rã tạo ra 5 chủ đề phụ trở lên cho bất kỳ chủ đề rộng nào. Đối với năng lượng tái tạo, nó nên bao phủ tối thiểu năng lượng mặt trời, gió, địa nhiệt, thủy triều, sinh khối, và nhiệt hạch.
Vì sao: Sự cô lập của subagent có nghĩa là không có bộ nhớ dùng chung và không có ngữ cảnh thừa hưởng. Kỳ thi kiểm tra điều này rất nặng: nếu một subagent tạo ra kết quả kém, hãy kiểm tra xem coordinator có cung cấp đủ ngữ cảnh cho nó hay không, chứ không phải bản thân subagent có lỗi hay không.
Bạn sẽ thấy: Hai lệnh gọi subagent trong đó mỗi lệnh nhận được đầy đủ chủ đề phụ được gán, mục tiêu nghiên cứu, và bất kỳ ngữ cảnh liên quan nào từ các agent trước đó — tất cả được đưa vào rõ ràng trong prompt.
Vì sao: Coordinator phải đánh giá xem kết quả kết hợp có bao phủ toàn bộ chiều rộng của chủ đề gốc hay không. Đây là nơi tinh chỉnh lặp lại bắt đầu — các khoảng trống phát hiện tại đây sẽ kích hoạt việc ủy quyền lại.
Bạn sẽ thấy: Một hàm tổng hợp kết hợp kết quả từ cả hai subagent và tạo ra một đánh giá bao phủ liệt kê những chủ đề phụ nào được bao phủ tốt, bao phủ một phần, hoặc còn thiếu.
Vì sao: Tinh chỉnh lặp lại là một trách nhiệm cốt lõi của coordinator mà kỳ thi kiểm tra. Ủy quyền một lần là chưa đủ — coordinator phải đánh giá đầu ra và ủy quyền lại cho các khoảng trống. Điều này phân biệt một coordinator với một bộ điều phối đơn giản.
Bạn sẽ thấy: Một vòng lặp kiểm tra mức độ bao phủ, xác định các khoảng trống, gửi các truy vấn tiếp theo có mục tiêu đến các subagent cho các chủ đề phụ còn thiếu, và đánh giá lại cho đến khi đạt ngưỡng bao phủ hoặc chạm số vòng lặp tối đa.
Vì sao: Trường hợp kiểm thử cụ thể này ánh xạ đến mẫu lỗi phân rã hẹp của kỳ thi. Nếu đầu ra của bạn chỉ bao phủ năng lượng mặt trời và gió, nguyên nhân gốc rễ là sự phân rã của coordinator — chính xác chẩn đoán mà kỳ thi mong đợi bạn đưa ra.
Bạn sẽ thấy: Một báo cáo nghiên cứu cuối cùng với các phần nội dung đầy đủ về cả sáu loại năng lượng: mặt trời, gió, địa nhiệt, thủy triều, sinh khối, và nhiệt hạch. Đánh giá bao phủ nên cho thấy 100% độ hoàn chỉnh.
Nguồn tham khảo
- Claude Agent SDK Overview — Anthropic
- Multi-Agent Research System Scenario (Skilljar) — Anthropic
- Building with Claude API (Skilljar) — Anthropic