Đến đây agent đã biết "nói". Giờ ta cho nó "làm". Tool (còn gọi là function/action) là một khả năng cụ thể bạn cấp cho agent: đọc Sheet, gửi email, tra web, gọi API. Đây là bước biến chatbot thành agent thật.
Tool hoạt động thế nào
Mỗi tool có 3 phần bạn cần khai báo (trên nền tảng no-code thường là điền vào form):
- Tên — ngắn, gợi nghĩa:
check_stock,send_email. - Mô tả — câu giải thích để LLM biết KHI NÀO dùng. Đây là phần quan trọng nhất.
- Tham số (parameters) — dữ liệu tool cần: ví dụ
product_code.
Ví dụ khai báo một tool
{
"name": "check_stock",
"description": "Tra số lượng tồn kho của một sản phẩm theo mã. Dùng khi khách hỏi còn hàng không hoặc còn bao nhiêu.",
"parameters": {
"product_code": "Mã sản phẩm, ví dụ SON-03"
}
}
Phần description chính là "tài liệu hướng dẫn" cho LLM. Viết mô tả rõ = agent gọi tool đúng lúc.
Các bước gắn tool (ví dụ: đọc Google Sheets tồn kho)
- Trong nền tảng, thêm node/tool "Google Sheets" hoặc "HTTP Request".
- Kết nối tài khoản (dùng Credentials đã chuẩn bị ở Bài 3).
- Chọn thao tác: "Read rows" / "Lookup".
- Đặt tên và viết mô tả rõ ràng cho agent.
- Khai báo tham số agent cần truyền vào (ví dụ mã sản phẩm).
- Cho agent chạy thử với câu "Son 03 còn không?" và xem nó có gọi đúng tool không.
Khung tư duy: quyền hạn theo mức rủi ro
Chia tool thành 3 tầng, cấp quyền tăng dần khi bạn đã tin agent:
- Đọc (an toàn): tra sheet, tìm web, xem lịch. Sai cũng không hại.
- Ghi có kiểm soát: thêm dòng vào sheet log, tạo nháp email. Sửa được.
- Hành động không thể thu hồi: gửi email cho khách, chuyển tiền, xóa dữ liệu. Luôn cân nhắc thêm bước xác nhận của con người.
Kiểm soát "human-in-the-loop"
Với các tool tầng 3, thêm một chốt chặn:
Quy tắc trong system prompt:
"Trước khi dùng send_email tới khách, hãy soạn nháp và
hỏi lại: 'Em gửi email này nhé?' - chỉ gửi khi được duyệt."
Hoặc trong workflow, thêm node "chờ phê duyệt" trước bước gửi.
Checklist khi thêm một tool
- [ ] Tên tool ngắn, gợi nghĩa.
- [ ] Mô tả nêu rõ tool làm gì và khi nào dùng.
- [ ] Tham số được định nghĩa và có ví dụ.
- [ ] Đã test riêng tool (chạy tay) trước khi để agent dùng.
- [ ] Tool tầng 3 có bước xác nhận của con người.
- [ ] System prompt có nhắc agent về tool này.
Sai lầm thường gặp
- Mô tả tool sơ sài: LLM không biết khi nào dùng nên bỏ qua hoặc gọi lung tung.
- Cấp quá nhiều quyền ngay từ đầu: cho agent gửi email/xóa dữ liệu khi chưa kiểm thử — rủi ro cao.
- Không test tool riêng lẻ: gộp mọi thứ rồi chạy, khi lỗi không biết do prompt hay do tool.
- Quá nhiều tool cùng lúc: 15 tool khiến agent phân vân. Bắt đầu 1-3 tool cốt lõi.
- Quên xử lý lỗi tool: sheet trống hoặc API timeout — agent cần biết nói "em chưa tra được" thay vì bịa.
Mẹo thực chiến khi tool báo lỗi
Tool ngoài đời sẽ thất bại: Sheet trống, API timeout, tham số sai. Hãy dạy agent cách phản ứng ngay trong system prompt: "Nếu công cụ trả lỗi hoặc không có kết quả, đừng bịa; hãy nói 'em chưa tra được, để em kiểm tra lại' và nếu cần thì escalate." Một agent xử lý lỗi lịch sự đáng tin hơn nhiều so với một agent bịa số liệu khi tool hỏng.
Tổng kết
Tool biến agent từ "biết nói" thành "biết làm". Khai báo tên rõ, mô tả kỹ để LLM biết khi nào dùng, phân tầng quyền theo rủi ro và thêm human-in-the-loop cho hành động không thể thu hồi. Test từng tool riêng và dạy agent xử lý khi tool báo lỗi. Bài sau, ta gắn "trí nhớ" và tài liệu để agent trả lời dựa trên kiến thức riêng của bạn.