載入中

一旦您具備核心的工具處理基礎架構,將多個工具新增到您的 Claude 實作中就會變得很簡單。本教學將示範如何依循一個簡單的模式來整合額外的工具。

我們要新增的工具

我們的提醒系統需要三項主要功能:

  • 取得目前日期時間 - Claude 需要知道目前的日期和時間
  • 在日期時間上加上時間長度 - Claude 在日期時間加法運算上並不完美
  • 設定提醒 - 需要一種設定提醒的方式

好消息是大部分的實作工作已經完成。add_duration_to_datetime 函式和 set_reminder 函式已經提供,連同它們對應的結構定義(schema)。

將工具新增到對話中

首先,更新 run_conversation 函式,將新的工具結構定義加入工具清單中:

python
response = chat(messages, tools=[
    get_current_datetime_schema,
    add_duration_to_datetime_schema,
    set_reminder_schema
])

這會告知 Claude 在對話過程中可以使用的所有三個可用工具。

更新工具路由器

接下來,修改 run_tool 函式以處理新的工具呼叫。為每個新工具新增 elif 條件:

python
def run_tool(tool_name, tool_input):
    if tool_name == "get_current_datetime":
        return get_current_datetime(**tool_input)
    elif tool_name == "add_duration_to_datetime":
        return add_duration_to_datetime(**tool_input)
    elif tool_name == "set_reminder":
        return set_reminder(**tool_input)

這個模式很簡單:檢查工具名稱,使用提供的輸入呼叫對應的函式,然後回傳結果。

測試多工具使用

若要測試這個系統,請嘗試一個需要多個工具的請求:「幫我設定一個看醫生的提醒。時間是 2050 年 1 月 1 日之後的 177 天。」

這個請求會強制 Claude:

  1. 計算日期(使用 add_duration_to_datetime)
  2. 設定提醒(使用 set_reminder)

Claude 會先說明它需要做什麼,然後依序進行適當的工具呼叫來處理這個請求。對話顯示 Claude 計算出 2050 年 6 月 27 日作為目標日期,然後為該日期設定提醒。

了解訊息流程

當您檢視對話歷史記錄時,會看到完整的訊息結構:

  • 包含請求的使用者訊息
  • 包含文字和工具使用區塊的助理訊息
  • 工具結果訊息
  • 後續的助理訊息

這展示了 Claude 如何在單一訊息中包含多個區塊——將說明性文字與工具使用請求結合在一起。

新增工具的簡單模式

一旦您具備核心工具基礎架構,新增工具就會依循以下模式:

  1. 建立工具函式實作
  2. 定義工具結構定義
  3. 將結構定義加入 run_conversation 中的工具清單
  4. 在 run_tool 中為該工具新增一個條件分支

這種模組化的方法讓您能夠輕鬆擴展 AI 助理的功能,而不需要重新架構現有的程式碼。每個新工具都能與現有的對話流程和工具處理邏輯無縫整合。