載入中

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

我們要新增的工具

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

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

好消息是,大部分的實作工作已經完成。add_duration_to_datetime 函式可處理各種時間單位(秒、分鐘、小時、天、週、月),並回傳格式正確的日期時間字串。

set_reminder 函式是一個簡單的佔位函式,它只會印出確認細節,而不會實際設定系統提醒。

將工具新增至對話中

此流程遵循我們先前建立的相同模式。首先,更新 run_conversation 函式以納入新的工具結構:

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

這會告知 Claude 在對話期間可以使用的所有可用工具。

處理工具執行

接下來,更新 run_tool 函式以處理新的工具呼叫:

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. 計算 2050 年 1 月 1 日之後 177 天的日期
  2. 為該計算出的日期設定提醒

Claude 的處理方式是先說明它需要做什麼,然後使用 add_duration_to_datetime 工具計算出 2050 年 6 月 27 日,最後以正確的日期呼叫 set_reminder。

了解訊息流程

查看對話歷史記錄可以揭示 Claude 如何在單一回應中管理多個工具。助手訊息同時包含一個說明流程的文字區塊,以及一個用於第一次計算的工具使用區塊。

在收到工具結果後,Claude 會繼續傳送另一則訊息,其中同時包含文字以及另一個用於設定提醒的工具使用區塊。這展示了 Claude 如何串連多個工具呼叫以完成複雜的任務。

重點摘要

一旦您設定好基本的工具基礎架構,新增工具就遵循一個簡單的三步驟流程:

  • 將工具結構新增至 run_conversation 中的工具清單
  • 在 run_tool 函式中為新工具新增一個案例
  • 實作實際的工具函式

此框架會自動處理所有訊息傳遞、工具結果格式化以及對話流程。這使得建構能夠依序執行多個相關任務的複雜 AI 助手變得容易。