Tool Search, Programmatic Tool Calling, Tool Use Examples: 3 cách giảm token khi agent có nhiều tool
Tóm tắt
Tool Search hoãn nạp định nghĩa tool, Programmatic Tool Calling để Python gọi tool và chỉ trả kết quả cuối, Tool Use Examples dạy quy ước tham số. Chọn theo nút thắt lớn nhất của bạn.
Kết nối năm MCP server với vài chục tool, và agent của bạn đã "ăn" hàng chục nghìn token cho phần định nghĩa tool trước khi người dùng hỏi câu đầu tiên. Thêm vào đó, mỗi lần gọi tool là một lượt model, kết quả trung gian (log, bảng dữ liệu) đổ hết vào context. Tháng 11/2025, Anthropic ra mắt ba tính năng beta trên Claude Developer Platform để giải quyết đúng ba nút thắt này: Tool Search Tool, Programmatic Tool Calling và Tool Use Examples. Cả ba bật bằng beta header advanced-tool-use-2025-11-20.
Tổng quan
| Tính năng | Giải quyết | Số liệu Anthropic công bố |
|---|---|---|
| Tool Search Tool | Định nghĩa tool chiếm context, chọn nhầm tool | ~77K → ~8,7K token trước khi bắt đầu (giảm 85%); Opus 4.5 trên eval MCP: 79,5% → 88,1% |
| Programmatic Tool Calling | Kết quả trung gian lớn, quá nhiều lượt model | Token trung bình tác vụ nghiên cứu phức tạp giảm 37% |
| Tool Use Examples | Gọi tool sai định dạng, sai quy ước tham số | Độ chính xác xử lý tham số phức tạp 72% → 90% (test nội bộ) |
1. Tool Search Tool: nạp tool khi cần
Đánh dấu tool là "hoãn nạp", Claude chỉ thấy công cụ tìm kiếm và các tool không hoãn; khi cần, nó tìm, và tool khớp mới được mở thành định nghĩa đầy đủ. Không phá prompt caching vì tool được thêm sau phần prefix.
"tools": [
{"type": "tool_search_tool_regex_20251119", "name": "tool_search_tool_regex"},
{"name": "github_create_issue", "description": "...",
"input_schema": {...}, "defer_loading": true}
]
Có biến thể BM25, hoặc tự viết tìm kiếm bằng embedding. Với MCP, đặt defer_loading mặc định cho cả server và giữ lại vài tool dùng thường xuyên.
Nên dùng: định nghĩa tool trên ~10K token, từ 10 tool trở lên, nhiều MCP server. Không cần: dưới 10 tool, hoặc tool nào cũng dùng mỗi phiên.
2. Programmatic Tool Calling: để code gọi tool
Thay vì mỗi tool một lượt model, Claude viết Python chạy trong môi trường code execution, gọi tool trong vòng lặp, điều kiện, song song, rồi lọc/gộp kết quả. Chỉ output cuối của script vào context. Ví dụ trong bài: kiểm tra tuân thủ ngân sách, khoảng 200KB dữ liệu chi phí thô rút còn khoảng 1KB kết quả.
"tools": [
{"type": "code_execution_20250825", "name": "code_execution"},
{"name": "get_expenses", "description": "...", "input_schema": {...},
"allowed_callers": ["code_execution_20250825"]}
]
Khi script gọi tool, bạn nhận tool_use có trường caller, trả kết quả như bình thường, script chạy tiếp.
Nên dùng: dữ liệu lớn chỉ cần số tổng hợp, chuỗi từ 3 lần gọi phụ thuộc nhau trở lên, thao tác hàng loạt. Không cần: một lần gọi đơn giản, hoặc khi Claude nên tự suy luận trên từng kết quả.
3. Tool Use Examples: dạy bằng ví dụ
JSON Schema mô tả kiểu dữ liệu nhưng không nói được quy ước: định dạng ngày, khi nào điền object lồng, tham số nào đi cùng nhau. Thêm mảng input_examples vào định nghĩa tool:
"input_examples": [
{"title": "Login lỗi 500", "priority": "critical",
"escalation": {"level": 2, "notify": ["oncall"]}},
{"title": "Cập nhật tài liệu nội bộ"}
]
Khuyến nghị: 1–5 ví dụ mỗi tool, giá trị thực tế, trộn bản tối giản và đầy đủ, tập trung vào chỗ schema còn mơ hồ.
Rủi ro và lưu ý
- Tất cả đang ở dạng beta: tên type và header có thể đổi, cần theo dõi tài liệu.
- Tool search thêm một bước tìm kiếm, tức thêm độ trễ; chỉ đáng khi tiết kiệm context lớn.
- Programmatic calling cần môi trường code execution; tool cho phép gọi từ code nên an toàn khi chạy lặp/song song.
- Ví dụ cũng tốn token; đừng thêm cho tool đơn giản.
- Số liệu là của Anthropic; hãy đo trên bộ eval của bạn.
Áp dụng thế nào?
- Dev: Đo token phần tools trong request. Trên 10K thì thử tool search trước; workflow nhiều bước xử lý dữ liệu thì thử programmatic calling.
- Tech Lead: Bắt đầu từ nút thắt lớn nhất: context phình (tool search), kết quả trung gian lớn (PTC), hay gọi sai tham số (examples). Ba tính năng bổ trợ nhau.
- PM: Với sản phẩm tích hợp nhiều hệ thống, các tính năng này giảm trực tiếp chi phí mỗi tác vụ, đáng đưa vào kế hoạch tối ưu.
Nguồn & tham khảo
- Introducing advanced tool use on the Claude Developer Platform — Anthropic Engineering