載入中

工具的 JSON Schema

第 23 課5 分鐘

建立好您的工具函式後,下一步就是撰寫 JSON schema 來描述它。這個 schema 會告訴 Claude 您的函式預期接收哪些參數,以及如何正確使用它。雖然這個設定一開始看起來可能令人望而生畏,但一旦您了解整個流程,其實相當直觀。

了解 JSON Schema

JSON Schema 並不是專為 AI 工具發明的東西——它已經存在多年,是一種驗證資料的標準方式。這個 schema 有兩個主要部分:頂部的名稱和描述(幫助 Claude 了解何時使用該工具),以及描述函式參數的實際 schema。

頂部區段包含工具的名稱和描述,這有助於 Claude 了解何時使用它。底部區段則是詳細描述您函式參數的實際 schema。

建立 JSON Schema:逐步說明

以下是為任何函式建立 JSON schema 最簡單的方法:

步驟 1:撰寫包含範例資料的字典

取出您的函式,並建立一個包含所有關鍵字參數及範例資料的字典。例如,如果您有這樣的函式:

python
def process_data(ids, profile, primary_id, value):
    pass

建立一個包含範例值的字典:

步驟 2:轉換為 JSON

將您的 Python 字典轉換為正確的 JSON 格式。主要的差異是將 Python 的 True 改為 JSON 的 true。

步驟 3:使用線上轉換工具

搜尋「JSON to JSON Schema converter」,並使用其中一個眾多免費的線上工具。貼上您的 JSON 資料,讓它自動產生 schema。

該工具會分析您的範例資料並建立正確的 schema 結構。請移除輸出結果中任何的 $schema 宣告——您不需要它們。

步驟 4:新增描述

最重要的步驟是為每個屬性新增詳細的描述。這些描述有助於 Claude 準確理解每個參數的作用以及如何使用它。

撰寫良好的描述

在為您的工具和屬性撰寫描述時,請遵循以下最佳實務:

  • 說明該工具的功能、何時使用它,以及它會回傳什麼
  • 工具描述力求 3-4 句話
  • 為每個屬性提供非常詳細的描述
  • 如果您卡住了,可以將您的函式貼到 Claude 中,請它為您撰寫描述

以下是一個描述完善的工具 schema 範例:

請注意這個描述如何清楚說明天氣工具的功能、何時使用它、它會回傳什麼資料,並提供有效位置格式的具體範例。

整合所有內容

您最終的 JSON schema 應該看起來像這樣的結構,其中 toolSpec 包含名稱、描述,以及帶有詳細參數規格的 inputSchema:

這個 schema 就像是您的程式碼與 Claude 之間的合約,確保當 Claude 決定使用您的工具時,它確切知道要提供什麼資訊以及以什麼格式提供。這種清晰的溝通正是讓工具使用變得可靠且有效的關鍵。