Bỏ qua đến nội dung chính

Built-in tools

📖 Nội dung bài học

Video

Built-in tools

Bạn có thể tự xây dựng các công cụ tùy chỉnh (custom tools) của riêng mình, nhưng một số tính năng phổ biến đến mức Anthropic đã tích hợp sẵn chúng. Bạn không cần viết code. Bạn không cần host sandbox. Bạn chỉ cần khai báo tool, và Anthropic sẽ chạy nó.

Server tools: bạn khai báo, Anthropic thực thi

Anthropic cung cấp các server tools chạy trên hạ tầng của họ. Bạn không cần thực thi chúng — Anthropic sẽ làm việc đó. Điều này có nghĩa là bạn không cần một vòng lặp agent (agent loop) cho các cuộc gọi này. Claude tự gọi các tool và kết quả sẽ được trả về ngay trong cùng một phản hồi (response).

Các công cụ chính bao gồm:

  • Web search — tìm kiếm internet và trả về kết quả kèm theo trích dẫn (citation)
  • Code execution — viết và chạy Python trong một sandbox
  • Web fetch — lấy toàn bộ nội dung từ các URL

Hai server tools trong một file

Hãy cùng xem qua một số công cụ lớn trong một file: hai lệnh gọi messages.create, một lệnh dùng web search và một lệnh dùng code execution.

import anthropic

client = anthropic.Anthropic()

search_response = client.messages.create(
    model="claude-opus-4-8",
    max_tokens=1024,
    tools=[{"type": "web_search_20260209", "name": "web_search"}],
    messages=[
        {"role": "user", "content": "What is Anthropic's latest model release? Answer in one sentence."}
    ],
)

for block in search_response.content:
    if block.type == "server_tool_use":
        print(f"Tool call: {block.name} — {block.input}")
    elif block.type == "text":
        print(block.text)

code_response = client.messages.create(
    model="claude-opus-4-8",
    max_tokens=1024,
    tools=[{"type": "code_execution_20260120", "name": "code_execution"}],
    messages=[
        {"role": "user", "content": "Calculate the mean and standard deviation of [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]"}
    ],
)

for block in code_response.content:
    if block.type == "server_tool_use":
        print(f"Tool call: {block.name} — {block.input}")
    elif block.type == "bash_code_execution_tool_result":
        print(f"stdout: {block.content.stdout}")
    elif block.type == "text":
        print(block.text)

Hai điều cần lưu ý:

  1. Không có vòng lặp agent ở đây. Chúng ta không cần kiểm tra stop_reason. Chúng ta không cần gửi ngược kết quả tool lại cho mô hình. Anthropic chạy tool ở phía server, và phản hồi trả về đã chứa sẵn kết quả.
  2. Phản hồi có các loại block mới. Một block server_tool_use cho cuộc gọi tool, một block kết quả công cụ code execution cho đầu ra, cùng với các block text thông thường.

Chạy thử

Với web search, bạn sẽ thấy cuộc gọi tool của Claude được in ra, sau đó là câu trả lời một câu về phiên bản mô hình mới nhất kèm theo các trích dẫn tìm kiếm được tích hợp sẵn.

Với code execution, bạn sẽ thấy đoạn code Python thực tế mà Claude đã viết, stdout từ sandbox đang chạy code đó, và câu trả lời dạng văn bản cuối cùng.

Chúng ta không cần phải dựng một trình thu thập dữ liệu tìm kiếm (search crawler). Chúng ta không cần chạy sandbox Python. Chúng ta chỉ khai báo hai tool và sử dụng cả hai hoàn toàn miễn phí.

Nhóm còn lại: client tools

Bạn cũng nên biết về nhóm công cụ còn lại. Client tools chạy ngay tại nơi code của bạn thực thi. Chúng được tích hợp sẵn trong Claude SDK, vì vậy bạn không cần tự định nghĩa schema. Hai ví dụ điển hình:

  • Memory — Claude đọc và ghi nhớ thông tin (memory) qua các phiên làm việc (session) khác nhau
  • Bash — một shell bash liên tục để Claude có thể thực thi các câu lệnh

Bảng tài liệu Anthropic về các built-in tools, với memory và bash được liệt kê là client tools bên cạnh các server tools như web fetch và code execution

Chúng có cấu trúc giống như một custom tool, nhưng SDK cung cấp sẵn schema và một bộ thực thi (runner) hợp lý cho bạn.

Tại sao điều này lại quan trọng trong môi trường production

Trong một ứng dụng production, đây là con đường ngắn nhất để xây dựng các tính năng mà bình thường có thể mất hàng tuần. Web search có thể hỗ trợ một endpoint kiểm chứng thông tin (fact-check endpoint) để xác thực mọi số liệu và tuyên bố pháp lý trong một bản nháp so với thông tin thực tế trên web.

Một ứng dụng đánh giá đề xuất sử dụng web search để kiểm chứng các tuyên bố pháp lý và số liệu trong một bản nháp đề xuất

Tuy nhiên, hãy lưu ý một điều: chỉ vì thông tin được xác thực trên internet không có nghĩa là nó hoàn toàn đúng. Hãy luôn kiểm tra lại kết quả của Claude.

Tóm tắt

  • Server tools — bao gồm web search, code execution, web fetch — được khai báo trong mảng tools của bạn. Anthropic sẽ đảm nhận việc chạy chúng.
  • Bạn nhận được kết quả ngay trong cùng một phản hồi, không cần vòng lặp agent. Hãy tìm các block server_tool_use và block kết quả tool bên cạnh các block text thông thường.
  • Client tools như memory và bash chạy ngay tại nơi code của bạn thực thi, nhưng SDK đã cung cấp sẵn schema và runner cho bạn.
  • Ý tưởng "được host bởi Anthropic" có thể mở rộng lên quy mô lớn hơn: managed agents áp dụng mô hình này cho toàn bộ agent, chứ không chỉ riêng một tool.

🎬 Bản ghi video

Source video: pm8iwdSIs3M

Không có transcript — xem phần nội dung bài học bên trên.

🔁 Bài học liên quan

📚 Nguồn & ghi nhận

Góp ý / Báo lỗiPhát hiện sai sót hoặc có ý tưởng cải thiện?