テキストエディタツール
Claudeは、Anthropicが定義したテキストエディタツールを使用して、テキストファイルを表示および修正し、コードやその他のテキストドキュメントのデバッグ、修正、改善を支援することができます。これにより、Claudeはファイルと直接やり取りし、変更を提案するだけでなく、実践的な支援を提供することができます。
テキストエディタツールを使用する前に
互換性のあるモデルを使用する
Anthropicのテキストエディタツールは、Claude 3.5 SonnetとClaude 3.7 Sonnetでのみ利用可能です:
- Claude 3.7 Sonnet:
text_editor_20250124
- Claude 3.5 Sonnet:
text_editor_20241022
両バージョンは同じ機能を提供します - 使用するバージョンは、作業しているモデルに合わせる必要があります。
ユースケースの適合性を評価する
テキストエディタツールを使用する場合の例:
- コードデバッグ: 構文エラーからロジックの問題まで、Claudeにバグの特定と修正を依頼します。
- コードリファクタリング: Claudeに対象を絞った編集を通じて、コードの構造、可読性、パフォーマンスを改善させます。
- ドキュメント生成: Claudeにコードベースのdocstring、コメント、READMEファイルの追加を依頼します。
- テスト作成: 実装の理解に基づいて、Claudeにコードのユニットテストを作成させます。
テキストエディタツールを使用する
Messages APIを使用してテキストエディタツール(str_replace_editor
という名前)をClaudeに提供します:
テキストエディタツールは以下のように使用できます:
Claudeにテキストエディタツールとユーザープロンプトを提供する
- APIリクエストにテキストエディタツールを含める
- 「コードの構文エラーを修正できますか?」などのファイルの確認や修正が必要なユーザープロンプトを提供する
Claudeがツールを使用してファイルやディレクトリを確認する
- Claudeは何を確認する必要があるかを評価し、
view
コマンドを使用してファイルの内容を確認するか、ディレクトリの内容を一覧表示する - APIレスポンスには
view
コマンドを含むtool_use
コンテンツブロックが含まれる
viewコマンドを実行して結果を返す
- Claudeのツール使用リクエストからファイルまたはディレクトリパスを抽出する
- ファイルの内容を読み取るか、ディレクトリの内容を一覧表示する
tool_result
コンテンツブロックを含む新しいuser
メッセージで会話を継続することで、結果をClaudeに返す
Claudeがツールを使用してファイルを修正する
- ファイルやディレクトリを確認した後、Claudeは
str_replace
などのコマンドを使用して変更を加えたり、insert
を使用して特定の行番号にテキストを追加したりする場合がある - Claudeが
str_replace
コマンドを使用する場合、古いテキストと置き換える新しいテキストを含む適切な形式のツール使用リクエストを構築する
編集を実行して結果を返す
- Claudeのツール使用リクエストからファイルパス、古いテキスト、新しいテキストを抽出する
- ファイル内のテキスト置換を実行する
- 結果をClaudeに返す
Claudeが分析と説明を提供する
- ファイルを確認し、場合によっては編集した後、Claudeは発見したことと行った変更について完全な説明を提供する
テキストエディタツールのコマンド
テキストエディタツールは、ファイルの表示と修正のために複数のコマンドをサポートしています:
view
view
コマンドを使用すると、Claudeはファイルの内容を確認したり、ディレクトリの内容を一覧表示したりすることができます。ファイル全体または特定の行範囲を読み取ることができます。
パラメータ:
command
: “view”でなければなりませんpath
: 表示するファイルまたはディレクトリへのパスview_range
(オプション): 表示する開始行と終了行の番号を指定する2つの整数の配列。行番号は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はファイルに対する最後の編集を元に戻すことができます。
パラメータ:
command
: “undo_edit”でなければなりませんpath
: 最後の編集を元に戻すファイルへのパス
例:テキストエディタツールを使用した構文エラーの修正
この例では、Claudeがテキストエディタツールを使用してPythonファイルの構文エラーを修正する方法を示します。
まず、アプリケーションはClaudeにテキストエディタツールと構文エラーを修正するためのプロンプトを提供します:
Claudeはまずテキストエディタツールを使用してファイルを表示します:
アプリケーションはファイルを読み取り、その内容をClaudeに返す必要があります:
行番号
上記の例では、view
ツールの結果には各行の先頭に行番号が付加されたファイルの内容が含まれています(例:「1: def is_prime(n):」)。行番号は必須ではありませんが、view_range
パラメータを使用してファイルの特定のセクションを確認したり、insert_line
パラメータを使用して正確な位置にコンテンツを追加したりする場合に不可欠です。
Claudeは構文エラーを特定し、str_replace
コマンドを使用して修正します:
アプリケーションは編集を行い、結果を返す必要があります:
最後に、Claudeは修正の完全な説明を提供します:
テキストエディタツールを実装する
テキストエディタツールは、type: "text_editor_20250124"
で識別されるスキーマレスツールとして実装されています。このツールを使用する際、他のツールのように入力スキーマを提供する必要はありません。スキーマはClaudeのモデルに組み込まれており、変更することはできません。
エディタの実装を初期化する
ファイルの読み取り、書き込み、修正などの操作を処理するヘルパー関数を作成します。ミスから回復するためのバックアップ機能の実装を検討してください。
エディタツールの呼び出しを処理する
コマンドタイプに基づいてClaudeからのツール呼び出しを処理する関数を作成します:
セキュリティ対策を実装する
検証とセキュリティチェックを追加します:
- ディレクトリトラバーサルを防ぐためのファイルパスの検証
- 変更を加える前のバックアップの作成
- エラーの適切な処理
- パーミッションチェックの実装
Claudeのレスポンスを処理する
Claudeのレスポンスからツール呼び出しを抽出して処理します:
テキストエディタツールを実装する際は、以下の点に注意してください:
- セキュリティ: このツールはローカルファイルシステムにアクセスできるため、適切なセキュリティ対策を実装してください。
- バックアップ: 重要なファイルの編集を許可する前に、必ずバックアップを作成してください。
- 検証: 意図しない変更を防ぐため、すべての入力を検証してください。
- 一意な一致: 意図しない編集を避けるため、置換が正確に1箇所にのみ一致することを確認してください。
エラーの処理
テキストエディタツールを使用する際、さまざまなエラーが発生する可能性があります。以下は、それらを処理する方法についてのガイダンスです:
実装のベストプラクティスに従う
価格とトークン使用量
テキストエディタツールは、Claudeで使用される他のツールと同じ価格構造を使用します。使用しているClaudeモデルに基づく標準的な入力および出力トークンの価格に従います。
基本トークンに加えて、テキストエディタツールには以下の追加入力トークンが必要です:
ツール | 追加入力トークン |
---|---|
text_editor_20241022 (Claude 3.5 Sonnet) | 700トークン |
text_editor_20250124 (Claude 3.7 Sonnet) | 700トークン |
ツールの価格に関する詳細な情報については、ツール使用の価格設定を参照してください。
テキストエディタツールをコンピュータ使用と統合する
テキストエディタツールは、コンピュータ使用ツールや他のAnthropicが定義したツールと併用することができます。これらのツールを組み合わせる際は、以下の点に注意する必要があります:
- 適切なベータヘッダーを含める(コンピュータ使用と併用する場合)
- ツールのバージョンを使用するモデルに合わせる
- リクエストに含まれるすべてのツールの追加トークン使用量を考慮する
コンピュータ使用のコンテキストでテキストエディタツールを使用する方法の詳細については、コンピュータ使用を参照してください。
変更履歴
日付 | バージョン | 変更内容 |
---|---|---|
2025年3月13日 | text_editor_20250124 | スタンドアロンのテキストエディタツールのドキュメントを導入。このバージョンはClaude 3.7 Sonnet用に最適化されていますが、前バージョンと同じ機能を持っています。 |
2024年10月22日 | text_editor_20241022 | Claude 3.5 Sonnetでのテキストエディタツールの初回リリース。view 、create 、str_replace 、insert 、undo_edit コマンドを通じてファイルの表示、作成、編集機能を提供。 |
次のステップ
テキストエディタツールをより便利で強力な方法で使用するためのアイデアをいくつか紹介します:
- 開発ワークフローへの統合: テキストエディタツールを開発ツールやIDEに組み込む
- コードレビューシステムの作成: Claudeにコードをレビューさせ、改善を加えさせる
- デバッグアシスタントの構築: Claudeがコードの問題を診断して修正するのを助けるシステムを作成する
- ファイル形式変換の実装: Claudeにファイルを別の形式に変換する手助けをさせる
- ドキュメント自動化: Claudeが自動的にコードをドキュメント化するワークフローを設定する
テキストエディタツールを使用してアプリケーションを構築する際、Claudeの機能を活用して開発ワークフローと生産性を向上させる方法を見るのが楽しみです。
Was this page helpful?