0

Tìm hiểu về Agents qua lý thuyết và áp dụng xây dựng Agents (2)

Agent

LLM ngày càng có khả năng xử lý các tác vụ phức tạp, multi-step. Những tiến bộ trong khả năng reasoning, multimodal, và sử dụng tools tạo tiền đề cho việc ra đời một loại hệ thống mới dựa trên sức mạnh của LLM gọi là Agent.

Định nghĩa về Agent như thế nào trong hệ thống này như thế nào?

Agents là các hệ thống mà có khả năng tự động hóa hoàn thành các tác vụ thay cho bạn một cách độc lập.

Ở những phần mềm truyền thống vẫn hỗ trợ con người những quy trình (workflow) tự động hóa nhưng con người vẫn phải trực tiếp thao thác hoặc thiết lập để hoàn thành một công việc, tác vụ nào đó, thì Agent có khả năng hành đồng độc lập - tức là không chỉ tự động hóa mà còn tự ra quyết định dựa trên tình huống cụ thể.

Ví dụ:

  • Phần mềm truyền thống tạo ra 1 quy trình tự động hóa việc gửi email -> Nhưng vẫn cần con người đưa qua quyết định bằng cách bấm nút kích hoạt "Gửi" or kích hoạt lịch.
  • Agent không chỉ gửi email theo lịch mà còn có thể tự đưa ra quyết định khi nào gửi? gửi cho ai? và gặp lỗi thì tự xử lý.

Một quy trình (workflow) có thể hiểu là một chuỗi các bước cần thực hiện để đạt được mục tiêu của người nào đó (user). Mục tiêu của người dùng thì có thể rất đa dạng từ đơn giản đến phức tạp.

Ví dụ:

  • Mục tiêu : Đặt chỗ nhà hàng
  • Workflow: Tìm nhà hàng phù hợp > Kiểm tra giờ còn trống > Đặt chỗ.

Những ứng dụng (applications) mà tích hợp sử dụng LLM nhưng không sử dụng chúng cho việc điều khiển, quản lý việc thực thi workflow - ví dụ như chatbot đơn giản, single-turn LLM, hoặc sử dụng LLM để làm module phân loại cảm xúc (sentiment classifier) - thì không được là Agent.

Cụ thể hơn thì một Agent phải sở hữu những đặc điểm cốt lõi mà cho phép nó hành động một cách đáng tin cậy và nhất quán thay cho con người:

  1. Agent tận dụng LLM để điều phối quy trình (workflow) thực thi và đưa ra quyết định. Nó có khả năng nhận biết khi nào một workflow đã hoàn tất, và chủ động điều chỉnh hành vi nếu phát hiện sai lệch. Trong trường hợp xảy ra lỗi, agent có thể dừng thực thi và chuyển quyền kiểm soát lại cho con người.
  2. Agent có quyền truy cập vào nhiều công cụ khác nhau để tương tác với các hệ thống bên ngoài - bao gồm việc thu thập ngữ cảnh và thực hiện hành động. Nó có thể linh hoạt lựa chọn công cụ phù hợp dựa trên trạng thái hiện tại của workflow, đồng thời luôn hoạt động trong các giới hạn an toàn đã được xác định rõ ràng.

Khi nào nên xây dựng một Agent?

Việc xây dựng các agent đòi hỏi phải thay đổi cách tiếp cận truyền thống trong việc ra quyết định và xử lý tính phức tạp của hệ thống. Không giống như các hình thức tự động hóa thông thường, agent đặc biệt phù hợp với những quy trình mà các phương pháp quyết định mang tính xác định (deterministic) hoặc dựa trên quy tắc cố định (rule-based) thường không đáp ứng được.

Ví dụ như trong một hệ thống phân tích gian lận trong thanh toán:

  • Một hệ thống truyền thống dựa trên quy tắc (rule-based) hoạt động như một danh sách (checklist) kiểm tra, đánh dấu các giao dịch đáng ngờ dựa trên các tiêu chí cố định.
  • Trong khi đó, một agent sử dụng LLM lại giống như một điều tra viên dày dạn kinh nghiệm - nó đánh giá bối cảnh (context), nhận biết các mẫu hành vi tinh vi, và phát hiện các hoạt động khả nghi ngay cả khi không có quy tắc rõ ràng nào bị vi phạm.

-> Chính khả năng suy luận tinh tế này là điều giúp agent xử lý hiệu quả các trường hợp phức tạp và mơ hồ.

Chính vì thế, theo suy nghĩ của mình thì "Khi chúng ta nhận thấy những workflows nào mà trước đây việc tự động hóa không hiệu quả hoặc không khả thi vì tính phức tạp, mơ hồ, hoặc thay đổi liên tục - đặc biệt là những quy trình mà các phương pháp truyền thống gặp khó khăn, có thể là việc phải viết quá nhiều rules, độ linh hoạt thấp, hoặc dễ bị phát sinh lỗi khi ngữ cảnh thay đổi."

  1. Complex decision-making (Ra quyết định phức tạp): Các workflow yêu cầu đánh giá phức tạp, xử lý ngoại lệ, hoặc quyết định phụ thuộc vào ngữ cảnh.
  2. Difficult-to-maintain rules (Quy tắc khó bảo trì): Hệ thống trở nên cồng kềnh do có quá nhiều quy tắc phức tạp, khiến việc cập nhật tốn kém hoặc dễ phát sinh lỗi.
  3. Sự phụ thuộc lớn vào dữ liệu phi cấu trúc (Unstructured data): Các tình huống cần phân tích ngôn ngữ tự nhiên, rút trích thông tin từ tài liệu hoặc tương tác hội thoại với người dùng.

Cho nên, Trước khi quyết định xây dựng một agent, bạn nên xác định rằng trường hợp sử dụng của bạn đáp ứng rõ ràng các tiêu chí này. Nếu không thì một giải pháp nào đó thay thế có thể đã đủ đáp ứng nhu cầu.

Các thành phần của AI Agent

  • Mặc dù các tác nhân AI (AI agents) được thiết kế để ra quyết định một cách tự động, nhưng chúng vẫn phụ thuộc vào một hệ thống tổng thể để hoạt động hiệu quả. Hệ thống này được gọi là kiến trúc (architecture) của tác nhân. Kiến trúc này bao gồm:
    • Mô hình ngôn ngữ lớn (LLM) với một nhiệm vụ cụ thể (task) và một vai trò rõ ràng (role), giúp tác nhân có thể lý luậnđưa ra quyết định hợp lý;
    • Công cụ (tools) hỗ trợ tác nhân thực hiện các nhiệm vụ phức tạp vượt ngoài khả năng nội tại của LLM;
    • Bộ nhớ (memory), cho phép tác nhân ghi nhớ và học hỏi từ những kinh nghiệm trong quá khứ.
  • Hình ảnh minh hoạt các thành phần của AI Agent

image.png

  • Suy luận (Reasoning): Khả năng reasoning cho phép các AI Agent có thể “suy nghĩ một cách chủ động” trong suốt quá trình giải quyết vấn đề. Trong kiến trúc agentic (agentic architectures), khả năng reasoning đóng vai trò ở hai chức năng chính:
    • Lập kế hoạch (planning): Agent chia nhỏ các nhiệm vụ phức tạp thành các bước nhỏ hơn và chọn công cụ phù hợp để xử lý;
    • Tự đánh giá (reflecting): Agent tự đánh giá kết quả, điều chỉnh cách tiếp cận dựa trên kết quả nhận được và dữ liệu bên ngoài.
  • Bộ nhớ (Memory): Memory cho phép lưu trữ ngữ cảnh (context) và phản hồi qua nhiều lần tương tác và phiên (session) khác nhau:
    • Bộ nhớ ngắn hạn (short-term memory): lưu trữ thông tin tức thì như lịch sử hội thoại, giúp Agent xác định bước tiếp theo cần thực hiện để đạt được mục tiêu tổng thể.
    • Bộ nhớ dài hạn (long-term memory): lưu trữ kiến thức và thông tin tích lũy theo thời gian, giúp cá nhân hóa Agent và cải thiện hiệu suất lâu dài.
  • Công cụ (Tools): Các tools mở rộng khả năng của AI Agent vượt ra khỏi giới hạn dữ liệu gốc của mô hình LLM đã được học (nội tại của LLMs), cho phép tương tác linh hoạt với các tài nguyên bên ngoài (external resources), dữ liệu thời gian thực hoặc các hệ thống tính toán khác. Công cụ thường được dùng để thực hiện các tác vụ cụ thể như: tìm kiếm web, truy xuất dữ liệu từ cơ sở dữ liệu bên ngoài, hoặc đọc/gửi email nhằm hỗ trợ Agent hoàn thành mục tiêu.

(Nội dung đang tiếp tục được viết...)


All rights reserved

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí