Skip to content
Lesson 2/12 · Khoá học AI Agent (Hugging Face)

Agent là gì?

Định nghĩa agent qua ví dụ Alfred, hai phần "bộ não" và "cơ thể", các mức độ agency và những việc agent có thể làm.

This content is currently available in Vietnamese only.

Beginner@shine19048 min read

Học xong phần này, bạn sẽ nắm vững khái niệm agent và các ứng dụng khác nhau của nó trong AI.

Bảng kế hoạch unit 1

Để giải thích agent là gì, chúng ta hãy bắt đầu bằng một phép so sánh.

Bức tranh tổng thể: agent Alfred

Đây là Alfred. Alfred là một agent.

Đây là Alfred

Hãy tưởng tượng Alfred nhận một mệnh lệnh, chẳng hạn: "Alfred, cho tôi một ly cà phê nhé."

Cho tôi một ly cà phê

Vì Alfred hiểu ngôn ngữ tự nhiên, anh ấy nhanh chóng nắm được yêu cầu của chúng ta.

Trước khi thực hiện, Alfred suy luận và lập kế hoạch, xác định các bước và công cụ cần thiết để:

  1. Vào bếp
  2. Dùng máy pha cà phê
  3. Pha cà phê
  4. Mang cà phê ra

Suy luận và lập kế hoạch

Khi đã có kế hoạch, anh ấy phải hành động. Để thực hiện kế hoạch, anh ấy có thể dùng các tool trong danh sách tool mà anh ấy biết.

Trong trường hợp này, để pha cà phê, anh ấy dùng máy pha cà phê. Anh ấy bật máy để pha.

Pha cà phê

Cuối cùng, Alfred mang ly cà phê vừa pha đến cho chúng ta.

Mang cà phê ra

Và agent chính là như vậy: một model AI có khả năng suy luận, lập kế hoạch và tương tác với môi trường của nó.

Chúng ta gọi nó là agent vì nó có agency (tính chủ động), tức là khả năng tương tác với môi trường.

Quy trình của agent

Định nghĩa chặt chẽ hơn

Giờ bạn đã có bức tranh tổng thể, đây là một định nghĩa chính xác hơn:

Agent là một hệ thống tận dụng một model AI để tương tác với môi trường nhằm đạt được mục tiêu do người dùng đặt ra. Nó kết hợp suy luận, lập kế hoạch và thực thi hành động (thường qua các tool bên ngoài) để hoàn thành tác vụ.

Hãy hình dung agent có hai phần chính:

  1. Bộ não (model AI)

Đây là nơi mọi suy nghĩ diễn ra. Model AI đảm nhận việc suy luận và lập kế hoạch. Nó quyết định thực hiện Action nào dựa trên tình huống.

  1. Cơ thể (khả năng và tool)

Phần này đại diện cho mọi thứ agent được trang bị để làm.

Phạm vi các hành động khả thi phụ thuộc vào những gì agent được trang bị. Ví dụ, vì con người không có cánh nên không thể thực hiện Action "bay", nhưng có thể thực hiện các Action như "đi", "chạy", "nhảy", "cầm nắm"…

Phổ "agency"

Theo định nghĩa này, agent nằm trên một phổ liên tục với mức agency tăng dần:

Mức agencyMô tảTên gọiMẫu ví dụ
☆☆☆Đầu ra của agent không ảnh hưởng đến luồng chương trìnhSimple processor (bộ xử lý đơn giản)process_llm_output(llm_response)
★☆☆Đầu ra của agent quyết định luồng điều khiển cơ bảnRouter (bộ định tuyến)if llm_decision(): path_a() else: path_b()
★★☆Đầu ra của agent quyết định hàm nào được thực thiTool caller (bộ gọi tool)run_function(llm_chosen_tool, llm_chosen_args)
★★★Đầu ra của agent điều khiển vòng lặp và việc chương trình có tiếp tục hay khôngMulti-step Agent (agent nhiều bước)while llm_should_continue(): execute_next_step()
★★★Một quy trình agent có thể khởi động một quy trình agent khácMulti-Agent (đa agent)if llm_trigger(): execute_agent()

Bảng lấy từ hướng dẫn khái niệm của smolagents.

Agent dùng loại model AI nào?

Model AI phổ biến nhất trong agent là LLM (Large Language Model), nhận văn bản làm đầu vào và cũng trả ra văn bản.

Các ví dụ nổi tiếng là GPT-4 của OpenAI, Llama của Meta, Gemini của Google… Các model này được huấn luyện trên lượng văn bản khổng lồ và có khả năng khái quát hoá tốt. Chúng ta sẽ tìm hiểu thêm về LLM ở bài tiếp theo.

AI hành động lên môi trường bằng cách nào?

LLM là những model tuyệt vời, nhưng chúng chỉ có thể sinh văn bản.

Vậy mà nếu bạn yêu cầu một ứng dụng chat nổi tiếng như HuggingChat hay ChatGPT tạo ảnh, chúng làm được! Sao lại thế?

Câu trả lời là nhà phát triển HuggingChat, ChatGPT và các ứng dụng tương tự đã cài thêm chức năng (gọi là Tool) mà LLM có thể dùng để tạo ảnh.

Tháp Eiffel làm từ bông cải xanh

Model đã dùng một tool tạo ảnh để sinh ra hình này.

Chúng ta sẽ tìm hiểu thêm về tool trong bài Tool.

Agent có thể làm những tác vụ gì?

Agent có thể thực hiện bất kỳ tác vụ nào mà chúng ta cài đặt qua Tool để hoàn thành Action.

Ví dụ, nếu tôi viết một agent làm trợ lý cá nhân (như Siri) trên máy tính và yêu cầu nó "gửi email cho sếp xin dời cuộc họp hôm nay", tôi có thể cho nó một đoạn code để gửi email. Đây sẽ là một tool mới mà agent dùng mỗi khi cần gửi email. Chúng ta có thể viết bằng Python:

python
def send_message_to(recipient, message):
    """Useful to send an e-mail message to a recipient"""
    ...

Như chúng ta sẽ thấy, LLM sẽ sinh code để chạy tool khi cần, và nhờ đó hoàn thành tác vụ mong muốn.

python
send_message_to("Manager", "Can we postpone today's meeting?")

Thiết kế tool rất quan trọng và ảnh hưởng lớn đến chất lượng agent của bạn. Có tác vụ cần những tool được chế tạo rất chuyên biệt, có tác vụ lại giải được bằng tool đa dụng như "web_search".

Lưu ý rằng Action không giống Tool. Ví dụ, một Action có thể cần dùng nhiều tool để hoàn thành.

Cho phép agent tương tác với môi trường mở ra khả năng ứng dụng thực tế cho doanh nghiệp và cá nhân.

Ví dụ 1: trợ lý ảo cá nhân

Các trợ lý ảo như Siri, Alexa hay Google Assistant hoạt động như agent khi chúng thay mặt người dùng tương tác với môi trường số.

Chúng nhận câu hỏi của người dùng, phân tích ngữ cảnh, truy xuất thông tin từ cơ sở dữ liệu, rồi đưa ra câu trả lời hoặc khởi động hành động (như đặt lời nhắc, gửi tin nhắn hay điều khiển thiết bị thông minh).

Ví dụ 2: chatbot chăm sóc khách hàng

Nhiều công ty triển khai (deploy) chatbot như những agent tương tác với khách hàng bằng ngôn ngữ tự nhiên.

Các agent này có thể trả lời câu hỏi, hướng dẫn người dùng qua các bước khắc phục sự cố, mở ticket trong cơ sở dữ liệu nội bộ, thậm chí hoàn tất giao dịch.

Mục tiêu định sẵn của chúng có thể là tăng mức hài lòng của người dùng, giảm thời gian chờ hoặc tăng tỷ lệ chuyển đổi bán hàng. Bằng cách tương tác trực tiếp với khách hàng, học từ hội thoại và điều chỉnh phản hồi theo thời gian, chúng thể hiện các nguyên tắc cốt lõi của một agent đang hoạt động.

Ví dụ 3: nhân vật AI không do người chơi điều khiển trong trò chơi điện tử

AI agent chạy bằng LLM có thể làm cho các NPC (Non-Playable Character) sinh động và khó đoán hơn.

Thay vì đi theo những cây hành vi cứng nhắc, chúng có thể phản hồi theo ngữ cảnh, thích nghi với tương tác của người chơi và sinh ra lời thoại tinh tế hơn. Sự linh hoạt này giúp tạo ra những nhân vật sống động, cuốn hút, phát triển cùng hành động của người chơi.

Tóm tắt

Agent là một hệ thống dùng một model AI (thường là LLM) làm bộ máy suy luận cốt lõi để:

  • Hiểu ngôn ngữ tự nhiên: diễn giải và phản hồi chỉ dẫn của con người một cách có ý nghĩa.
  • Suy luận và lập kế hoạch: phân tích thông tin, ra quyết định và đề ra chiến lược giải quyết vấn đề.
  • Tương tác với môi trường: thu thập thông tin, thực hiện hành động và quan sát kết quả của các hành động đó.

Giờ bạn đã nắm chắc agent là gì, tiếp theo chúng ta sẽ đi vào "bộ não của agent": LLM.

Nguồn