Hướng Dẫn Tool Use Claude — Kết Nối API và Hàm Bên Ngoài
Hướng Dẫn Tool Use Claude — Kết Nối API và Hàm Bên Ngoài
Tool use (hay còn gọi là function calling) là tính năng cho phép Claude gọi các hàm và API bên ngoài mà bạn định nghĩa. Thay vì chỉ trả lời văn bản, Claude có thể chủ động lấy dữ liệu thời gian thực, thực thi code, hoặc tương tác với hệ thống của bạn.
Đây là một trong những tính năng mạnh nhất trong hướng dẫn dùng Claude API — đặc biệt phù hợp với doanh nghiệp SME muốn tích hợp AI vào quy trình nội bộ. Tham khảo thêm tổng quan về Claude trên Agentwork.vn và hướng dẫn bắt đầu với Claude API.
Dưới đây là ví dụ đơn giản nhất sử dụng server tool (Anthropic xử lý thực thi):
import anthropic
client = anthropic.Anthropic()
response = client.messages.create(
model="claude-opus-4-6",
max_tokens=1024,
tools=[{"type": "web_search_20260209", "name": "web_search"}],
messages=[{"role": "user", "content": "Tin tức mới nhất về xe điện?"}],
)
print(response.content)
import Anthropic from "@anthropic-ai/sdk";
const client = new Anthropic();
const response = await client.messages.create({
model: "claude-opus-4-6",
max_tokens: 1024,
tools: [{ type: "web_search_20260209", name: "web_search" }],
messages: [{ role: "user", content: "Tin tức mới nhất về xe điện?" }]
});
console.log(response.content);
Cách Tool Use Hoạt Động
Điểm khác biệt cốt lõi giữa các loại tool là nơi code được thực thi:
Client Tools (Tool tự xử lý)
Bao gồm các tool do bạn tự định nghĩa và các Anthropic-schema tools như bash, text_editor. Quy trình hoạt động:
- Claude trả về response với
stop_reason: "tool_use"và một hoặc nhiềutool_useblocks - Code của bạn thực thi thao tác tương ứng
- Bạn gửi lại kết quả qua
tool_result
Đây còn được gọi là agentic loop — vòng lặp tác nhân cho phép Claude ra quyết định nhiều bước.
Server Tools (Tool Anthropic xử lý)
Bao gồm: web_search, code_execution, web_fetch, tool_search. Anthropic chạy code trực tiếp trên hạ tầng của họ — bạn nhận kết quả mà không cần xử lý gì thêm.
Thêm
strict: true vào định nghĩa tool để đảm bảo Claude luôn gọi tool đúng schema. Xem thêm tài liệu về Strict Tool Use.
Tool use là một trong những tính năng có đòn bẩy cao nhất khi xây dựng AI agent. Trong các benchmark như LAB-Bench FigQA và SWE-bench, việc thêm ngay cả các tool cơ bản đã tạo ra bước ngoặt về năng lực, thường vượt qua cả ngưỡng chuyên gia con người.
Ví Dụ Thực Tế
Ứng dụng cho doanh nghiệp SME Việt Nam
Tool use mở ra nhiều khả năng thực tế:
- Chatbot hỗ trợ khách hàng: Claude gọi API kiểm tra tồn kho, trạng thái đơn hàng theo thời gian thực
- Phân tích tài chính: Claude lấy dữ liệu từ hệ thống kế toán, phân tích và tóm tắt
- Tự động hóa quy trình: Claude quyết định khi nào cần gọi API nào, theo thứ tự nào
- Tích hợp CRM: Claude đọc/ghi dữ liệu khách hàng tự động
Tham khảo thêm về xây dựng hệ thống agentic trong bài về Prompt Engineering cho Claude.
Khi Claude Thiếu Thông Tin Để Gọi Tool
Nếu prompt của người dùng không đủ thông tin để điền các tham số bắt buộc của tool, Claude xử lý khác nhau tùy model:
- Claude Opus: Rất có khả năng nhận ra thiếu tham số và hỏi lại
- Claude Sonnet: Có thể hỏi (nhất là khi được khuyến khích suy nghĩ trước), hoặc cố gắng suy luận giá trị hợp lý
Ví dụ: Với tool get_weather yêu cầu tham số location, nếu người dùng chỉ hỏi "Thời tiết thế nào?" mà không nêu địa điểm, Claude Sonnet có thể tự đoán:
{
"type": "tool_use",
"id": "toolu_01A09q90qw90lq917835lq9",
"name": "get_weather",
"input": { "location": "Hà Nội, Việt Nam", "unit": "celsius" }
}
Lưu ý quan trọng: Hành vi này không được đảm bảo, đặc biệt với prompt mơ hồ. Claude Opus trong trường hợp không đủ context sẽ có xu hướng hỏi lại thay vì tự đoán.
Chi Phí và Token khi Dùng Tool Use
Chi phí cho request có tool use bao gồm:
- Tổng số input tokens gửi đến model (bao gồm cả tham số
tools) - Số output tokens được sinh ra
- Với server-side tools: phí bổ sung dựa trên lượng sử dụng (ví dụ: web search tính phí theo số lần tìm kiếm)
Các token phát sinh thêm từ tool use đến từ:
- Tham số
toolstrong API request (tên tool, mô tả, schema) - Các
tool_usecontent blocks trong request/response - Các
tool_resultcontent blocks trong request
Khi sử dụng tools, Anthropic tự động thêm system prompt đặc biệt. Số token system prompt tương ứng theo từng model:
| Model | Tool choice | Token bổ sung |
|---|---|---|
| Claude Opus 4.6 | auto, none |
346 tokens |
| Claude Opus 4.6 | any, tool |
313 tokens |
| Claude Sonnet 4.6 | auto, none |
346 tokens |
| Claude Sonnet 4.6 | any, tool |
313 tokens |
| Claude Haiku 4.5 | auto, none |
346 tokens |
| Claude Haiku 3.5 | auto, none |
264 tokens |
Tham khảo bảng so sánh giá các model Claude để ước tính chi phí tổng thể.
Bước Tiếp Theo
Sau khi nắm được khái niệm cơ bản về Tool Use, bạn có thể đi sâu hơn:
- Hiểu khái niệm: Tìm hiểu nơi tool chạy, cách agentic loop hoạt động, và khi nào nên dùng tool
- Xây dựng từng bước: Từ một lần gọi tool đến sản phẩm production
- Duyệt tất cả tools: Danh mục các tool Anthropic cung cấp sẵn và thuộc tính của chúng
Xem thêm cách gửi request với Messages API để hiểu cấu trúc request đầy đủ.
Xem đầy đủ thông tin về Claude tại trang Claude Anthropic trên Agentwork.vn. Tìm hiểu thêm các nền tảng AI hàng đầu khác phù hợp cho doanh nghiệp Việt Nam.
Đoàn Đình Tỉnh
admin