(Nhấp vào hình ảnh trên để xem video của bài học này)
Ngay khi bạn bắt đầu làm việc trên một dự án liên quan đến nhiều tác nhân, bạn sẽ cần xem xét mẫu thiết kế đa tác nhân. Tuy nhiên, có thể không rõ ràng ngay lập tức khi nào nên chuyển sang sử dụng đa tác nhân và những lợi ích của nó là gì.
Trong bài học này, chúng ta sẽ tìm cách trả lời các câu hỏi sau:
Sau bài học này, bạn sẽ có thể:
Bức tranh lớn hơn là gì?
Đa tác nhân là một mẫu thiết kế cho phép nhiều tác nhân làm việc cùng nhau để đạt được một mục tiêu chung.
Mẫu này được sử dụng rộng rãi trong nhiều lĩnh vực, bao gồm robot, hệ thống tự động, và điện toán phân tán.
Vậy những tình huống nào là trường hợp sử dụng tốt cho đa tác nhân? Câu trả lời là có rất nhiều tình huống mà việc sử dụng nhiều tác nhân mang lại lợi ích, đặc biệt trong các trường hợp sau:
Hệ thống một tác nhân duy nhất có thể hoạt động tốt cho các nhiệm vụ đơn giản, nhưng đối với các nhiệm vụ phức tạp hơn, việc sử dụng nhiều tác nhân có thể mang lại nhiều lợi ích:
Hãy lấy một ví dụ, đặt một chuyến đi cho người dùng. Một hệ thống một tác nhân duy nhất sẽ phải xử lý tất cả các khía cạnh của quá trình đặt chuyến đi, từ tìm chuyến bay đến đặt khách sạn và xe thuê. Để đạt được điều này với một tác nhân duy nhất, tác nhân sẽ cần có công cụ để xử lý tất cả các nhiệm vụ này. Điều này có thể dẫn đến một hệ thống phức tạp và nguyên khối, khó duy trì và mở rộng. Một hệ thống đa tác nhân, mặt khác, có thể có các tác nhân khác nhau chuyên về tìm chuyến bay, đặt khách sạn, và xe thuê. Điều này sẽ làm cho hệ thống trở nên mô-đun hơn, dễ duy trì và mở rộng.
So sánh điều này với một văn phòng du lịch hoạt động như một cửa hàng nhỏ lẻ so với một văn phòng du lịch hoạt động như một chuỗi nhượng quyền. Cửa hàng nhỏ lẻ sẽ có một tác nhân duy nhất xử lý tất cả các khía cạnh của quá trình đặt chuyến đi, trong khi chuỗi nhượng quyền sẽ có các tác nhân khác nhau xử lý các khía cạnh khác nhau của quá trình đặt chuyến đi.
Trước khi bạn có thể triển khai mẫu thiết kế đa tác nhân, bạn cần hiểu các thành phần cơ bản tạo nên mẫu này.
Hãy làm cho điều này cụ thể hơn bằng cách lại xem xét ví dụ về việc đặt một chuyến đi cho người dùng. Trong trường hợp này, các thành phần cơ bản sẽ bao gồm:
Điều quan trọng là bạn có khả năng theo dõi cách các tác nhân tương tác với nhau. Khả năng hiển thị này rất cần thiết để gỡ lỗi, tối ưu hóa, và đảm bảo hiệu quả tổng thể của hệ thống. Để đạt được điều này, bạn cần có các công cụ và kỹ thuật để theo dõi hoạt động và tương tác của các tác nhân. Điều này có thể ở dạng công cụ ghi nhật ký và giám sát, công cụ trực quan hóa, và các chỉ số hiệu suất.
Ví dụ, trong trường hợp đặt một chuyến đi cho người dùng, bạn có thể có một bảng điều khiển hiển thị trạng thái của từng tác nhân, sở thích và ràng buộc của người dùng, và các tương tác giữa các tác nhân. Bảng điều khiển này có thể hiển thị ngày đi của người dùng, các chuyến bay được đề xuất bởi tác nhân chuyến bay, các khách sạn được đề xuất bởi tác nhân khách sạn, và các xe thuê được đề xuất bởi tác nhân xe thuê. Điều này sẽ cung cấp cho bạn một cái nhìn rõ ràng về cách các tác nhân tương tác với nhau và liệu sở thích và ràng buộc của người dùng có được đáp ứng hay không.
Hãy xem xét từng khía cạnh này chi tiết hơn.
Công cụ ghi nhật ký và giám sát: Bạn muốn ghi nhật ký cho mỗi hành động được thực hiện bởi một tác nhân. Một mục nhật ký có thể lưu trữ thông tin về tác nhân đã thực hiện hành động, hành động được thực hiện, thời gian hành động được thực hiện, và kết quả của hành động. Thông tin này sau đó có thể được sử dụng để gỡ lỗi, tối ưu hóa và hơn thế nữa.
Công cụ trực quan hóa: Công cụ trực quan hóa có thể giúp bạn thấy các tương tác giữa các tác nhân một cách trực quan hơn. Ví dụ, bạn có thể có một biểu đồ hiển thị luồng thông tin giữa các tác nhân. Điều này có thể giúp bạn xác định các nút thắt, sự không hiệu quả, và các vấn đề khác trong hệ thống.
Chỉ số hiệu suất: Các chỉ số hiệu suất có thể giúp bạn theo dõi hiệu quả của hệ thống đa tác nhân. Ví dụ, bạn có thể theo dõi thời gian hoàn thành một nhiệm vụ, số lượng nhiệm vụ hoàn thành trong một đơn vị thời gian, và độ chính xác của các đề xuất được thực hiện bởi các tác nhân. Thông tin này có thể giúp bạn xác định các khu vực cần cải thiện và tối ưu hóa hệ thống.
Hãy đi sâu vào một số mẫu cụ thể mà chúng ta có thể sử dụng để tạo ứng dụng đa tác nhân. Dưới đây là một số mẫu thú vị đáng xem xét:
Mẫu này hữu ích khi bạn muốn tạo một ứng dụng trò chuyện nhóm nơi nhiều tác nhân có thể giao tiếp với nhau. Các trường hợp sử dụng điển hình cho mẫu này bao gồm cộng tác nhóm, hỗ trợ khách hàng, và mạng xã hội.
Trong mẫu này, mỗi tác nhân đại diện cho một người dùng trong trò chuyện nhóm, và các tin nhắn được trao đổi giữa các tác nhân bằng một giao thức nhắn tin. Các tác nhân có thể gửi tin nhắn đến trò chuyện nhóm, nhận tin nhắn từ trò chuyện nhóm, và trả lời tin nhắn từ các tác nhân khác.
Mẫu này có thể được triển khai bằng cách sử dụng kiến trúc tập trung nơi tất cả các tin nhắn được định tuyến qua một máy chủ trung tâm, hoặc kiến trúc phi tập trung nơi các tin nhắn được trao đổi trực tiếp.
Mẫu này hữu ích khi bạn muốn tạo một ứng dụng nơi nhiều tác nhân có thể chuyển giao nhiệm vụ cho nhau.
Các trường hợp sử dụng điển hình cho mẫu này bao gồm hỗ trợ khách hàng, quản lý nhiệm vụ, và tự động hóa quy trình làm việc.
Trong mẫu này, mỗi tác nhân đại diện cho một nhiệm vụ hoặc một bước trong quy trình làm việc, và các tác nhân có thể chuyển giao nhiệm vụ cho các tác nhân khác dựa trên các quy tắc được định trước.
Mẫu này hữu ích khi bạn muốn tạo một ứng dụng nơi nhiều tác nhân có thể cộng tác để đưa ra các đề xuất cho người dùng.
Lý do bạn muốn nhiều tác nhân cộng tác là vì mỗi tác nhân có thể có chuyên môn khác nhau và có thể đóng góp vào quá trình đưa ra đề xuất theo những cách khác nhau.
Hãy lấy một ví dụ nơi một người dùng muốn có đề xuất về cổ phiếu tốt nhất để mua trên thị trường chứng khoán.
Hãy xem xét một tình huống nơi một khách hàng đang cố gắng nhận hoàn tiền cho một sản phẩm, có thể có khá nhiều tác nhân tham gia vào quy trình này nhưng hãy chia nó thành các tác nhân cụ thể cho quy trình này và các tác nhân chung có thể được sử dụng trong các quy trình khác.
Các tác nhân cụ thể cho quy trình hoàn tiền:
Dưới đây là một số tác nhân có thể tham gia vào quy trình hoàn tiền:
Các tác nhân chung:
Các tác nhân này có thể được sử dụng bởi các phần khác của doanh nghiệp của bạn.
Có khá nhiều tác nhân được liệt kê ở trên, cả cho quy trình hoàn tiền cụ thể và cho các tác nhân chung có thể được sử dụng trong các phần khác của doanh nghiệp của bạn. Hy vọng điều này giúp bạn có ý tưởng về cách bạn có thể quyết định các tác nhân nào sẽ sử dụng trong hệ thống đa tác nhân của mình.
Thiết kế một hệ thống đa tác nhân cho quy trình hỗ trợ khách hàng. Xác định các tác nhân tham gia vào quy trình, vai trò và trách nhiệm của họ, cũng như cách họ tương tác với nhau. Cân nhắc cả các tác nhân cụ thể cho quy trình hỗ trợ khách hàng và các tác nhân chung có thể được sử dụng trong các phần khác của doanh nghiệp.
Hãy suy nghĩ trước khi đọc giải pháp dưới đây, bạn có thể cần nhiều tác nhân hơn bạn nghĩ.
TIP: Hãy nghĩ về các giai đoạn khác nhau của quy trình hỗ trợ khách hàng và cũng cân nhắc các tác nhân cần thiết cho bất kỳ hệ thống nào.
Câu hỏi: Khi nào bạn nên cân nhắc sử dụng hệ thống đa tác nhân?
Trong bài học này, chúng ta đã tìm hiểu về mẫu thiết kế đa tác nhân, bao gồm các tình huống mà hệ thống đa tác nhân có thể áp dụng, những lợi ích của việc sử dụng hệ thống đa tác nhân so với một tác nhân đơn lẻ, các thành phần cơ bản để triển khai mẫu thiết kế đa tác nhân, và cách để có cái nhìn rõ ràng về cách các tác nhân tương tác với nhau.
Tham gia Azure AI Foundry Discord để gặp gỡ các học viên khác, tham dự giờ giải đáp thắc mắc và nhận câu trả lời cho các câu hỏi về AI Agents của bạn.
Siêu nhận thức trong AI Agents
Tuyên bố miễn trừ trách nhiệm:
Tài liệu này đã được dịch bằng dịch vụ dịch thuật AI Co-op Translator. Mặc dù chúng tôi cố gắng đảm bảo độ chính xác, xin lưu ý rằng các bản dịch tự động có thể chứa lỗi hoặc không chính xác. Tài liệu gốc bằng ngôn ngữ bản địa nên được coi là nguồn thông tin chính thức. Đối với các thông tin quan trọng, khuyến nghị sử dụng dịch vụ dịch thuật chuyên nghiệp bởi con người. Chúng tôi không chịu trách nhiệm cho bất kỳ sự hiểu lầm hoặc diễn giải sai nào phát sinh từ việc sử dụng bản dịch này.