Loading...
    • Construire
    • Admin
    • Modèles et tarification
    • SDKs clients
    • Référence API
    Search...
    ⌘K
    Premiers pas
    Introduction à ClaudeDémarrage rapide
    Construire avec Claude
    Aperçu des fonctionnalitésUtiliser l'API MessagesGérer les raisons d'arrêt
    Capacités du modèle
    Réflexion étendueRéflexion adaptativeEffortMode rapide (bêta : aperçu de recherche)Sorties structuréesCitationsMessages en streamingTraitement par lotsRésultats de rechercheRefus en streamingSupport multilingueEmbeddings
    Outils
    AperçuFonctionnement de l'utilisation des outilsOutil de recherche webOutil de récupération webOutil d'exécution de codeOutil de mémoireOutil BashOutil d'utilisation de l'ordinateurOutil d'édition de texte
    Infrastructure des outils
    Recherche d'outilsAppel d'outils programmatiqueStreaming d'outils précis
    Gestion du contexte
    Fenêtres de contexteCompactionÉdition du contexteMise en cache des promptsComptage de tokens
    Travailler avec des fichiers
    Files APISupport PDFImages et vision
    Compétences
    AperçuDémarrage rapideMeilleures pratiquesCompétences pour l'entrepriseCompétences dans l'API
    MCP
    Serveurs MCP distantsConnecteur MCP
    Ingénierie des prompts
    AperçuMeilleures pratiques de promptingOutils de prompting dans la Console
    Tester et évaluer
    Définir le succès et créer des évaluationsUtiliser l'outil d'évaluation dans la ConsoleRéduire la latence
    Renforcer les garde-fous
    Réduire les hallucinationsAugmenter la cohérence des sortiesAtténuer les jailbreaksRéduire les fuites de prompt
    Ressources
    Glossaire
    Notes de version
    Claude Platform
    Console
    Log in
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...

    Solutions

    • AI agents
    • Code modernization
    • Coding
    • Customer support
    • Education
    • Financial services
    • Government
    • Life sciences

    Partners

    • Amazon Bedrock
    • Google Cloud's Vertex AI

    Learn

    • Blog
    • Courses
    • Use cases
    • Connectors
    • Customer stories
    • Engineering at Anthropic
    • Events
    • Powered by Claude
    • Service partners
    • Startups program

    Company

    • Anthropic
    • Careers
    • Economic Futures
    • Research
    • News
    • Responsible Scaling Policy
    • Security and compliance
    • Transparency

    Learn

    • Blog
    • Courses
    • Use cases
    • Connectors
    • Customer stories
    • Engineering at Anthropic
    • Events
    • Powered by Claude
    • Service partners
    • Startups program

    Help and security

    • Availability
    • Status
    • Support
    • Discord

    Terms and policies

    • Privacy policy
    • Responsible disclosure policy
    • Terms of service: Commercial
    • Terms of service: Consumer
    • Usage policy
    Outils

    Outil d'éditeur de texte

    Claude peut utiliser un outil d'éditeur de texte conforme au schéma Anthropic pour afficher et modifier des fichiers texte, vous aidant à déboguer, corriger et améliorer votre code ou d'autres documents texte.

    This feature is eligible for Zero Data Retention (ZDR). When your organization has a ZDR arrangement, data sent through this feature is not stored after the API response is returned.

    Claude peut utiliser un outil d'éditeur de texte conforme au schéma Anthropic pour afficher 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, en fournissant une assistance pratique plutôt que de simplement suggérer des modifications.

    Pour le support des modèles, consultez la Référence des outils.

    Quand utiliser l'outil d'éditeur de texte

    Voici quelques exemples de quand utiliser l'outil d'éditeur de texte :

    • Débogage de code : Demandez à Claude d'identifier et de corriger les bogues dans votre code, 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 : Demandez à Claude de créer des tests unitaires 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_based_edit_tool) à Claude en utilisant l'API Messages.

    Vous pouvez éventuellement spécifier un paramètre max_characters pour contrôler la troncature lors de la visualisation de fichiers volumineux.

    max_characters est uniquement compatible avec text_editor_20250728 et les versions ultérieures de l'outil d'éditeur de texte.

    curl https://api.anthropic.com/v1/messages \
      -H "content-type: application/json" \
      -H "x-api-key: $ANTHROPIC_API_KEY" \
      -H "anthropic-version: 2023-06-01" \
      -d '{
        "model": "claude-opus-4-6",
        "max_tokens": 1024,
        "tools": [
          {
            "type": "text_editor_20250728",
            "name": "str_replace_based_edit_tool",
            "max_characters": 10000
          }
        ],
        "messages": [
          {
            "role": "user",
            "content": "There'\''s a syntax error in my primes.py file. Can you help me fix it?"
          }
        ]
      }'

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

    1. 1

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

      • Incluez l'outil d'éditeur de texte dans votre demande d'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. 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. 3

      Exécutez la commande view et retournez 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
      • Si un paramètre max_characters a été spécifié dans la configuration de l'outil, tronquez le contenu du fichier à cette longueur
      • Retournez les résultats à Claude en continuant la conversation avec un nouveau message user contenant un bloc de contenu tool_result
    4. 4

      Claude utilise l'outil pour modifier les fichiers

      • Après avoir examiné le fichier ou le répertoire, Claude peut utiliser une commande telle que str_replace pour apporter 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. 5

      Exécutez la modification et retournez 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. 6

      Claude fournit son analyse et son explication

      • Après avoir examiné et possiblement 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 afficher et modifier des 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 l'intégralité du fichier ou une plage de lignes spécifique.

    Paramètres :

    • command : Doit être « view »
    • path : Le chemin du fichier ou du répertoire à afficher
    • view_range (optionnel) : Un tableau de deux entiers spécifiant les numéros de ligne de début et de fin à afficher. Les numéros de ligne sont indexés à partir de 1, et -1 pour la ligne de fin signifie lire jusqu'à la fin du fichier. Ce paramètre s'applique uniquement lors de l'affichage 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. Ceci est utilisé pour effectuer des modifications précises.

    Paramètres :

    • command : Doit être « str_replace »
    • path : Le chemin du 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 le 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 du fichier à modifier
    • insert_line : Le numéro de ligne après lequel insérer le texte (0 pour le début du fichier)
    • insert_text : Le texte à insérer

    Exemple : Corriger une erreur de syntaxe avec l'outil d'édition de texte

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

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

    curl https://api.anthropic.com/v1/messages \
      -H "content-type: application/json" \
      -H "x-api-key: $ANTHROPIC_API_KEY" \
      -H "anthropic-version: 2023-06-01" \
      -d '{
        "model": "claude-opus-4-6",
        "max_tokens": 1024,
        "tools": [
          {
            "type": "text_editor_20250728",
            "name": "str_replace_based_edit_tool"
          }
        ],
        "messages": [
          {
            "role": "user",
            "content": "There'\''s a syntax error in my primes.py file. Can you help me fix it?"
          }
        ]
      }'

    Claude utilise d'abord l'outil d'édition de texte pour afficher le fichier :

    Output
    {
      "id": "msg_01XAbCDeFgHiJkLmNoPQrStU",
      "model": "claude-opus-4-6",
      "stop_reason": "tool_use",
      "role": "assistant",
      "content": [
        {
          "type": "text",
          "text": "I'll help you fix the syntax error in your primes.py file. First, let me take a look at the file to identify the issue."
        },
        {
          "type": "tool_use",
          "id": "toolu_01AbCdEfGhIjKlMnOpQrStU",
          "name": "str_replace_based_edit_tool",
          "input": {
            "command": "view",
            "path": "primes.py"
          }
        }
      ]
    }

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

    curl https://api.anthropic.com/v1/messages \
      -H "content-type: application/json" \
      -H "x-api-key: $ANTHROPIC_API_KEY" \
      -H "anthropic-version: 2023-06-01" \
      -d '{
        "model": "claude-opus-4-6",
        "max_tokens": 1024,
        "tools": [
          {
            "type": "text_editor_20250728",
            "name": "str_replace_based_edit_tool"
          }
        ],
        "messages": [
          {
            "role": "user",
            "content": "There'\''s a syntax error in my primes.py file. Can you help me fix it?"
          },
          {
                "role": "assistant",
                "content": [
                    {
                        "type": "text",
                        "text": "I'\''ll help you fix the syntax error in your primes.py file. First, let me take a look at the file to identify the issue."
                    },
                    {
                        "type": "tool_use",
                        "id": "toolu_01AbCdEfGhIjKlMnOpQrStU",
                        "name": "str_replace_based_edit_tool",
                        "input": {
                            "command": "view",
                            "path": "primes.py"
                        }
                    }
                ]
            },
            {
                "role": "user",
                "content": [
                    {
                        "type": "tool_result",
                        "tool_use_id": "toolu_01AbCdEfGhIjKlMnOpQrStU",
                        "content": "1: def is_prime(n):\n2:     \"\"\"Check if a number is prime.\"\"\"\n3:     if n <= 1:\n4:         return False\n5:     if n <= 3:\n6:         return True\n7:     if n % 2 == 0 or n % 3 == 0:\n8:         return False\n9:     i = 5\n10:     while i * i <= n:\n11:         if n % i == 0 or n % (i + 2) == 0:\n12:             return False\n13:         i += 6\n14:     return True\n15: \n16: def get_primes(limit):\n17:     \"\"\"Generate a list of prime numbers up to the given limit.\"\"\"\n18:     primes = []\n19:     for num in range(2, limit + 1)\n20:         if is_prime(num):\n21:             primes.append(num)\n22:     return primes\n23: \n24: def main():\n25:     \"\"\"Main function to demonstrate prime number generation.\"\"\"\n26:     limit = 100\n27:     prime_list = get_primes(limit)\n28:     print(f\"Prime numbers up to {limit}:\")\n29:     print(prime_list)\n30:     print(f\"Found {len(prime_list)} prime numbers.\")\n31: \n32: if __name__ == \"__main__\":\n33:     main()"
                    }
                ]
            }
        ]
      }'

    Numéros de ligne

    Dans l'exemple ci-dessus, le résultat de l'outil view inclut le contenu du fichier avec les 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 identifie l'erreur de syntaxe et utilise la commande str_replace pour la corriger :

    Output
    {
      "id": "msg_01VwXyZAbCdEfGhIjKlMnO",
      "model": "claude-opus-4-6",
      "stop_reason": "tool_use",
      "role": "assistant",
      "content": [
        {
          "type": "text",
          "text": "I found the syntax error in your primes.py file. In the `get_primes` function, there is a missing colon (:) at the end of the for loop line. Let me fix that for you."
        },
        {
          "type": "tool_use",
          "id": "toolu_01PqRsTuVwXyZAbCdEfGh",
          "name": "str_replace_based_edit_tool",
          "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 ensuite effectuer la modification et retourner le résultat :

    ant messages create <<'YAML'
    model: claude-opus-4-6
    max_tokens: 1024
    tools:
      - type: text_editor_20250728
        name: str_replace_based_edit_tool
    messages:
      # Previous messages...
      - role: assistant
        content:
          - type: text
            text: >-
              I found the syntax error in your primes.py file. In the `get_primes`
              function, there is a missing colon (:) at the end of the for loop
              line. Let me fix that for you.
          - type: tool_use
            id: toolu_01PqRsTuVwXyZAbCdEfGh
            name: str_replace_based_edit_tool
            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):"
      - role: user
        content:
          - type: tool_result
            tool_use_id: toolu_01PqRsTuVwXyZAbCdEfGh
            content: Successfully replaced text at exactly one location.
    YAML

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

    Output
    {
      "id": "msg_01IjKlMnOpQrStUvWxYzAb",
      "model": "claude-opus-4-6",
      "stop_reason": "end_turn",
      "role": "assistant",
      "content": [
        {
          "type": "text",
          "text": "I've fixed the syntax error in your primes.py file. The issue was in the `get_primes` function at line 19. There was a missing colon (:) at the end of the for loop line.\n\nHere's what I changed:\n\nFrom:\n```python\nfor num in range(2, limit + 1)\n```\n\nTo:\n```python\nfor num in range(2, limit + 1):\n```\n\nIn Python, a colon is required at the end of statements that start a new code block, such as for loops, if statements, function definitions, etc. Without the colon, Python raises a syntax error because it doesn't know where the code block begins.\n\nYour code should now run correctly. The function will properly generate a list of prime numbers up to the specified limit."
        }
      ]
    }

    Implémenter l'outil d'édition de texte

    L'outil d'édition de texte est implémenté comme un outil sans schéma. Lorsque vous utilisez 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é.

    Le type d'outil est type: "text_editor_20250728" pour les modèles Claude 4.

    1. 1

      Initialiser votre implémentation d'éditeur

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

    2. 2

      Gérer les appels de l'outil d'édition

      Créez une fonction qui traite les appels d'outils 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":
              # 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
    3. 3

      Implémenter les mesures de sécurité

      Ajoutez des validations et des vérifications de sécurité :

      • Validez les chemins de fichiers pour prévenir la traversée de répertoires
      • Créez des sauvegardes avant d'effectuer des modifications
      • Gérez les erreurs correctement
      • Implémentez des vérifications de permissions
    4. 4

      Traiter les réponses de Claude

      Extrayez et gérez les appels d'outils des réponses de 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,
              }

    Lors de l'implémentation de l'outil d'édition 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 les modifications de fichiers importants.
    3. Validation : Validez toutes les entrées pour prévenir les modifications involontaires.
    4. Correspondance unique : Assurez-vous que les remplacements correspondent à exactement un emplacement pour éviter les modifications involontaires.

    Gérer les erreurs

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

    Suivre les meilleures pratiques de mise en œuvre


    Tarification et utilisation des jetons

    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:

    ToolAdditional input tokens
    text_editor_20250429 (Claude 4.x)700 tokens
    text_editor_20250124 (Claude Sonnet 3.7 (deprecated))700 tokens

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

    Intégrer l'outil d'édition de texte avec d'autres outils

    L'outil d'édition de texte peut être utilisé aux côtés d'autres outils Claude. Lors de la combinaison d'outils, assurez-vous que :

    • La version de l'outil correspond au modèle que vous utilisez
    • Vous tenez compte de l'utilisation supplémentaire de jetons pour tous les outils inclus dans votre demande

    Journal des modifications

    DateVersionModifications
    28 juillet 2025text_editor_20250728Publication d'un outil d'édition de texte mis à jour qui corrige certains problèmes et ajoute un paramètre max_characters optionnel. Il est par ailleurs identique à text_editor_20250429.
    29 avril 2025text_editor_20250429Publication de l'outil d'édition de texte pour Claude 4. Cette version supprime la commande undo_edit mais conserve toutes les autres capacités. Le nom de l'outil a été mis à jour pour refléter son architecture basée sur str_replace.
    13 mars 2025text_editor_20250124Introduction de la documentation autonome de l'outil d'édition de texte. Cette version est optimisée pour Claude Sonnet 3.7 mais a des capacités identiques à la version précédente.
    22 octobre 2024text_editor_20241022Publication initiale de l'outil d'édition de texte avec Claude Sonnet 3.5 (retiré). Fournit des capacités pour afficher, 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'édition de texte de manière plus pratique et puissante :

    • Intégrer avec votre flux de travail de développement : Intégrez l'outil d'édition de texte dans vos outils de développement ou votre IDE
    • Créer un système d'examen de code : Demandez à Claude d'examiner votre code et d'apporter des améliorations
    • Construire un assistant de débogage : Créez un système où Claude peut vous aider à diagnostiquer et corriger les problèmes de 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 : Configurez des flux de travail pour que Claude documente automatiquement votre code

    L'outil d'édition de texte permet à Claude de travailler directement avec votre base de code, en soutenant les flux de travail du débogage à la documentation automatisée.

    Aperçu de l'utilisation des outils

    Apprenez comment implémenter des flux de travail d'outils pour une utilisation avec Claude.

    Outil Bash

    Exécutez des commandes shell avec Claude.

    Was this page helpful?

    • Quand utiliser l'outil d'éditeur de texte
    • Utiliser l'outil d'éditeur de texte
    • Commandes de l'outil d'éditeur de texte
    • Exemple : Corriger une erreur de syntaxe avec l'outil d'édition de texte
    • Implémenter l'outil d'édition de texte
    • Gérer les erreurs
    • Suivre les meilleures pratiques de mise en œuvre
    • Tarification et utilisation des jetons
    • Intégrer l'outil d'édition de texte avec d'autres outils
    • Journal des modifications
    • Prochaines étapes