Loading...
    • 開發者指南
    • API 參考
    • MCP
    • 資源
    • 發行說明
    Search...
    ⌘K
    入門
    Claude 簡介快速開始
    模型與定價
    模型概覽選擇模型Claude 4.6 新功能遷移指南模型棄用定價
    使用 Claude 構建
    功能概覽使用 Messages API處理停止原因提示詞最佳實踐
    上下文管理
    上下文視窗壓縮上下文編輯
    功能
    提示詞快取延伸思考自適應思考思考力度串流訊息批次處理引用多語言支援Token 計數嵌入視覺PDF 支援Files API搜尋結果結構化輸出
    工具
    概覽如何實作工具使用細粒度工具串流Bash 工具程式碼執行工具程式化工具呼叫電腦使用工具文字編輯器工具網頁擷取工具網頁搜尋工具記憶工具工具搜尋工具
    Agent Skills
    概覽快速開始最佳實踐企業級 Skills透過 API 使用 Skills
    Agent SDK
    概覽快速開始TypeScript SDKTypeScript V2(預覽版)Python SDK遷移指南
    API 中的 MCP
    MCP 連接器遠端 MCP 伺服器
    第三方平台上的 Claude
    Amazon BedrockMicrosoft FoundryVertex AI
    提示詞工程
    概覽提示詞產生器使用提示詞範本提示詞改進器清晰直接使用範例(多範例提示)讓 Claude 思考(CoT)使用 XML 標籤賦予 Claude 角色(系統提示詞)串聯複雜提示詞長上下文技巧延伸思考技巧
    測試與評估
    定義成功標準開發測試案例使用評估工具降低延遲
    強化防護機制
    減少幻覺提高輸出一致性防範越獄攻擊串流拒絕減少提示詞洩漏讓 Claude 保持角色
    管理與監控
    Admin API 概覽資料駐留工作區用量與成本 APIClaude Code Analytics API零資料保留
    Console
    Log in
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...

    Solutions

    • AI agents
    • Code modernization
    • Coding
    • Customer support
    • Education
    • Financial services
    • Government
    • Life sciences

    Partners

    • Amazon Bedrock
    • Google Cloud's Vertex AI

    Learn

    • Blog
    • Catalog
    • Courses
    • Use cases
    • Connectors
    • Customer stories
    • Engineering at Anthropic
    • Events
    • Powered by Claude
    • Service partners
    • Startups program

    Company

    • Anthropic
    • Careers
    • Economic Futures
    • Research
    • News
    • Responsible Scaling Policy
    • Security and compliance
    • Transparency

    Learn

    • Blog
    • Catalog
    • Courses
    • Use cases
    • Connectors
    • Customer stories
    • Engineering at Anthropic
    • Events
    • Powered by Claude
    • Service partners
    • Startups program

    Help and security

    • Availability
    • Status
    • Support
    • Discord

    Terms and policies

    • Privacy policy
    • Responsible disclosure policy
    • Terms of service: Commercial
    • Terms of service: Consumer
    • Usage policy
    工具

    使用 Claude 進行工具使用

    Claude 能夠與工具和函式互動,讓您擴展 Claude 的能力以執行更多樣化的任務。

    透過我們全新的課程學習掌握 Claude 工具使用所需的一切!請 繼續使用此表單分享您的想法和建議。

    透過嚴格工具使用保證結構描述一致性

    結構化輸出為工具輸入提供有保證的結構描述驗證。在您的工具定義中加入 strict: true,以確保 Claude 的工具呼叫始終完全符合您的結構描述——不再有類型不匹配或缺少欄位的問題。

    非常適合生產環境中的代理程式,因為無效的工具參數會導致失敗。了解何時使用嚴格工具使用 →

    以下是如何使用 Messages API 向 Claude 提供工具的範例:

    curl https://api.anthropic.com/v1/messages \
      -H "content-type: application/json" \
      -H "x-api-key: $ANTHROPIC_API_KEY" \
      -H "anthropic-version: 2023-06-01" \
      -d '{
        "model": "claude-opus-4-6",
        "max_tokens": 1024,
        "tools": [
          {
            "name": "get_weather",
            "description": "Get the current weather in a given location",
            "input_schema": {
              "type": "object",
              "properties": {
                "location": {
                  "type": "string",
                  "description": "The city and state, e.g. San Francisco, CA"
                }
              },
              "required": ["location"]
            }
          }
        ],
        "messages": [
          {
            "role": "user",
            "content": "What is the weather like in San Francisco?"
          }
        ]
      }'

    工具使用的運作方式

    Claude 支援兩種類型的工具:

    1. 客戶端工具:在您的系統上執行的工具,包括:

      • 您建立和實作的使用者自定義工具
      • Anthropic 定義的工具,如電腦使用和文字編輯器,需要客戶端實作
    2. 伺服器端工具:在 Anthropic 伺服器上執行的工具,如網頁搜尋和網頁擷取工具。這些工具必須在 API 請求中指定,但不需要您進行實作。

    Anthropic 定義的工具使用版本化類型(例如 web_search_20250305、text_editor_20250124)以確保跨模型版本的相容性。

    客戶端工具

    透過以下步驟將客戶端工具與 Claude 整合:

    1. 1

      向 Claude 提供工具和使用者提示

      • 在您的 API 請求中定義客戶端工具,包含名稱、描述和輸入結構描述。
      • 包含可能需要這些工具的使用者提示,例如「舊金山的天氣如何?」
    2. 2

      Claude 決定使用工具

      • Claude 評估是否有任何工具可以幫助處理使用者的查詢。
      • 如果有,Claude 會建構格式正確的工具使用請求。
      • 對於客戶端工具,API 回應的 stop_reason 為 tool_use,表示 Claude 的意圖。
    3. 3

      執行工具並回傳結果

      • 從 Claude 的請求中提取工具名稱和輸入
      • 在您的系統上執行工具程式碼
      • 在包含 tool_result 內容區塊的新 user 訊息中回傳結果
    4. 4

      Claude 使用工具結果來制定回應

      • Claude 分析工具結果,為原始使用者提示製作最終回應。

    注意:步驟 3 和 4 是可選的。對於某些工作流程,Claude 的工具使用請求(步驟 2)可能就是您所需要的全部,無需將結果回傳給 Claude。

    伺服器端工具

    伺服器端工具遵循不同的工作流程:

    1. 1

      向 Claude 提供工具和使用者提示

      • 伺服器端工具,如網頁搜尋和網頁擷取,有其自己的參數。
      • 包含可能需要這些工具的使用者提示,例如「搜尋關於 AI 的最新新聞」或「分析此 URL 的內容。」
    2. 2

      Claude 執行伺服器端工具

      • Claude 評估伺服器端工具是否可以幫助處理使用者的查詢。
      • 如果可以,Claude 執行該工具,結果會自動納入 Claude 的回應中。
    3. 3

      Claude 使用伺服器端工具結果來制定回應

      • Claude 分析伺服器端工具結果,為原始使用者提示製作最終回應。
      • 伺服器端工具執行不需要額外的使用者互動。

    搭配 Claude 使用 MCP 工具

    如果您正在建構使用 Model Context Protocol (MCP) 的應用程式,您可以直接在 Claude 的 Messages API 中使用來自 MCP 伺服器的工具。MCP 工具定義使用與 Claude 工具格式類似的結構描述格式。您只需要將 inputSchema 重新命名為 input_schema。

    不想自己建構 MCP 客戶端? 使用 MCP 連接器從 Messages API 直接連接到遠端 MCP 伺服器,無需實作客戶端。

    將 MCP 工具轉換為 Claude 格式

    當您建構 MCP 客戶端並在 MCP 伺服器上呼叫 list_tools() 時,您會收到包含 inputSchema 欄位的工具定義。要將這些工具與 Claude 搭配使用,請將它們轉換為 Claude 的格式:

    from mcp import ClientSession
    
    async def get_claude_tools(mcp_session: ClientSession):
        """Convert MCP tools to Claude's tool format."""
        mcp_tools = await mcp_session.list_tools()
    
        claude_tools = []
        for tool in mcp_tools.tools:
            claude_tools.append({
                "name": tool.name,
                "description": tool.description or "",
                "input_schema": tool.inputSchema  # Rename inputSchema to input_schema
            })
    
        return claude_tools

    然後將這些轉換後的工具傳遞給 Claude:

    import anthropic
    
    client = anthropic.Anthropic()
    claude_tools = await get_claude_tools(mcp_session)
    
    response = client.messages.create(
        model="claude-opus-4-6",
        max_tokens=1024,
        tools=claude_tools,
        messages=[{"role": "user", "content": "What tools do you have available?"}]
    )

    當 Claude 回應 tool_use 區塊時,使用 call_tool() 在您的 MCP 伺服器上執行該工具,並在 tool_result 區塊中將結果回傳給 Claude。

    如需建構 MCP 客戶端的完整指南,請參閱建構 MCP 客戶端。


    工具使用範例

    以下是一些展示各種工具使用模式和技術的程式碼範例。為了簡潔起見,這些工具都是簡單的工具,工具描述也比確保最佳效能所需的理想長度要短。


    定價

    Tool use requests are priced based on:

    1. The total number of input tokens sent to the model (including in the tools parameter)
    2. The number of output tokens generated
    3. For server-side tools, additional usage-based pricing (e.g., web search charges per search performed)

    Client-side tools are priced the same as any other Claude API request, while server-side tools may incur additional charges based on their specific usage.

    The additional tokens from tool use come from:

    • The tools parameter in API requests (tool names, descriptions, and schemas)
    • tool_use content blocks in API requests and responses
    • tool_result content blocks in API requests

    When you use tools, we also automatically include a special system prompt for the model which enables tool use. The number of tool use tokens required for each model are listed below (excluding the additional tokens listed above). Note that the table assumes at least 1 tool is provided. If no tools are provided, then a tool choice of none uses 0 additional system prompt tokens.

    ModelTool choiceTool use system prompt token count
    Claude Opus 4.6auto, none
    any, tool
    346 tokens
    313 tokens
    Claude Opus 4.5auto, none
    any, tool
    346 tokens
    313 tokens
    Claude Opus 4.1auto, none
    any, tool
    346 tokens
    313 tokens
    Claude Opus 4auto, none
    any, tool
    346 tokens
    313 tokens
    Claude Sonnet 4.5auto, none
    any, tool
    346 tokens
    313 tokens
    Claude Sonnet 4auto, none
    any, tool
    346 tokens
    313 tokens
    Claude Sonnet 3.7 (deprecated)auto, none
    any, tool
    346 tokens
    313 tokens
    Claude Haiku 4.5auto, none
    any, tool
    346 tokens
    313 tokens
    Claude Haiku 3.5auto, none
    any, tool
    264 tokens
    340 tokens
    Claude Opus 3 (deprecated)auto, none
    any, tool
    530 tokens
    281 tokens
    Claude Sonnet 3auto, none
    any, tool
    159 tokens
    235 tokens
    Claude Haiku 3auto, none
    any, tool
    264 tokens
    340 tokens

    These token counts are added to your normal input and output tokens to calculate the total cost of a request.

    請參閱我們的模型概覽表以了解目前各模型的價格。

    當您發送工具使用提示時,就像任何其他 API 請求一樣,回應會在報告的 usage 指標中輸出輸入和輸出的 token 計數。


    後續步驟

    在我們的 cookbook 中探索可直接實作的工具使用程式碼範例:

    計算機工具

    了解如何將簡單的計算機工具與 Claude 整合,以進行精確的數值計算。

    客戶服務代理

    建立一個響應式客戶服務機器人,利用客戶端工具來增強支援服務。

    JSON 提取器

    了解 Claude 和工具使用如何從非結構化文本中提取結構化資料。

    Was this page helpful?

    • 搭配 Claude 使用 MCP 工具
    • 將 MCP 工具轉換為 Claude 格式