Claude peut utiliser un outil d’éditeur de texte défini par Anthropic pour visualiser et modifier des fichiers texte, vous aidant à déboguer, corriger et améliorer votre code ou d’autres documents texte. Cela permet à Claude d’interagir directement avec vos fichiers, fournissant une assistance pratique plutôt que de simplement suggérer des modifications.

Avant d’utiliser l’outil d’éditeur de texte

Utiliser un modèle compatible

L’outil d’éditeur de texte d’Anthropic n’est disponible que pour Claude 3.5 Sonnet et Claude 3.7 Sonnet :

  • Claude 3.7 Sonnet : text_editor_20250124
  • Claude 3.5 Sonnet : text_editor_20241022

Les deux versions offrent des capacités identiques - la version que vous utilisez doit correspondre au modèle avec lequel vous travaillez.

Évaluer l’adéquation de votre cas d’utilisation

Voici quelques exemples de cas où utiliser l’outil d’éditeur de texte :

  • Débogage de code : Faites identifier et corriger les bugs dans votre code par Claude, des erreurs de syntaxe aux problèmes de logique.
  • Refactorisation de code : Laissez Claude améliorer la structure, la lisibilité et les performances de votre code grâce à des modifications ciblées.
  • Génération de documentation : Demandez à Claude d’ajouter des docstrings, des commentaires ou des fichiers README à votre base de code.
  • Création de tests : Faites créer des tests unitaires par Claude pour votre code en fonction de sa compréhension de l’implémentation.

Utiliser l’outil d’éditeur de texte

Fournissez l’outil d’éditeur de texte (nommé str_replace_editor) à Claude en utilisant l’API Messages :

L’outil d’éditeur de texte peut être utilisé de la manière suivante :

1

Fournir à Claude l'outil d'éditeur de texte et une invite utilisateur

  • Incluez l’outil d’éditeur de texte dans votre requête API
  • Fournissez une invite utilisateur qui peut nécessiter d’examiner ou de modifier des fichiers, comme “Pouvez-vous corriger l’erreur de syntaxe dans mon code ?”
2

Claude utilise l'outil pour examiner les fichiers ou répertoires

  • Claude évalue ce qu’il doit examiner et utilise la commande view pour examiner le contenu des fichiers ou lister le contenu des répertoires
  • La réponse de l’API contiendra un bloc de contenu tool_use avec la commande view
3

Exécuter la commande view et retourner les résultats

  • Extrayez le chemin du fichier ou du répertoire de la demande d’utilisation d’outil de Claude
  • Lisez le contenu du fichier ou listez le contenu du répertoire et retournez-les à Claude
  • Retournez les résultats à Claude en continuant la conversation avec un nouveau message user contenant un bloc de contenu tool_result
4

Claude utilise l'outil pour modifier les fichiers

  • Après avoir examiné le fichier ou le répertoire, Claude peut utiliser une commande comme str_replace pour faire des modifications ou insert pour ajouter du texte à un numéro de ligne spécifique
  • Si Claude utilise la commande str_replace, Claude construit une demande d’utilisation d’outil correctement formatée avec l’ancien texte et le nouveau texte pour le remplacer
5

Exécuter la modification et retourner les résultats

  • Extrayez le chemin du fichier, l’ancien texte et le nouveau texte de la demande d’utilisation d’outil de Claude
  • Effectuez le remplacement de texte dans le fichier
  • Retournez les résultats à Claude
6

Claude fournit son analyse et son explication

  • Après avoir examiné et éventuellement modifié les fichiers, Claude fournit une explication complète de ce qu’il a trouvé et des modifications qu’il a apportées

Commandes de l’outil d’éditeur de texte

L’outil d’éditeur de texte prend en charge plusieurs commandes pour visualiser et modifier les fichiers :

view

La commande view permet à Claude d’examiner le contenu d’un fichier ou de lister le contenu d’un répertoire. Elle peut lire le fichier entier ou une plage spécifique de lignes.

Paramètres :

  • command : Doit être “view”
  • path : Le chemin vers le fichier ou le répertoire à visualiser
  • view_range (optionnel) : Un tableau de deux entiers spécifiant les numéros de ligne de début et de fin à visualiser. Les numéros de ligne commencent à 1, et -1 pour la ligne de fin signifie lire jusqu’à la fin du fichier. Ce paramètre s’applique uniquement lors de la visualisation de fichiers, pas de répertoires.

str_replace

La commande str_replace permet à Claude de remplacer une chaîne spécifique dans un fichier par une nouvelle chaîne. Elle est utilisée pour faire des modifications précises.

Paramètres :

  • command : Doit être “str_replace”
  • path : Le chemin vers le fichier à modifier
  • old_str : Le texte à remplacer (doit correspondre exactement, y compris les espaces et l’indentation)
  • new_str : Le nouveau texte à insérer à la place de l’ancien texte

create

La commande create permet à Claude de créer un nouveau fichier avec un contenu spécifié.

Paramètres :

  • command : Doit être “create”
  • path : Le chemin où le nouveau fichier doit être créé
  • file_text : Le contenu à écrire dans le nouveau fichier

insert

La commande insert permet à Claude d’insérer du texte à un emplacement spécifique dans un fichier.

Paramètres :

  • command : Doit être “insert”
  • path : Le chemin vers le fichier à modifier
  • insert_line : Le numéro de ligne après lequel insérer le texte (0 pour le début du fichier)
  • new_str : Le texte à insérer

undo_edit

La commande undo_edit permet à Claude d’annuler la dernière modification apportée à un fichier.

Paramètres :

  • command : Doit être “undo_edit”
  • path : Le chemin vers le fichier dont la dernière modification doit être annulée

Exemple : Correction d’une erreur de syntaxe avec l’outil d’éditeur de texte

Cet exemple montre comment Claude utilise l’outil d’éditeur de texte pour corriger une erreur de syntaxe dans un fichier Python.

Tout d’abord, votre application fournit à Claude l’outil d’éditeur de texte et une invite pour corriger une erreur de syntaxe :

Claude utilisera d’abord l’outil d’éditeur de texte pour visualiser le fichier :

{
  "id": "msg_01XAbCDeFgHiJkLmNoPQrStU",
  "model": "claude-3-7-sonnet-20250219",
  "stop_reason": "tool_use",
  "role": "assistant",
  "content": [
    {
      "type": "text",
      "text": "Je vais vous aider à corriger l'erreur de syntaxe dans votre fichier primes.py. Laissez-moi d'abord examiner le fichier pour identifier le problème."
    },
    {
      "type": "tool_use",
      "id": "toolu_01AbCdEfGhIjKlMnOpQrStU",
      "name": "str_replace_editor",
      "input": {
        "command": "view",
        "path": "primes.py"
      }
    }
  ]
}

Votre application doit alors lire le fichier et retourner son contenu à Claude :

Numéros de ligne

Dans l’exemple ci-dessus, le résultat de l’outil view inclut le contenu du fichier avec des numéros de ligne ajoutés au début de chaque ligne (par exemple, “1: def is_prime(n):”). Les numéros de ligne ne sont pas obligatoires, mais ils sont essentiels pour utiliser avec succès le paramètre view_range pour examiner des sections spécifiques de fichiers et le paramètre insert_line pour ajouter du contenu à des emplacements précis.

Claude identifiera l’erreur de syntaxe et utilisera la commande str_replace pour la corriger :

{
  "id": "msg_01VwXyZAbCdEfGhIjKlMnO",
  "model": "claude-3-7-sonnet-20250219",
  "stop_reason": "tool_use",
  "role": "assistant",
  "content": [
    {
      "type": "text",
      "text": "J'ai trouvé l'erreur de syntaxe dans votre fichier primes.py. Dans la fonction `get_primes`, il manque un deux-points (:) à la fin de la ligne de la boucle for. Je vais corriger cela pour vous."
    },
    {
      "type": "tool_use",
      "id": "toolu_01PqRsTuVwXyZAbCdEfGh",
      "name": "str_replace_editor",
      "input": {
        "command": "str_replace",
        "path": "primes.py",
        "old_str": "    for num in range(2, limit + 1)",
        "new_str": "    for num in range(2, limit + 1):"
      }
    }
  ]
}

Votre application doit alors effectuer la modification et retourner le résultat :

Enfin, Claude fournira une explication complète de la correction :

{
  "id": "msg_01IjKlMnOpQrStUvWxYzAb",
  "model": "claude-3-7-sonnet-20250219",
  "stop_reason": "end_turn",
  "role": "assistant",
  "content": [
    {
      "type": "text",
      "text": "J'ai corrigé l'erreur de syntaxe dans votre fichier primes.py. Le problème se trouvait dans la fonction `get_primes` à la ligne 19. Il manquait un deux-points (:) à la fin de la ligne de la boucle for.\n\nVoici ce que j'ai modifié :\n\nDe :\n```python\nfor num in range(2, limit + 1)\n```\n\nÀ :\n```python\nfor num in range(2, limit + 1):\n```\n\nEn Python, un deux-points est requis à la fin des instructions qui commencent un nouveau bloc de code, comme les boucles for, les instructions if, les définitions de fonctions, etc. Sans le deux-points, Python génère une erreur de syntaxe car il ne sait pas où commence le bloc de code.\n\nVotre code devrait maintenant s'exécuter correctement. La fonction générera correctement une liste de nombres premiers jusqu'à la limite spécifiée."
    }
  ]
}

Implémenter l’outil d’éditeur de texte

L’outil d’éditeur de texte est implémenté comme un outil sans schéma, identifié par type: "text_editor_20250124". Lors de l’utilisation de cet outil, vous n’avez pas besoin de fournir un schéma d’entrée comme avec d’autres outils ; le schéma est intégré au modèle de Claude et ne peut pas être modifié.

1

Initialiser votre implémentation de l'éditeur

Créez des fonctions auxiliaires pour gérer les opérations sur les fichiers comme la lecture, l’écriture et la modification des fichiers. Envisagez d’implémenter une fonctionnalité de sauvegarde pour récupérer en cas d’erreurs.

2

Gérer les appels d'outil d'éditeur

Créez une fonction qui traite les appels d’outil de Claude en fonction du type de commande :

def handle_editor_tool(tool_call):
    input_params = tool_call.input
    command = input_params.get('command', '')
    file_path = input_params.get('path', '')
    
    if command == 'view':
        # Lire et retourner le contenu du fichier
        pass
    elif command == 'str_replace':
        # Remplacer le texte dans le fichier
        pass
    elif command == 'create':
        # Créer un nouveau fichier
        pass
    elif command == 'insert':
        # Insérer du texte à un emplacement
        pass
    elif command == 'undo_edit':
        # Restaurer depuis la sauvegarde
        pass
3

Implémenter des mesures de sécurité

Ajoutez des validations et des contrôles de sécurité :

  • Validez les chemins de fichiers pour empêcher la traversée de répertoires
  • Créez des sauvegardes avant d’apporter des modifications
  • Gérez les erreurs avec élégance
  • Implémentez des vérifications de permissions
4

Traiter les réponses de Claude

Extrayez et gérez les appels d’outil des réponses de Claude :

# Traiter l'utilisation d'outil dans la réponse de Claude
for content in response.content:
    if content.type == "tool_use":
        # Exécuter l'outil en fonction de la commande
        result = handle_editor_tool(content)
        
        # Retourner le résultat à Claude
        tool_result = {
            "type": "tool_result",
            "tool_use_id": content.id,
            "content": result
        }

Lors de l’implémentation de l’outil d’éditeur de texte, gardez à l’esprit :

  1. Sécurité : L’outil a accès à votre système de fichiers local, donc implémentez des mesures de sécurité appropriées.
  2. Sauvegarde : Créez toujours des sauvegardes avant d’autoriser des modifications sur des fichiers importants.
  3. Validation : Validez toutes les entrées pour éviter des modifications non intentionnelles.
  4. Correspondance unique : Assurez-vous que les remplacements correspondent exactement à un emplacement pour éviter des modifications non intentionnelles.

Gérer les erreurs

Lors de l’utilisation de l’outil d’éditeur de texte, diverses erreurs peuvent survenir. Voici des conseils sur la façon de les gérer :

Suivre les meilleures pratiques d’implémentation


Tarification et utilisation des tokens

L’outil d’éditeur de texte utilise la même structure de tarification que les autres outils utilisés avec Claude. Il suit la tarification standard des tokens d’entrée et de sortie basée sur le modèle Claude que vous utilisez.

En plus des tokens de base, les tokens d’entrée supplémentaires suivants sont nécessaires pour l’outil d’éditeur de texte :

OutilTokens d’entrée supplémentaires
text_editor_20241022 (Claude 3.5 Sonnet)700 tokens
text_editor_20250124 (Claude 3.7 Sonnet)700 tokens

Pour des informations plus détaillées sur la tarification des outils, voir Tarification de l’utilisation des outils.

Intégrer l’outil d’éditeur de texte avec l’utilisation de l’ordinateur

L’outil d’éditeur de texte peut être utilisé aux côtés de l’outil d’utilisation de l’ordinateur et d’autres outils définis par Anthropic. Lors de la combinaison de ces outils, vous devrez :

  1. Inclure l’en-tête bêta approprié (si utilisé avec l’utilisation de l’ordinateur)
  2. Faire correspondre la version de l’outil avec le modèle que vous utilisez
  3. Tenir compte de l’utilisation supplémentaire de tokens pour tous les outils inclus dans votre requête

Pour plus d’informations sur l’utilisation de l’outil d’éditeur de texte dans un contexte d’utilisation de l’ordinateur, voir Utilisation de l’ordinateur.

Journal des modifications

DateVersionModifications
13 mars 2025text_editor_20250124Introduction de la documentation autonome de l’outil d’éditeur de texte. Cette version est optimisée pour Claude 3.7 Sonnet mais possède des capacités identiques à la version précédente.
22 octobre 2024text_editor_20241022Version initiale de l’outil d’éditeur de texte avec Claude 3.5 Sonnet. Fournit des capacités pour visualiser, créer et modifier des fichiers via les commandes view, create, str_replace, insert et undo_edit.

Prochaines étapes

Voici quelques idées sur la façon d’utiliser l’outil d’éditeur de texte de manière plus pratique et puissante :

  • Intégrer à votre flux de travail de développement : Intégrez l’outil d’éditeur de texte dans vos outils de développement ou IDE
  • Créer un système de revue de code : Faites examiner et améliorer votre code par Claude
  • Construire un assistant de débogage : Créez un système où Claude peut vous aider à diagnostiquer et corriger des problèmes dans votre code
  • Implémenter la conversion de format de fichier : Laissez Claude vous aider à convertir des fichiers d’un format à un autre
  • Automatiser la documentation : Mettez en place des flux de travail pour que Claude documente automatiquement votre code

Alors que vous construisez des applications avec l’outil d’éditeur de texte, nous sommes impatients de voir comment vous exploitez les capacités de Claude pour améliorer votre flux de travail et votre productivité.