Web search tool của Claude API: dữ liệu mới, có trích dẫn, giá bao nhiêu?
Tóm tắt
Web search tool cho Claude tìm dữ liệu mới và luôn trả lời kèm trích dẫn, giá 10 USD mỗi 1.000 lượt cộng token. Giới hạn max_uses, lọc domain, kiểm tra lỗi bên trong response và coi nội dung web là dữ liệu không tin cậy.
Model nào cũng có ngày cắt dữ liệu huấn luyện. Hỏi giá cổ phiếu hôm nay, tin tức tuần này, hay phiên bản mới nhất của một thư viện, câu trả lời dễ lỗi thời hoặc bịa. Bạn có thể tự viết tool gọi API tìm kiếm, nhưng Claude API có sẵn web search tool chạy phía server: Anthropic thực hiện tìm kiếm, đưa kết quả cho Claude và câu trả lời luôn kèm trích dẫn nguồn.
Bật web search
response = client.messages.create(
model="claude-sonnet-5-5",
max_tokens=1024,
messages=[{"role": "user", "content": "Tin AI nổi bật tuần này?"}],
tools=[{
"type": "web_search_20250305",
"name": "web_search",
"max_uses": 5,
"allowed_domains": ["reuters.com", "theverge.com"],
}],
)
Claude tự quyết khi nào cần tìm: với sự kiện mới, giá cả, thông tin có thể đã thay đổi thì tìm; với kiến thức ổn định, toán, viết sáng tạo thì trả lời trực tiếp. Bạn có thể khuyến khích hoặc hạn chế qua system prompt.
Các phiên bản tool
| Phiên bản | Bổ sung |
|---|---|
web_search_20250305 | Tìm kiếm cơ bản, có mặt rộng nhất trên các nền tảng |
web_search_20260209 | Dynamic filtering: Claude viết code lọc kết quả trước khi đưa vào context, tiết kiệm token |
web_search_20260318 | Thêm response_inclusion để bỏ kết quả thô khỏi response trong workflow agent |
Tham số quan trọng
max_uses: giới hạn số lần tìm mỗi request. Câu hỏi đơn giản thường 1–3 lần; nghiên cứu so sánh có thể 10 lần trở lên.allowed_domains/blocked_domains: chỉ dùng một trong hai; đặt cả hai sẽ lỗi 400.user_location: địa phương hoá kết quả (thành phố, quốc gia, múi giờ).
Chi phí và trích dẫn
- Giá 10 USD cho mỗi 1.000 lượt tìm, cộng chi phí token thường. Kết quả tìm kiếm được tính là input token, cả ở các lượt sau.
- Lượt tìm bị lỗi không tính tiền.
- Citations luôn bật; các trường
cited_text,title,urlkhông tính token. Khi hiển thị cho người dùng cuối, phải hiển thị trích dẫn tới nguồn gốc.
Xử lý response
- Lỗi tìm kiếm (vượt
max_uses, rate limit…) vẫn trả HTTP 200, lỗi nằm trong khốiweb_search_tool_result. Code phải kiểm tra bên trong. - Hội thoại nhiều lượt: gửi lại nguyên các khối kết quả, kể cả
encrypted_content; sửa hay thiếu sẽ bị lỗi 400. stop_reason: "pause_turn": lượt tìm dài bị tạm dừng, gửi lại message đó để tiếp tục.
Rủi ro và lưu ý
- Nội dung web là dữ liệu không tin cậy: trang web có thể chứa prompt injection. Đừng để agent có web search đồng thời có quyền hành động nhạy cảm mà không có lớp duyệt.
- Chi phí tăng theo ngữ cảnh: kết quả tìm chiếm nhiều input token; dùng dynamic filtering hoặc giới hạn
max_uses. - Admin có thể tắt: tổ chức tắt web search trong Console thì request kèm tool sẽ lỗi 400.
Áp dụng thế nào?
- Dev: Bắt đầu với
max_usesnhỏ và danh sách domain tin cậy; logusage.server_tool_useđể theo dõi số lượt tìm. - Tech Lead: Tách agent "nghiên cứu" (có web search, không có quyền ghi) khỏi agent "hành động" để giảm rủi ro injection.
- PM: Tính chi phí theo lượt tìm × số người dùng; hiển thị nguồn rõ ràng để tăng tin cậy.
Nguồn & tham khảo
- Web search tool — Claude Docs