Multi-agent là nhiều agent có vai trò chuyên biệt phối hợp giải một việc phức tạp; mỗi agent có system prompt, bộ tool và tri thức riêng — vận hành như một nhóm người.
Các pattern điều phối:
- Quản lý – thợ (manager/worker) — một agent điều phối chia việc cho các agent chuyên môn rồi tổng hợp kết quả. Đây là pattern dùng được nhất cho production vì luồng điều khiển rõ ràng và dễ đặt điểm dừng.
- Tuần tự (pipeline) — A → B → C, mỗi agent một chặng: nghiên cứu → viết → biên tập → kiểm chứng. Gần với prompt chain, khác ở chỗ mỗi chặng được gọi tool.
- Ngang hàng (network) — agent nào cần gì thì hỏi thẳng agent đó. Linh hoạt nhưng rất dễ chạy vòng và đốt token; bắt buộc có điều kiện dừng cứng.
- Tranh luận (debate) — hai agent bảo vệ hai phía, một agent thứ ba phân xử. Giảm điểm mù, đổi lại tốn gấp nhiều lần.
- Bàn giao (handoff) — agent chuyển quyền điều khiển cho agent khác theo ngữ cảnh: agent tiếp nhận → agent thanh toán → agent khiếu nại. Hợp với chăm sóc khách hàng.
Ba khó khăn thật khi vận hành:
- Token phình rất nhanh — mỗi agent giữ ngữ cảnh riêng, mà cách chia sẻ thông tin phổ biến nhất là chép nguyên hội thoại cho nhau. Phải tóm tắt và dùng một vùng nhớ chung thay vì truyền cả lịch sử.
- Phối hợp hỏng — các agent hiểu sai vai của nhau, làm trùng việc, hoặc ngồi chờ nhau. Cần định nghĩa vai rõ ràng và điều kiện kết thúc cho mọi vòng lặp.
- Debug rất khó — lỗi có thể nằm ở bất kỳ agent nào hoặc ở chỗ chúng tương tác, nên bắt buộc phải trace toàn pipeline.
Điểm quan trọng nhất — khi KHÔNG nên dùng: nếu một agent với prompt có cấu trúc đã làm được thì đừng chia nhiều agent. Nhiều bài toán chia ra lại thua cả về chi phí lẫn chất lượng vì phần phức tạp thêm vào không đem lại gì. Multi-agent chỉ đáng khi các nhánh việc thật sự độc lập nên chạy song song được, hoặc khi cần chuyên môn hoá sâu tới mức một prompt không ôm nổi.
Framework: LangGraph (mô hình máy trạng thái, mạnh nhất cho production), CrewAI (theo vai, dễ bắt đầu), AutoGen, OpenAI Agents SDK.