Tool use trong AI
Khám phá khả năng giúp AI tương tác với thế giới thực qua API, công cụ tính toán và cơ sở dữ liệu. Hiểu rõ cơ chế ReAct và cách xây dựng AI Agent thực thụ.
Định nghĩa
Tool use là khả năng của AI — đặc biệt là Large Language Model — để tương tác với các công cụ bên ngoài như API, trình thực thi code, hoặc cơ sở dữ liệu nhằm thực hiện tác vụ vượt ra ngoài phạm vi sinh text thuần túy. Đây là bước chuyển biến AI từ "bộ dự đoán từ ngữ" sang "tác nhân có khả năng thay đổi trạng thái thế giới thực".
Giải thích chi tiết
Giới hạn của LLM và lý do cần tool use
LLM cơ bản chỉ là "bộ dự đoán token tiếp theo" dựa trên dữ liệu huấn luyện tĩnh. Chúng không thể thực hiện phép tính chính xác (ví dụ so sánh 9.11 và 9.9), không truy cập được thông tin thời gian thực (giá chứng khoán hiện tại, tình trạng giao thông), và không thể đụng chạm đến dữ liệu riêng tư của bạn (số dư ngân hàng, email cá nhân).
Tool use ra đời để bù đắp những khiếm khuyết này. Thay vì bắt AI tự tính toán hay tự nhớ thông tin, ta cung cấp cho AI "cánh tay nối dài" — các công cụ chuyên biệt như máy tính, công cụ tìm kiếm, hoặc API truy vấn dữ liệu — và dạy AI cách gọi chúng khi cần.
Cơ chế ReAct: Suy nghĩ trước hành động
Cơ chế phổ biến nhất trong Tool use là ReAct (Reasoning + Acting), một vòng lặp gồm ba bước:
- Thought: AI phân tích yêu cầu người dùng và xác định cần thông tin gì. Ví dụ: "Người dùng hỏi thời tiết Hà Nội hôm nay, tôi cần gọi API thời tiết."
- Action: AI output cấu trúc để gọi tool (thường là JSON với tên hàm và tham số). Ví dụ:
{"tool": "get_weather", "location": "Hanoi"}. - Observation: Hệ thống thực thi tool và trả kết quả về cho AI. AI dùng thông tin này để tạo câu trả lời cuối cùng.
Quá trình này giống như con người dùng máy tính bỏ túi khi gặp phép tính phức tạp — không tự tính nhẩm và có thể sai, mà dùng công cụ để đảm bảo độ chính xác tuyệt đối.
Tool use và Function calling: Mối quan hệ
Nhiều người nhầm lẫn hai khái niệm này. Function calling là một kỹ thuật triển khai cụ thể — LLM được fine-tune để output JSON theo schema xác định để gọi hàm. Tool use là khái niệm rộng hơn, chỉ bất kỳ cách nào để AI dùng công cụ bên ngoài, có thể qua function calling, cũng có thể qua việc sinh code Python rồi chạy (như Code Interpreter của ChatGPT), hoặc thậm chí qua trigger tự nhiên trong text.
Các loại tool phổ biến trong hệ thống AI
- Retrieval tools: Tìm kiếm vector database hay API Google Search để lấy thông tin cập nhật (thường kết hợp với RAG).
- Calculation tools: Python interpreter, Wolfram Alpha, hoặc calculator để thực hiện toán học chính xác.
- API tools: Gọi dịch vụ bên thứ ba — đặt vé máy bay, thanh toán, gửi email, tra cứu vận đơn Shopee.
- Execution tools: Chạy lệnh shell, truy vấn SQL, hoặc compile code để kiểm tra lỗi.
Ví dụ thực tế
ChatGPT với Code Interpreter (Advanced Data Analysis)
Khi bạn upload file CSV chứa doanh thu quý và yêu cầu "tính tỷ lệ tăng trưởng so với quý trước", AI không đọc file rồi đoán mò con số. Thay vào đó, AI gọi tool python để thực thi đoạn code pandas thực sự: đọc file, groupby, tính toán chính xác đến từng chữ số thập phân, rồi trả lại kết quả. Đây là Tool use dạng "code execution" — AI dùng Python như một công cụ bổ trợ cho khả năng toán học non kém của mình.
Chatbot ngân hàng tra cứu số dư thực
Giả sử bạn chat với trợ lý ảo của ngân hàng Techcombank hoặc VPBank và hỏi "Tài khoản chính của tôi còn bao nhiêu?". AI không hề biết số dư của bạn trong quá trình huấn luyện (dữ liệu riêng tư), cũng không đoán. AI sẽ gọi tool get_balance với tham số account_id được xác thực từ phiên đăng nhập của bạn, nhận về JSON {"balance": 15000000, "currency": "VND"}, sau đó sinh câu trả lời tự nhiên: "Tài khoản chính của quý khách hiện còn 15 triệu đồng."
Agent đặt vé máy bay tự động
Một AI Agent được thiết kế để đặt vé máy bay nhận lệnh: "Tìm chuyến bay rẻ nhất từ Hà Nội đến TP.HCM ngày mai cho 2 người". Agent sẽ thực hiện chuỗi tool use:
- Gọi
search_flights(API của Vietnam Airlines/VietJet) lấy danh sách chuyến bay. - Gọi
calculate_priceđể cộng thuế phí cho 2 người. - Gọi
book_ticketvới thông tin hành khách được trích xuất từ hệ thống CRM.
Mỗi bước đều là một lần sử dụng tool để tương tác với hệ thống đặt vé thực tế, không chỉ trả lời bằng text.
Ứng dụng
Developer và Kỹ sư Machine Learning
Xây dựng AI Agent tự động hóa workflow phần mềm: đọc báo cáo bug → gọi tool read_code để xem source → gọi compile để kiểm tra → nếu có lỗi, gọi edit_file để sửa → gọi test để chạy unit test xác nhận fix thành công. Đây là nền tảng của AutoGPT và các hệ thống lập trình tự chủ.
Doanh nghiệp và Automation
Thay thế RPA (Robotic Process Automation) truyền thống — vốn chỉ click chuột theo script cứng — bằng AI Agent thông minh hiểu ngữ cảnh. Ví dụ: AI nhận email đơn hàng từ khách, dùng tool extract_data để lấy thông tin sản phẩm, gọi check_inventory vào hệ thống kho, sau đó tự động gọi create_shipping_label cho đơn vị vận chuyển Giao Hàng Nhanh hoặc Viettel Post.
Data Analyst và Nghiên cứu khoa học
Tự động hóa phân tích dữ liệu phức tạp: AI nhận yêu cầu "Phân tích mối liên hệ giữa nhiệt độ và doanh số bán trà sữa từ dataset 5 năm", tự động gọi tool query_sql để lấy dữ liệu, run_regression để chạy mô hình thống kê, generate_chart để vẽ biểu đồ, và send_email để gửi báo cáo PDF vào Slack của team.
So sánh
| Đặc điểm | Tool use | Function calling | Prompt chaining |
|---|---|---|---|
| Bản chất | Khái niệm rộng: AI tương tác công cụ bên ngoài | Kỹ thuật triển khai cụ thể: output JSON để gọi hàm | Kỹ thuật ghép nhiều prompt liên tiếp |
| Tương tác ngoài | Có thể gọi API, chạy code, truy vấn DB | Có, thông qua việc gọi hàm được định nghĩa | Không, chỉ xử lý nội bộ trong LLM |
| Output | Đa dạng: JSON, code Python, hoặc trigger | JSON schema tuân chuẩn | Text thuần, kết quả bước trước làm input bước sau |
| Mục đích chính | Thực hiện tác vụ thay đổi trạng thái thế giới | Gọi hàm/API một cách có cấu trúc | Phân rã bài toán phức tạp thành chuỗi bước đơn giản |
Kết luận: Function calling là một cách thực hiện Tool use. Prompt chaining có thể kết hợp với Tool use (ví dụ: bước 1 gọi tool tìm kiếm, bước 2 phân tích kết quả) nhưng không bắt buộc phải có công cụ bên ngoài. Tool use là nền tảng để biến LLM thành AI Agent thực thụ, trong khi Prompt chaining là kỹ thuật tổ chức suy nghĩ.
Bài viết liên quan
Cùng cụm:
- Prompt chaining là gì? — Kỹ thuật phân rã bài toán phức tạp thành chuỗi prompt đơn giản, thường đi kèm với Tool use để tạo thành pipeline hoàn chỉnh.
- Function calling là gì? — Cơ chế triển khai cụ thể giúp LLM gọi hàm và API một cách có cấu trúc qua JSON.
- AI memory là gì? — Cách AI lưu trữ ngữ cảnh dài hạn giữa các lần sử dụng tool, đảm bảo tính liên tục trong tương tác đa bước.
- Context engineering — Nghệ thuật thiết kế ngữ cảnh để AI biết khi nào nên gọi tool và khi nào nên tự trả lời.
Đọc tiếp:
- AI Agents — Tìm hiểu cách kết hợp Tool use, Memory và Planning để xây dựng tác nhân AI tự chủ hoàn toàn.
- RAG và tìm kiếm nâng cao — Tool use thường kết hợp với Retrieval để AI truy cập kiến thức chuyên sâu ngoài dữ liệu huấn luyện.
Prompt chaining là gì?
Tìm hiểu cách phá vỡ task phức tạp thành chuỗi prompt đơn giản - kỹ thuật cốt lõi để xây dựng AI Agent và hệ thống tự động hóa hiệu quả.
Function calling là gì?
Tìm hiểu Function calling - cơ chế giúp AI gọi API và tương tác với cơ sở dữ liệu thực. Hướng dẫn chi tiết JSON schema, xử lý song song và best practices cho developer.