- Published on
Cập nhật AutoGen 0.4: Tái định hình Đại lý AI thông minh với kiến trúc đa cấp mạnh mẽ hơn
[article]
Giới thiệu về AutoGen 0.4
Microsoft vừa ra mắt bản cập nhật lớn cho framework AI Agent mã nguồn mở của mình, AutoGen, với phiên bản 0.4. Thư viện được cải tiến này tự hào có độ ổn định của code, tính mạnh mẽ, tính linh hoạt và khả năng mở rộng được nâng cao, cho phép các nhà phát triển tạo ra các ứng dụng AI Agent tiên tiến, hiện đại.
Các tính năng nổi bật của AutoGen 0.4
- Giao tiếp không đồng bộ: Các agent giờ đây giao tiếp bằng cách sử dụng tin nhắn không đồng bộ, cho phép chúng tiến hành các tác vụ mà không cần chờ phản hồi từ các agent khác. Điều này đặc biệt có lợi cho các ứng dụng hướng sự kiện, nơi các agent phản ứng với các trigger cụ thể. Mô hình request/response truyền thống cũng được hỗ trợ.
- Tính mô-đun và khả năng mở rộng: Người dùng có thể kết hợp các agent, công cụ, bộ nhớ và mô hình tùy chỉnh để xây dựng các hệ thống agent phù hợp với nhu cầu kinh doanh cụ thể. Điều này liên quan đến việc đăng ký các loại agent và công cụ khác nhau để đạt được các mục tiêu tự động hóa cụ thể.
- Khả năng quan sát và gỡ lỗi: Các công cụ tích hợp để theo dõi số liệu, theo dõi tin nhắn và gỡ lỗi cho phép giám sát và kiểm soát các tương tác và quy trình làm việc của agent. Mọi bước trong quy trình làm việc của agent—bao gồm các lệnh gọi mô hình lớn, việc sử dụng công cụ, các đầu ra trung gian, trạng thái bộ nhớ và các mẫu prompt—đều có thể được ghi lại rõ ràng. Điều này rất quan trọng đối với các ngành công nghiệp yêu cầu theo dõi chính xác các hoạt động của agent, chẳng hạn như chăm sóc sức khỏe, luật pháp và tài chính.
- Khả năng mở rộng và phân phối: Các mạng agent phức tạp, phân tán có thể được thiết kế để hoạt động liền mạch trên các ranh giới tổ chức. Kiến trúc phân tán tạo điều kiện thuận lợi cho việc triển khai các agent trên nhiều máy chủ hoặc nền tảng đám mây khác nhau, tối ưu hóa việc phân bổ và sử dụng tài nguyên.
- Các tiện ích mở rộng được tích hợp và cộng đồng: Chức năng của framework được tăng cường nhờ các tiện ích mở rộng có các model client nâng cao, agent, các nhóm đa agent và các công cụ quy trình làm việc của agent. Hỗ trợ cộng đồng cho phép các nhà phát triển quản lý các tiện ích mở rộng của riêng họ, tạo và chia sẻ các agent hoặc công cụ tùy chỉnh. Các nhà phát triển có thể sử dụng các tiện ích mở rộng này cho các nhu cầu chung, giúp giảm độ phức tạp và rào cản phát triển.
- Hỗ trợ đa ngôn ngữ: AutoGen hiện hỗ trợ khả năng tương tác giữa các agent được viết bằng các ngôn ngữ lập trình khác nhau, như Python và .NET. Tính năng này mở rộng phạm vi ứng dụng của AutoGen và loại bỏ các trở ngại do sự khác biệt về ngôn ngữ.
Cấu trúc cơ bản của AutoGen
Ngoài những khả năng mới này, Microsoft đã tái cấu trúc nền tảng của AutoGen, bao gồm lõi, chat agent và các tiện ích mở rộng. Lõi đóng vai trò là cơ sở cho hệ thống agent hướng sự kiện. Agent chat, được xây dựng trên lõi, có các API nâng cao để quản lý tác vụ, trò chuyện nhóm, thực thi code và các agent được xây dựng sẵn. Các tiện ích mở rộng tạo điều kiện tích hợp của bên thứ ba với các dịch vụ như Azure code executors và OpenAI models.
Cải tiến giao diện người dùng
Giao diện người dùng cũng đã trải qua những cải tiến đáng kể:
- Phản hồi tương tác qua giao diện người dùng, cho phép các agent của người dùng cung cấp thông tin đầu vào và hướng dẫn theo thời gian thực trong quá trình hoạt động của nhóm.
- Trực quan hóa luồng tin nhắn, trình bày một giao diện trực quan để hiểu các giao tiếp của agent, ánh xạ các đường dẫn và sự phụ thuộc của tin nhắn.
- Giao diện kéo và thả trực quan, cho phép người dùng thiết kế các agent bằng cách đặt và định cấu hình các thành phần với các mối quan hệ và thuộc tính của chúng.
Tích hợp với Magentic-One
Magentic-One, một AI Agent đa cấp tổng quát mã nguồn mở khác của Microsoft, hiện đã được tích hợp vào AutoGen. Magentic-One có kiến trúc nhiều lớp bao gồm năm AI Agent: Orchestrator, WebSurfer, FileSurfer, Coder và ComputerTerminal. Mỗi agent chuyên gia có bộ kỹ năng và cơ sở kiến thức riêng, cho phép nó hoạt động hiệu quả trong lĩnh vực tương ứng. Tuy nhiên, các agent này không hoạt động độc lập; Orchestrator điều phối các hoạt động của chúng để đảm bảo chúng nhất quán và đáp ứng các mục tiêu tổng thể.
Vai trò của Orchestrator và các Agent chuyên biệt
- Orchestrator: Chịu trách nhiệm lập kế hoạch tác vụ, theo dõi tiến độ và khôi phục lỗi. Sau khi nhận được một tác vụ, nó sẽ phân tích kỹ các yêu cầu và gán các tác vụ phụ cho bốn agent còn lại.
- WebBrowser Agent: Xử lý việc duyệt web.
- FileNavigatorAgent: Quản lý điều hướng hệ thống file cục bộ.
- CodeWriterAgent: Viết và thực thi các đoạn code Python.
- ComputerTerminal: Thực thi các lệnh cấp hệ điều hành để hỗ trợ các tác vụ cấp cao hơn.
Kiến trúc không đồng bộ và mô-đun của Magentic-One
Một đặc điểm thiết yếu của kiến trúc Magentic-One là hoạt động hướng sự kiện không đồng bộ. Ngược lại với mô hình request-response đồng bộ, các phương pháp không đồng bộ cho phép các thành phần hệ thống chạy đồng thời, nhận đầu vào mới hoặc kích hoạt các hành động bất kỳ lúc nào mà không dừng các chức năng khác. Ví dụ: WebBrowserAgent có thể bắt đầu tải một trang khi Orchestrator giao cho nó một tác vụ liên quan đến việc tải xuống và trích xuất thông tin từ một trang web, trong khi Orchestrator và các agent khác tiếp tục các tác vụ khác. Sau khi trang đã tải và dữ liệu cần thiết đã được trích xuất, WebBrowserAgent sẽ thông báo cho Orchestrator và trả lại kết quả. Chiến lược này cho phép Magentic-One quản lý tài nguyên hiệu quả hơn, giảm thời gian chờ đợi và phản hồi hiệu quả hơn đối với các tình huống có tính đồng thời cao.
Ngoài kiến trúc không đồng bộ, Magentic-One còn nổi bật bởi thiết kế mô-đun cao. Mỗi agent là một đơn vị chức năng độc lập với các trách nhiệm và định nghĩa giao diện rõ ràng. Cách tiếp cận này đơn giản hóa việc xây dựng hệ thống, vì các nhà phát triển có thể tập trung vào chức năng của một agent duy nhất mà không cần lo lắng về chi tiết tương tác với các thành phần khác. Tính mô-đun cũng thúc đẩy việc tái sử dụng code và chia sẻ kỹ thuật, cho phép các agent hiện có được sử dụng trong các dự án mới hoặc được điều chỉnh cho các ứng dụng khác nhau với sửa đổi tối thiểu. Thiết kế mô-đun của Magentic-One cũng cung cấp khả năng mở rộng đáng kể. Các agent mới có thể được thêm vào hoặc các chức năng agent hiện có có thể được cập nhật mà không cần đại tu hệ thống lớn, khi công nghệ tiến bộ hoặc các yêu cầu kinh doanh thay đổi. Ví dụ: nếu một tác vụ trong một lĩnh vực cụ thể trở nên phức tạp hơn, hệ thống có thể được tăng cường bằng cách thêm một agent chuyên biệt.