載入中

重要提示:所有模型版本的工具版本字串皆可在此處找到:https://platform.claude.com/docs/en/agents-and-tools/tool-use/text-editor-tool

Claude 內建了一個不需要您從頭建立的工具:文字編輯工具。這個工具賦予 Claude 處理檔案與目錄的能力,就像您在標準文字編輯器中所做的那樣。

文字編輯工具能做什麼

文字編輯工具為 Claude 提供一套完整的檔案操作能力:

  • 檢視檔案或目錄內容
  • 檢視檔案中特定範圍的行
  • 替換檔案中的文字
  • 建立新檔案
  • 在檔案特定行插入文字

文字編輯工具內建於 Claude 中,但僅內建其結構描述(schema),因此您需要提供實際工具的實作。

這大幅擴展了 Claude 的能力,基本上賦予它一開始就能扮演軟體工程師的能力。

了解實作需求

這裡有一點容易讓人混淆:雖然工具結構描述(schema)內建於 Claude 中,您仍然需要提供實際的實作。可以這樣理解——Claude 知道如何請求檔案操作,但您需要撰寫實際執行這些操作的程式碼。

text_editor_tool_schema JSON 結構描述(schema)以及顯示三個問號的「函式」方框,代表您必須撰寫的函式。

當您使用自訂工具時,通常需要同時撰寫 JSON 結構描述(schema)與函式實作。使用文字編輯工具時,Claude 提供結構描述(schema)的知識,但您必須撰寫函式來處理 Claude 提出的建立檔案、讀取目錄、替換文字等請求。

結構描述版本

使用文字編輯工具時,您確實需要包含一小段結構描述(schema)片段,而確切的結構描述取決於您使用的 Claude 模型:

python
def get_text_edit_schema(model):
    if model.startswith("claude-haiku-4-5"):
        return {
            "type": "text_editor_20250728",
            "name": "str_replace_based_edit_tool",
        }

Claude 將這一小段結構描述(schema)片段展開為包含「command」、「path」、view_range、old_str、new_str 和 file_text 的較長版本。

Claude 會自動將這個小型結構描述展開成一個更大、更詳細的規格,其中包含所有可用的參數與操作。

實際範例

讓我們來看看文字編輯工具的實際運作。當您要求 Claude 處理檔案時,它會視需要使用該工具來讀取、修改及建立檔案。

舉例來說,如果您要求 Claude「開啟 ./main.py 檔案並總結其內容」,Claude 將會:

  1. 使用文字編輯工具檢視檔案
  2. 讀取內容
  3. 為您提供摘要

您可以進一步要求 Claude 修改檔案。例如:「開啟 ./main.py 檔案,並寫出一個計算圓周率到小數點第 5 位的函式。接著建立一個 ./test.py 檔案來測試您的實作。」

Claude 將會:

  1. 檢視現有的 main.py 檔案
  2. 以包含圓周率計算函式的新實作替換其內容
  3. 建立一個新的 test.py 檔案,並附上適當的單元測試

為什麼要使用文字編輯工具?

您可能會好奇,既然現代程式碼編輯器已經內建 AI 助手,為什麼還需要這個工具。文字編輯工具在以下情境中特別有價值:

  • 您正在建置需要以程式化方式編輯檔案的應用程式
  • 您工作的環境無法使用功能完整的程式碼編輯器
  • 您想要將檔案編輯功能直接整合到您以 Claude 驅動的應用程式中

基本上,文字編輯工具讓您能夠在自己的應用程式中複製出功能強大的 AI 驅動程式碼編輯器的大部分功能,賦予 Claude 成為真正的程式設計助手的能力,使其能夠在您的檔案系統上讀取、寫入及修改檔案。