Khái quát về AI Agent của tác giả Huyền Chip

1. Tổng quan về Agent
• Định nghĩa Agent:
• Theo cuốn Artificial Intelligence: A Modern Approach (Russell & Norvig), Agent là bất kỳ thực thể nào có thể “cảm nhận” (perceive) môi trường và “hành động” (act) lên môi trường đó.
• Đối với AI hiện đại, Agent được đặc trưng bởi môi trường nó vận hành và tập hợp hành động (actions) – thường được mở rộng nhờ các tools.
• Mục tiêu:
• Tạo ra các Agent tự động hỗ trợ người dùng (từ viết code, lấy dữ liệu, phân tích cho đến quản lý công việc, giao dịch…).
• Sự kết hợp giữa LLM và các công cụ bên ngoài mang đến khả năng chưa từng có, nhưng cũng ẩn chứa nhiều rủi ro.
• Ví dụ cụ thể:
• ChatGPT là một Agent có khả năng truy cập web, chạy code, tạo hình ảnh…
• RAG Systems (Retrieval-Augmented Generation) cũng là một dạng Agent, nơi “retriever” và “SQL executor” đóng vai trò công cụ.
• SWE-agent (Yang et al., 2024) trên GPT-4: môi trường là computer terminal và file system, còn hành động gồm “navigate repo, search files, view files, edit lines…”. Đây là ví dụ điển hình về Agent chuyên cho coding.
• Thách thức trong xây dựng Agent:
• Compound mistakes: Nhiều bước (10, 100 bước), mỗi bước đều có xác suất sai → độ chính xác suy giảm lũy tiến.
• Higher stakes: Khi được trao quyền gọi công cụ “mạnh” (gửi email, chỉnh sửa cơ sở dữ liệu…), Agent có thể gây hậu quả nặng nề nếu thất bại.
2. Tools (Công cụ) dành cho Agent
• Mục tiêu: Giúp LLM mở rộng khả năng, thay vì chỉ trả lời văn bản. Công cụ đóng vai trò “mắt, tai, tay chân” của mô hình.
• Phân loại:
1. Knowledge augmentation:
• Text retriever, web browser, APIs (search, Slack, email, inventory…).
• Giúp Agent có thông tin cập nhật, tránh “đóng băng” ở dữ liệu cũ.
2. Capability extension:
• Calculator, unit converter, code interpreter, translator…
• Tiết kiệm chi phí đào tạo mô hình (thay vì cố gắng huấn luyện LLM “giỏi toán” hay “giỏi code”).
3. Write actions:
• Thực hiện thao tác ghi lên môi trường: cập nhật DB, trả lời email, initiate bank transfers…
• Đòi hỏi quy trình bảo mật chặt chẽ, tránh lạm dụng hoặc bị tấn công.
• Chú ý bảo mật:
• Agent có quyền truy cập tool = rủi ro cao (rò rỉ thông tin, xóa DB…).
• Cần giới hạn quyền, có “human-in-the-loop” ở thao tác nhạy cảm.
3. Planning (Lập kế hoạch)
• Vì sao cần Planning:
• Tác vụ phức tạp đòi hỏi nhiều bước, cần roadmap.
• Nhiều công cụ và luồng xử lý → mô hình phải có cơ chế suy nghĩ trước khi hành động.
• Cách tiếp cận:
1. Planning và Execution gộp chung: đơn giản nhưng dễ “đốt” tài nguyên nếu kế hoạch sai.
2. Tách Planning – Execution:
• (1) Tạo bản kế hoạch, (2) Thẩm định/hiệu đính, (3) Thực thi, (4) Phản hồi kết quả → có thể lặp vòng cho đến khi hoàn thành.
• Có thể thêm AI judge hoặc người thật để phê duyệt, sửa lỗi.
• Intent classifier:
• Xác định mục đích người dùng → kích hoạt đúng tool, xử lý phù hợp.
• Loại bỏ yêu cầu không hợp lệ (out of scope).
• Debate: LLM có thật sự biết lập kế hoạch?
• Yann LeCun cho rằng LLM autoregressive “không biết plan” vì thiếu cơ chế backtracking.
• Tuy nhiên, một số nghiên cứu chỉ ra LLM + search tool + state tracking vẫn có thể thực hiện planning.
• Planning = Search problem: duyệt qua không gian hành động, dự đoán outcome, có thể quay lui khi sai.
• So sánh Foundation Model và RL:
• RL agent: Planner được huấn luyện qua cơ chế reward, cần nhiều thời gian & tài nguyên.
• FM agent: Planner là chính LLM (prompt hoặc finetune), nhanh hơn, linh động hơn, nhưng khả năng “lập kế hoạch” vẫn đang được tranh luận.
• Xu hướng: Kết hợp hai bên (FM + RL) để tận dụng thế mạnh của nhau.
4. Cách tạo Plan (Plan Generation)
• Prompt engineering:
• Định nghĩa danh sách công cụ, yêu cầu LLM xuất “kế hoạch” bằng cách gọi những tool này.
• Ví dụ: [fetch_product_info, generate_query, generate_response].
• Function calling:
• Đa số nền tảng AI nay hỗ trợ “function calling” → mô hình tự động gọi hàm với tham số.
• Lưu ý hiện tượng hallucination (tên hàm sai, tham số sai, giá trị sai) → cần hiển thị rõ đầu vào và đầu ra để kiểm soát.
• Planning granularity:
• Kế hoạch mức cao vs mức chi tiết (gọi chính xác hàm, tham số).
• Tách bạch “kế hoạch ngôn ngữ tự nhiên” (dễ tái sử dụng) và “trình dịch lệnh” (dịch sang hàm cụ thể).
• Control flow:
• Sequential (lần lượt), Parallel (song song), If statement (rẽ nhánh), For loop (lặp).
• Kế hoạch phức tạp → Agent framework cần hỗ trợ hoặc mô hình phải linh hoạt.
5. Reflection (Tự đánh giá) & Error Correction (Sửa lỗi)
• Tại sao cần Reflection:
• Phát hiện và sửa sai giữa chừng thay vì chạy đến cuối mới biết thất bại.
• Có thể dưới dạng:
• Self-critique prompts (cùng mô hình phê bình).
• Multi-agent (một agent lập kế hoạch, agent khác đánh giá).
• Ví dụ:
• ReAct (Yao et al., 2022): Luân phiên “Thought → Act → Observation,” xoay vòng cho đến khi hoàn thành.
• Reflexion (Shinn et al., 2023): Thêm bước “đánh giá” kết quả, “tự phản tư,” rồi đề ra trajectory (kế hoạch) mới.
• Đánh đổi:
• Reflection làm tăng chi phí (token, thời gian).
• Nhưng bù lại, chất lượng và độ tin cậy Agent được cải thiện.
6. Chọn lựa Tools (Tool Selection)
• Không có công thức cố định: Tùy môi trường, bài toán, tài nguyên mô hình.
• Toolformer thử 5 tool, Chameleon dùng 13 tool, Gorilla nghiên cứu 1.645 API.
• Cách đánh giá/ tối ưu:
1. So sánh hiệu suất khi thêm/bớt một tool.
2. Đo tần suất gọi từng tool, xem tool nào hay lỗi → điều chỉnh hoặc loại bỏ.
3. Trường hợp Agent “lười” dùng tool hoặc dùng sai → cải thiện prompt, finetune.
• Tạo tool mới:
• Chameleon phân tích “tool transition” (tần suất chuyển từ tool này sang tool khác).
• Voyager cho Agent tự lập trình tool mới khi cần, lưu vào “skill library” để tái sử dụng.
7. Failure Modes & Evaluation
• Planning failures:
• Gọi tên tool không có, tham số sai, không đạt mục tiêu hoặc quên ràng buộc, sai deadline…
• Agent tự nhận “hoàn thành” dù chưa (lỗi reflection).
• Tool failures:
• Tool bản thân bị lỗi (image caption sai, SQL hỏng…), hoặc translator từ plan sang lệnh sai.
• Thiếu tool quan trọng cũng là một dạng “lỗi.”
• Efficiency:
• Thời gian, số bước, chi phí API…
• So sánh với baseline (Agent khác hoặc con người).
• Phương pháp đánh giá:
• Tạo bộ dữ liệu gồm (task, tool inventory), chạy thử Agent → đếm số lần lỗi, tỉ lệ plan valid, chi phí trung bình, v.v.
• Quan sát pattern lỗi, tối ưu tương ứng.
8. Kết luận & Hướng tới Memory System
• Tổng hợp:
• Agent = môi trường + bộ công cụ + AI planner.
• Tools giúp LLM vượt giới hạn ngữ cảnh và thực hiện hành động trong thế giới thực.
• Planning & Reflection quyết định sự thành bại của Agent.
• Không có gì quá mới so với khái niệm cổ điển (chain-of-thought, self-critique, structured outputs), nhưng giờ tích hợp thành “agentic pattern.”
• Memory system (hệ thống ghi nhớ thông tin ngoài context window) là bước tiếp theo mà tác giả sẽ bàn đến trong bài sau, giúp Agent xử lý tốt hơn tác vụ vượt dung lượng ngữ cảnh.
Tóm lại, bài viết cho thấy tiềm năng “vô hạn” của AI Agents, đồng thời nhấn mạnh sự cần thiết của các thành phần: Tools, Planning, Reflection, cũng như khuôn khổ bảo mật và hệ thống đánh giá để kiểm soát rủi ro.

 

 

 

Leave a Reply

Your email address will not be published. Required fields are marked *