Aller au contenu principal

L'outil d'edition de texte integre

Claude dispose d’un outil integre (built-in) que vous n’avez pas besoin de creer de zero : l’outil d’edition de texte. Il permet a Claude de manipuler des fichiers et des repertoires comme dans un editeur de texte classique.

Ce que l’outil peut faire

L’outil d’edition de texte donne a Claude un ensemble complet de capacites de manipulation de fichiers :

  • Lire le contenu d’un fichier ou d’un repertoire
  • Lire une plage de lignes specifique dans un fichier
  • Remplacer du texte dans un fichier
  • Creer de nouveaux fichiers
  • Inserer du texte a une ligne specifique
  • Annuler les modifications recentes

Cela donne a Claude la capacite d’agir comme un developpeur, directement depuis l’API.

Un point important : l’implementation reste a votre charge

C’est la partie qui peut preter a confusion : bien que le schema de l’outil soit integre dans Claude, vous devez quand meme fournir l’implementation concrete. Autrement dit :

  • Claude sait comment demander des operations sur les fichiers (le schema est dans ses connaissances)
  • Mais vous devez ecrire le code qui execute reellement ces operations

Pour les outils classiques, vous ecrivez a la fois le schema JSON et la fonction. Ici, Claude fournit la connaissance du schema, mais les fonctions de creation, lecture, remplacement, etc. doivent etre implementees de votre cote.

Versions du schema

Bien que le schema principal soit integre, vous devez inclure un petit schema stub dans vos requetes. La version exacte depend du modele Claude utilise :

def get_text_edit_schema(model):
    if model.startswith("claude-3-7-sonnet"):
        return {
            "type": "text_editor_20250124",
            "name": "str_replace_editor",
        }
    elif model.startswith("claude-3-5-sonnet"):
        return {
            "type": "text_editor_20241022",
            "name": "str_replace_editor",
        }

Note : Les versions exactes des schemas pour tous les modeles sont disponibles dans la documentation officielle.

Claude voit ce petit schema et le developpe automatiquement en interne pour obtenir la specification complete de l’outil.

Exemple pratique

Quand vous demandez a Claude de travailler avec des fichiers, il utilise l’outil pour lire, modifier et creer des fichiers selon les besoins.

Exemple 1 — Lire et resumer :

“Ouvre le fichier ./main.py et resume son contenu.”

Claude va :

  1. Utiliser l’outil pour lire le fichier
  2. Analyser le contenu
  3. Fournir un resume

Exemple 2 — Modifier et creer :

“Ouvre ./main.py et ecris une fonction pour calculer pi a 5 decimales. Puis cree un fichier ./test.py avec des tests unitaires.”

Claude va :

  1. Lire le fichier main.py existant
  2. Remplacer son contenu avec la nouvelle implementation
  3. Creer un nouveau fichier test.py avec les tests

Pourquoi utiliser cet outil ?

On pourrait se demander l’interet quand les editeurs de code modernes ont deja des assistants IA integres. L’outil d’edition de texte devient precieux quand :

  • Vous construisez des applications qui doivent modifier des fichiers par programme
  • Vous travaillez dans des environnements sans editeur complet (serveur, CI/CD…)
  • Vous voulez integrer des capacites d’edition directement dans vos applications Claude

En resume, cet outil permet de reproduire les fonctionnalites d’un editeur de code IA directement dans vos propres applications, avec un controle fin sur la facon dont Claude interagit avec votre systeme de fichiers.