Инструмент текстового редактора
Claude может использовать определённый Anthropic инструмент текстового редактора для просмотра и изменения текстовых файлов, помогая вам отлаживать, исправлять и улучшать ваш код или другие текстовые документы. Это позволяет Claude напрямую взаимодействовать с вашими файлами, обеспечивая практическую помощь вместо просто предложения изменений.
Совместимость моделей
| Модель | Версия инструмента |
|---|---|
| Модели Claude 4.x | text_editor_20250728 |
| Claude Sonnet 3.7 (устарело) | text_editor_20250124 |
Инструмент text_editor_20250728 для моделей Claude 4 не включает команду undo_edit. Если вам требуется эта функциональность, вам нужно использовать Claude Sonnet 3.7 (устарело).
Старые версии инструмента не гарантируют обратную совместимость с новыми моделями. Всегда используйте версию инструмента, соответствующую версии вашей модели.
Когда использовать инструмент текстового редактора
Вот некоторые примеры использования инструмента текстового редактора:
- Отладка кода: Попросите Claude выявить и исправить ошибки в вашем коде, от синтаксических ошибок до логических проблем.
- Рефакторинг кода: Позвольте Claude улучшить структуру вашего кода, читаемость и производительность с помощью целевых правок.
- Генерация документации: Попросите Claude добавить docstring, комментарии или файлы README в вашу кодовую базу.
- Создание тестов: Попросите Claude создать модульные тесты для вашего кода на основе его понимания реализации.
Использование инструмента текстового редактора
Инструмент текстового редактора можно использовать следующим образом:
Предоставьте Claude инструмент текстового редактора и запрос пользователя
- Включите инструмент текстового редактора в ваш запрос API
- Предоставьте запрос пользователя, который может потребовать изучения или изменения файлов, например "Можешь ли ты исправить синтаксическую ошибку в моём коде?"
Claude использует инструмент для изучения файлов или директорий
- Claude оценивает, что ему нужно посмотреть, и использует команду
viewдля изучения содержимого файла или списка содержимого директории - Ответ API будет содержать блок содержимого
tool_useс командойview
- Claude оценивает, что ему нужно посмотреть, и использует команду
Выполните команду view и верните результаты
- Извлеките путь файла или директории из запроса использования инструмента Claude
- Прочитайте содержимое файла или список содержимого директории
- Если параметр
max_charactersбыл указан в конфигурации инструмента, усеките содержимое файла до этой длины - Верните результаты Claude, продолжив разговор с новым сообщением
user, содержащим блок содержимогоtool_result
Claude использует инструмент для изменения файлов
- После изучения файла или директории Claude может использовать команду, такую как
str_replace, для внесения изменений илиinsertдля добавления текста в определённый номер строки. - Если Claude использует команду
str_replace, Claude создаёт правильно отформатированный запрос использования инструмента со старым текстом и новым текстом для замены
- После изучения файла или директории Claude может использовать команду, такую как
Выполните правку и верните результаты
- Извлеките путь файла, старый текст и новый текст из запроса использования инструмента Claude
- Выполните замену текста в файле
- Верните результаты Claude
Claude предоставляет свой анализ и объяснение
- После изучения и возможного редактирования файлов Claude предоставляет полное объяснение того, что он нашёл и какие изменения он внёс
Команды инструмента текстового редактора
Инструмент текстового редактора поддерживает несколько команд для просмотра и изменения файлов:
view
Команда view позволяет Claude изучить содержимое файла или список содержимого директории. Она может прочитать весь файл или определённый диапазон строк.
Параметры:
command: Должно быть "view"path: Путь к файлу или директории для просмотраview_range(опционально): Массив двух целых чисел, указывающих номера начальной и конечной строк для просмотра. Номера строк начинаются с 1, а -1 для конечной строки означает чтение до конца файла. Этот параметр применяется только при просмотре файлов, а не директорий.
str_replace
Команда str_replace позволяет Claude заменить определённую строку в файле на новую строку. Это используется для внесения точных правок.
Параметры:
command: Должно быть "str_replace"path: Путь к файлу для измененияold_str: Текст для замены (должен совпадать точно, включая пробелы и отступы)new_str: Новый текст для вставки вместо старого текста
create
Команда create позволяет Claude создать новый файл с указанным содержимым.
Параметры:
command: Должно быть "create"path: Путь, где должен быть создан новый файлfile_text: Содержимое для записи в новый файл
insert
Команда insert позволяет Claude вставить текст в определённое место в файле.
Параметры:
command: Должно быть "insert"path: Путь к файлу для измененияinsert_line: Номер строки, после которой вставить текст (0 для начала файла)new_str: Текст для вставки
undo_edit
Команда undo_edit позволяет Claude отменить последнюю правку, внесённую в файл.
Эта команда доступна только в Claude Sonnet 3.7 (устарело). Она не поддерживается в моделях Claude 4, использующих text_editor_20250728.
Параметры:
command: Должно быть "undo_edit"path: Путь к файлу, последняя правка которого должна быть отменена
Пример: Исправление синтаксической ошибки с помощью инструмента текстового редактора
Реализация инструмента текстового редактора
Инструмент текстового редактора реализован как инструмент без схемы. При использовании этого инструмента вам не нужно предоставлять входную схему, как с другими инструментами; схема встроена в модель и не может быть изменена.
Тип инструмента зависит от версии модели:
- Claude 4:
type: "text_editor_20250728" - Claude Sonnet 3.7:
type: "text_editor_20250124"
Инициализируйте вашу реализацию редактора
Создайте вспомогательные функции для обработки операций с файлами, таких как чтение, запись и изменение файлов. Рассмотрите возможность реализации функциональности резервного копирования для восстановления после ошибок.
Обработайте вызовы инструмента редактора
Создайте функцию, которая обрабатывает вызовы инструментов от Claude на основе типа команды:
def handle_editor_tool(tool_call, model_version): input_params = tool_call.input command = input_params.get('command', '') file_path = input_params.get('path', '') if command == 'view': # Read and return file contents pass elif command == 'str_replace': # Replace text in file pass elif command == 'create': # Create new file pass elif command == 'insert': # Insert text at location pass elif command == 'undo_edit': # Check if it's a Claude 4 model if 'str_replace_based_edit_tool' in model_version: return {"error": "undo_edit command is not supported in Claude 4"} # Restore from backup for Claude 3.7 passРеализуйте меры безопасности
Добавьте проверку и меры безопасности:
- Проверьте пути к файлам, чтобы предотвратить обход директорий
- Создавайте резервные копии перед внесением изменений
- Обрабатывайте ошибки корректно
- Реализуйте проверки разрешений
Обработайте ответы Claude
Извлеките и обработайте вызовы инструментов из ответов Claude:
# Process tool use in Claude's response for content in response.content: if content.type == "tool_use": # Execute the tool based on command result = handle_editor_tool(content) # Return result to Claude tool_result = { "type": "tool_result", "tool_use_id": content.id, "content": result }
При реализации инструмента текстового редактора имейте в виду:
- Безопасность: Инструмент имеет доступ к вашей локальной файловой системе, поэтому реализуйте надлежащие меры безопасности.
- Резервное копирование: Всегда создавайте резервные копии перед разрешением правок важных файлов.
- Проверка: Проверьте все входные данные, чтобы предотвратить непредусмотренные изменения.
- Уникальное совпадение: Убедитесь, что замены совпадают ровно в одном месте, чтобы избежать непредусмотренных правок.
Обработка ошибок
При использовании инструмента текстового редактора могут возникнуть различные ошибки. Вот рекомендации по их обработке:
Следуйте лучшим практикам реализации
Цены и использование токенов
The text editor tool uses the same pricing structure as other tools used with Claude. It follows the standard input and output token pricing based on the Claude model you're using.
In addition to the base tokens, the following additional input tokens are needed for the text editor tool:
| Tool | Additional input tokens |
|---|---|
text_editor_20250429 (Claude 4.x) | 700 tokens |
text_editor_20250124 (Claude Sonnet 3.7 (deprecated)) | 700 tokens |
Для получения более подробной информации о ценах на инструменты см. Цены на использование инструментов.
Интегрируйте инструмент текстового редактора с другими инструментами
Инструмент текстового редактора можно использовать вместе с другими инструментами Claude. При объединении инструментов убедитесь, что вы:
- Соответствуете версии инструмента модели, которую вы используете
- Учитываете дополнительное использование токенов для всех инструментов, включённых в ваш запрос
Журнал изменений
| Дата | Версия | Изменения |
|---|---|---|
| 28 июля 2025 г. | text_editor_20250728 | Выпуск обновленного инструмента текстового редактора, который исправляет некоторые проблемы и добавляет опциональный параметр max_characters. В остальном идентичен text_editor_20250429. |
| 29 апреля 2025 г. | text_editor_20250429 | Выпуск инструмента текстового редактора для Claude 4. Эта версия удаляет команду undo_edit, но сохраняет все остальные возможности. Имя инструмента было обновлено, чтобы отразить его архитектуру на основе str_replace. |
| 13 марта 2025 г. | text_editor_20250124 | Введение документации автономного инструмента текстового редактора. Эта версия оптимизирована для Claude Sonnet 3.7, но имеет идентичные возможности предыдущей версии. |
| 22 октября 2024 г. | text_editor_20241022 | Первоначальный выпуск инструмента текстового редактора с Claude Sonnet 3.5 (снято с производства). Предоставляет возможности для просмотра, создания и редактирования файлов через команды view, create, str_replace, insert и undo_edit. |
Следующие шаги
Вот некоторые идеи о том, как использовать инструмент текстового редактора более удобным и мощным способом:
- Интегрируйте с вашим рабочим процессом разработки: Встройте инструмент текстового редактора в ваши инструменты разработки или IDE
- Создайте систему проверки кода: Попросите Claude проверить ваш код и внести улучшения
- Создайте помощника по отладке: Создайте систему, где Claude может помочь вам диагностировать и исправлять проблемы в вашем коде
- Реализуйте преобразование формата файла: Позвольте Claude помочь вам преобразовать файлы из одного формата в другой
- Автоматизируйте документацию: Установите рабочие процессы для автоматической документации вашего кода Claude
По мере того как вы создаёте приложения с инструментом текстового редактора, мы с нетерпением ждём, как вы будете использовать возможности Claude для улучшения вашего рабочего процесса разработки и производительности.