重要提示:所有模型版本的工具版本字串都可以在這裡找到:https://platform.claude.com/docs/en/agents-and-tools/tool-use/text-editor-tool(在新分頁中開啟)
Claude 內建一個您不需要從頭建立的工具:文字編輯工具。這個工具讓 Claude 能夠像您在標準文字編輯器中一樣處理檔案和目錄。
文字編輯工具能做什麼
文字編輯工具為 Claude 提供了一套全面的檔案操作能力:
- 檢視檔案或目錄內容
- 檢視檔案中特定範圍的行
- 替換檔案中的文字
- 建立新檔案
- 在檔案的特定行插入文字
- 撤銷對檔案的最近編輯

這大幅擴展了 Claude 的能力,基本上賦予了它開箱即用地扮演軟體工程師的能力。
了解實作需求
這裡有一點令人困惑的地方:雖然工具結構(schema)已內建於 Claude 中,但您仍需要提供實際的實作。可以這樣理解——Claude 知道如何請求檔案操作,但您需要撰寫實際執行這些操作的程式碼。

當您使用其他工具時,您需要同時撰寫 JSON 結構(schema)和函式實作。對於文字編輯工具,Claude 提供了結構(schema)知識,但您必須撰寫函式來處理 Claude 建立檔案、讀取目錄、替換文字等請求。
結構版本
雖然主要的結構(schema)已內建於 Claude 中,但在發出請求時,您仍需要包含一個小型的結構(schema)片段。確切的結構取決於您使用的 Claude 模型:
def get_text_edit_schema(model):
if model.startswith("claude-3-7-sonnet"):
return {
"type": "text_editor_20250124",
"name": "str_replace_editor",
}
elif model.startswith("claude-3-5-sonnet"):
return {
"type": "text_editor_20241022",
"name": "str_replace_editor",
}
Claude 會看到這個小型結構(schema),並在幕後自動將其擴展為完整的文字編輯工具規格。
實際範例
讓我們看看文字編輯工具的實際運作。當您要求 Claude 處理檔案時,它會使用該工具來依需要讀取、修改和建立檔案。
例如,如果您要求 Claude「開啟 ./main.py 檔案並總結其內容」,Claude 將會:
- 使用文字編輯工具檢視檔案
- 讀取內容
- 為您提供摘要
您可以進一步要求 Claude 修改檔案。例如:「開啟 ./main.py 檔案,並寫出一個計算 pi 到第 5 位數的函式。然後建立一個 ./test.py 檔案來測試您的實作。」
Claude 將會:
- 檢視現有的 main.py 檔案
- 用包含 pi 計算函式的新實作替換其內容
- 建立一個新的 test.py 檔案,並附上適當的單元測試
為什麼要使用文字編輯工具?
您可能會想,既然現代程式碼編輯器已經內建了 AI 助手,為什麼還需要這個工具。文字編輯工具在以下情境中會變得很有價值:
- 您正在建構需要以程式化方式編輯檔案的應用程式
- 您在沒有完整功能程式碼編輯器的環境中工作
- 您想要將檔案編輯能力直接整合到您以 Claude 驅動的應用程式中
基本上,文字編輯工具讓您能夠在自己的應用程式中複製出許多高階 AI 驅動程式碼編輯器的功能,讓您能夠精細控制 Claude 與您的檔案系統互動的方式。