Claude Platform Docs
  • Messages
  • Agents gérés
  • Administration

Search...
⌘K
Premiers pas
Introduction à ClaudeDémarrage rapide
Développer avec Claude
Aperçu des fonctionnalitésUtilisation de l'API MessagesRaisons d'arrêt et repliRefus et repliCrédit de repli
Capacités du modèle
Réflexion étendueRéflexion adaptativeEffortBudgets de tâches (bêta)Mode rapide (aperçu de recherche)Sorties structuréesCitationsStreaming des messagesTraitement par lotsRésultats de rechercheStreaming des refusPrise en charge multilingueEmbeddings
Outils
AperçuFonctionnement de l'utilisation d'outilsTutoriel : Créer un agent utilisant des outilsDéfinir des outilsGérer les appels d'outilsUtilisation d'outils en parallèleTool Runner (SDK)Utilisation d'outils stricteUtilisation d'outils avec mise en cache des promptsOutils serveurDépannageOutil de recherche webOutil de récupération webOutil d'exécution de codeOutil conseillerOutil de mémoireOutil BashOutil d'utilisation de l'ordinateurOutil d'éditeur de texte
Infrastructure des outils
Référence des outilsGérer le contexte des outilsCombinaisons d'outilsRecherche d'outilsAppel d'outils programmatiqueStreaming d'outils granulaire
Gestion du contexte
Fenêtres de contexteCompactageÉdition du contexteMise en cache des promptsMessages système en cours de conversationCréer un mode d'orchestrationDiagnostics de cache (bêta)Comptage de tokens
Travailler avec des fichiers
API FilesPrise en charge des PDFImages et vision
Compétences
AperçuDémarrage rapideBonnes pratiquesCompétences pour l'entrepriseCompétences dans l'API
MCP
Serveurs MCP distantsConnecteur MCP
Claude sur les plateformes cloud
Amazon BedrockAmazon Bedrock (ancien)Claude Platform sur AWSMicrosoft FoundryVertex AI

Log in
Outil d'éditeur de texte
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Claude Platform Docs

Solutions

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

Partners

  • Claude on AWS
  • Claude on Google Cloud

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
Messages/Outils

Outil d'édition de texte



Cette fonctionnalité est éligible à la Zero Data Retention (ZDR). Lorsque votre organisation dispose d'un accord ZDR, les données envoyées via cette fonctionnalité ne sont pas stockées après le retour de la réponse de l'API.

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

Pour la prise en charge des modèles, consultez la Référence des outils.

Quand utiliser l'outil d'édition de texte

Voici quelques exemples de situations où utiliser l'outil d'édition 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 se basant sur sa compréhension de l'implémentation.

Utiliser l'outil d'édition de texte

Fournissez l'outil d'édition de texte (nommé str_replace_based_edit_tool) à Claude via 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 n'est compatible qu'avec text_editor_20250728 et les versions ultérieures de l'outil d'édition de texte.

client = anthropic.Anthropic()

response = client.messages.create(
    model="claude-opus-4-8",
    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?",
        }
    ],
)

print(response)

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

  1. 1

    Fournissez à Claude l'outil d'édition de texte et un prompt utilisateur

    • Incluez l'outil d'édition de texte dans votre requête API
    • Fournissez un prompt utilisateur qui peut nécessiter l'examen ou la modification de fichiers, comme « Pouvez-vous corriger l'erreur de syntaxe dans mon code ? »
  2. 2

    Claude utilise l'outil pour examiner des fichiers ou des 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 renvoyez les résultats

    • Extrayez le chemin du fichier ou du répertoire de la requête d'utilisation d'outils 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
    • Renvoyez les résultats à Claude en poursuivant la conversation avec un nouveau message user contenant un bloc de contenu tool_result
  4. 4

    Claude utilise l'outil pour modifier des 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 requête d'utilisation d'outils correctement formatée avec l'ancien texte et le nouveau texte qui le remplacera
  5. 5

    Exécutez la modification et renvoyez les résultats

    • Extrayez le chemin du fichier, l'ancien texte et le nouveau texte de la requête d'utilisation d'outils de Claude
    • Effectuez le remplacement de texte dans le fichier
    • Renvoyez les résultats à Claude
  6. 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'édition de texte

L'outil d'édition de texte prend en charge plusieurs commandes pour visualiser 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 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 (facultatif) : 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 effectuer 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 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 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)
  • 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 un prompt pour corriger une erreur de syntaxe :

client = anthropic.Anthropic()

response = client.messages.create(
    model="claude-opus-4-8",
    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?",
        }
    ],
)

print(response)

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

Output
{
  "id": "msg_01XAbCDeFgHiJkLmNoPQrStU",
  "model": "claude-opus-4-8",
  "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 renvoyer son contenu à Claude :

response = client.messages.create(
    model="claude-opus-4-8",
    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()',
                }
            ],
        },
    ],
)

print(response)


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 afin d'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-8",
  "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 renvoyer le résultat :

response = client.messages.create(
    model="claude-opus-4-8",
    max_tokens=1024,
    tools=[{"type": "text_editor_20250728", "name": "str_replace_based_edit_tool"}],
    messages=[
        # Messages précédents...
        {
            "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.",
                }
            ],
        },
    ],
)

print(response)

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

Output
{
  "id": "msg_01IjKlMnOpQrStUvWxYzAb",
  "model": "claude-opus-4-8",
  "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 les 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

    Initialisez votre implémentation d'éditeur

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

  2. 2

    Gérez 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":
            # Lire et renvoyer le contenu du fichier
            pass
        elif command == "str_replace":
            # Remplacer du texte dans le fichier
            pass
        elif command == "create":
            # Créer un nouveau fichier
            pass
        elif command == "insert":
            # Insérer du texte à l'emplacement
            pass
  3. 3

    Implémentez 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 de manière élégante
    • Implémentez des vérifications de permissions
  4. 4

    Traitez les réponses de Claude

    Extrayez et gérez les appels d'outils à partir des réponses de Claude :

    # Traiter l'utilisation d'outils 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)
    
            # Renvoyer 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'édition de texte, gardez à l'esprit :

  1. Sécurité : L'outil a accès à votre système de fichiers local, implémentez donc 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 les modifications involontaires.
  4. Correspondance unique : Assurez-vous que les remplacements correspondent exactement à un seul 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 bonnes pratiques d'implémentation


Tarification et utilisation des tokens

L'outil d'édition de texte utilise la même structure tarifaire que les autres outils utilisés avec Claude. Il suit la tarification standard des tokens d'entrée et de sortie en fonction du 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'édition de texte :

OutilTokens d'entrée supplémentaires
text_editor_20250429 (Claude 4.x)700 tokens

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

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

L'outil d'édition de texte peut être utilisé conjointement avec d'autres outils Claude. Lorsque vous combinez des outils, assurez-vous de :

  • Faire correspondre la version de l'outil avec le modèle que vous utilisez
  • Tenir compte de l'utilisation supplémentaire de tokens pour tous les outils inclus dans votre requête

Journal des modifications

DateVersionModifications
28 juillet 2025text_editor_20250728Publication d'une version mise à jour de l'outil d'édition de texte qui corrige certains problèmes et ajoute un paramètre facultatif max_characters. Elle 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 possède 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 de visualisation, de création et de modification de fichiers via les commandes view, create, str_replace, insert et undo_edit.

Prochaines étapes

Voici quelques idées pour utiliser l'outil d'édition de texte de manière plus pratique et plus puissante :

  • Intégrez-le à votre flux de développement : Intégrez l'outil d'édition de texte dans vos outils de développement ou votre IDE
  • Créez un système de revue de code : Demandez à Claude d'examiner votre code et d'apporter des améliorations
  • Construisez un assistant de débogage : Créez un système où Claude peut vous aider à diagnostiquer et corriger les problèmes dans votre code
  • Implémentez la conversion de format de fichier : Laissez Claude vous aider à convertir des fichiers d'un format à un autre
  • Automatisez 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, prenant en charge des flux de travail allant du débogage à la documentation automatisée.


Vue d'ensemble de l'utilisation d'outils

Apprenez à implémenter des flux de travail d'outils à utiliser avec Claude.

Outil Bash

Exécutez des commandes shell avec Claude.

Was this page helpful?

  • Quand utiliser l'outil d'édition de texte
  • Utiliser l'outil d'édition de texte
  • Commandes de l'outil d'édition 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 bonnes pratiques d'implémentation
  • Tarification et utilisation des tokens
  • Intégrer l'outil d'édition de texte avec d'autres outils
  • Journal des modifications
  • Prochaines étapes