Tool Use — Khi AI Biết 'Dùng Tay' Làm Việc

@Nguyễn Ngô Thượng//~5 phút đọc0
Chia sẻ:

import { Alert } from '@/components/mdx/alert';

Tool Use — Khi AI Biết "Dùng Tay" Làm Việc

TL;DR: LLM chỉ có "não" — không có "tay". Tool cho phép AI gọi external functions: query database, gửi email, gọi API, đọc file. Không có tool, AI chỉ nói suông. Có tool, AI làm việc thật.


Tại Sao AI Cần Tool?

LLM standalone chỉ có thể làm 1 việc: sinh ra text.

User: "Doanh thu tháng 3 là bao nhiêu?"
LLM (không có tool): "Tôi không có access vào database của bạn."

User: "Gửi email cho khách hàng A"
LLM (không có tool): "Tôi không thể gửi email."

LLM không thể:

  • ❌ Query database
  • ❌ Gửi email/SMS
  • ❌ Gọi API
  • ❌ Đọc/ghi file trên máy bạn
  • ❌ Search Google real-time
  • ❌ Chạy code

ℹ️ Info: Tương tự: LLM giống như một giáo sư biết tất cả lý thuyết — nhưng không có tay chân. Tool là "tay chân" để giáo sư đó làm việc thật.


Tool Là Gì?

Tool = function/program mà AI có thể gọi để làm việc cụ thể.

User hỏi: "Doanh thu tháng 3?"
     ↓
AI phân tích → cần query database
     ↓
AI gọi tool: query_db("SELECT SUM(total) FROM orders WHERE month = 3")
     ↓
Tool trả về: 150,000,000
     ↓
AI trả lời: "Doanh thu tháng 3 là 150 triệu VNĐ."

Workflow Của Tool Use

1. User input
   "Doanh thu tháng 3 của shop Hà Nội?"

2. AI phân tích → quyết định dùng tool nào
   "Cần query database → dùng query_db tool"

3. AI generate tool call
   tool: "query_db"
   args: {
     sql: "SELECT SUM(total) FROM orders WHERE month = 3 AND shop = 'Ha Noi'",
     db: "postgres"
   }

4. Tool executes → trả kết quả
   Result: { total: 150000000 }

5. AI generate response dựa trên result
   "Doanh thu tháng 3 của shop Hà Nội là 150 triệu VNĐ."

Success: Key insight: AI không "chạy" tool — AI chỉ generate tool call (JSON). Hệ thống bên ngoài execute tool và trả kết quả về cho AI.


Các Loại Tool Phổ Biến

AI tự search Google/DuckDuckKo để lấy thông tin real-time.

User: "Giá Bitcoin hôm nay?"
AI → tool: web_search("Bitcoin price today")
Tool → "Bitcoin: $67,234"
AI → "Giá Bitcoin hiện tại là $67,234"

2. Code Interpreter

AI viết + chạy code trong sandbox.

User: "Phân tích file CSV này, vẽ chart"
AI → viết Python code → execute trong sandbox
AI → trả về chart + analysis

3. API Call

AI gọi REST API để tương tác với hệ thống.

User: "Gửi tin nhắn Zalo cho khách hàng A"
AI → tool: call_api({
  url: "https://api.zalo.me/v2/zns",
  method: "POST",
  body: { to: "090xxx", template: "order_confirm", params: {...} }
})
Tool → Zalo API gửi tin nhắn → success
AI → "Đã gửi tin nhắn thành công"

4. File Read/Write

AI đọc/ghi file trên máy bạn.

User: "Đọc file config.json và sửa port thành 8080"
AI → tool: read_file("config.json")
AI → tool: write_file("config.json", modified_content)
AI → "Đã update port thành 8080"

5. Database Query

AI chạy SQL query.

User: "Top 10 khách hàng chi tiêu nhiều nhất"
AI → tool: run_sql("SELECT name, SUM(total) FROM orders GROUP BY name ORDER BY SUM(total) DESC LIMIT 10")
Tool → trả về 10 records
AI → present thành bảng

6. MCP Server (nâng cao)

AI kết nối với hệ thống qua MCP protocol.

User: "Lấy danh sách đơn hàng từ Lark Base"
AI → tool: mcp_call({
  server: "lark-mcp",
  method: "list_records",
  params: { app_token: "...", table_id: "..." }
})
Tool → Lark Base API → trả về records
AI → present danh sách đơn hàng

Tool Use trong Công Việc Tại Diginno

Task Tool dùng Mô tả
Sync đơn POS → Lark API Call Gọi Pancake POS API + Lark Bitable API
Query doanh thu Database Query PostgreSQL query qua MCP
Gửi ZNS notification API Call Zalo ZNS API
Phân tích data khách hàng Code Interpreter Python pandas trong sandbox
Generate contract File Read/Write Read template → fill data → write PDF
Research công nghệ mới Web Search Search docs, GitHub, Reddit

Tool Calling — Cách AI "Gọi" Tool

AI không trực tiếp gọi tool. Nó generate JSON mô tả tool call, rồi hệ thống execute.

Ví dụ tool call JSON:

{
  "tool_calls": [
    {
      "id": "call_abc123",
      "type": "function",
      "function": {
        "name": "query_database",
        "arguments": "{\"sql\": \"SELECT COUNT(*) FROM orders\", \"db\": \"postgres\"}"
      }
    }
  ]
}

Hệ thống nhận JSON này → execute query_database → trả kết quả → AI sinh response.

⚠️ Warning: Lưu ý quan trọng: AI có thể generate tool call sai — gọi wrong tool, wrong parameters, hoặc SQL injection. Luôn validate tool calls trước khi execute, đặc biệt với database queries.


Multi-Tool Use — AI Dùng Nhiều Tool

AI có thể chain nhiều tools cho 1 task phức tạp:

User: "Phân tích doanh thu Q1 và gửi báo cáo cho sếp"

Step 1: AI → query_db("SELECT * FROM orders WHERE Q1")
Step 2: AI → code_interpreter("pandas analysis + matplotlib chart")
Step 3: AI → generate_pdf(report_content)
Step 4: AI → send_email({ to: "boss@diginno.net", attachment: "Q1_report.pdf" })

→ 4 tools được gọi tuần tự

Bài Tập Thực Hành

Task 1: Identify tools

Cho các task sau, identify tool nào AI cần dùng:

  1. "Lấy thời tiết Hà Nội hôm nay"
  2. "Gửi Slack message cho team khi có đơn mới"
  3. "Phân tích sentiment của 1000 reviews"
  4. "Sync dữ liệu từ Google Sheets vào PostgreSQL"

Task 2: Design tool call

Viết tool call JSON cho task: "Query đơn hàng của khách hàng có email 'nam@diginno.net'"

-- Gợi ý: SELECT * FROM orders WHERE customer_email = 'nam@diginno.net'

Task 3: Multi-tool workflow

Design workflow cho task: "Lấy data từ Lark Base → phân tích → generate chart → gửi email báo cáo"

List các tools cần dùng theo thứ tự.


Tóm Tắt

Khái niệm Nội dung
Tool Function/program AI gọi để làm việc thật
Không có tool AI chỉ sinh text — không làm gì được
Có tool AI query DB, gọi API, gửi email, search web
Tool call AI generate JSON → hệ thống execute → trả result
Multi-tool AI chain nhiều tools cho task phức tạp
Rủi ro AI generate wrong tool call → cần validation
Key takeaway Tool biến AI từ "não nói suông" thành "người làm việc thật"

Bài Tiếp Theo

Bài 6: MCP — Cầu Nối AI Với Thế Giới

Bài 4: Prompt Engineering — Nghệ Thuật Ra Lệnh Cho AI


Liên hệ tư vấn

Bài viết hữu ích?

Chia sẻ để nhiều người biết đến!

Chia sẻ:

>_ LLM-Friendly Copy

Copy as Markdown to use with ChatGPT, Claude, or other AI tools

1,220 words|6,723 characters

//Bình luận

Bài viết liên quan

Khám phá thêm những bài viết cùng chủ đề với Tool Use — Khi AI Biết 'Dùng Tay' Làm Việc

Bài viết hữu ích? Hãy kết nối với Diginno!

Chúng tôi giúp doanh nghiệp SME ứng dụng AI và automation vào quy trình làm việc - từ tư vấn chiến lược đến triển khai thực tế.