Wird geladen

Wichtiger Hinweis: Aktuelle Tool-IDs für das Text-Editor-Tool findest du in der AWS-Dokumentation hier: https://docs.aws.amazon.com/bedrock/latest/userguide/model-parameters-anthropic-claude-messages-tool-use.html#model-parameters-anthropic-anthropic-defined-tools

Das Text-Editor-Tool ist Claudes integrierte Fähigkeit, die ihm Zugriff auf das Dateisystem und Textbearbeitungsfunktionen gibt. Anders als bei anderen Tools, bei denen du sowohl das Schema als auch die Implementierung schreibst, weiß Claude bereits, wie es Text-Editor-Operationen anfragen soll - du musst diese Anfragen nur bearbeiten.

Was das Text-Editor-Tool macht

Dieses Tool gibt Claude die Fähigkeit, mit Dateien und Verzeichnissen zu arbeiten, wie es ein Software-Entwickler tun würde:

  • Anzeigen von Datei- oder Verzeichnisinhalten
  • Anzeigen bestimmter Zeilenbereiche in einer Datei
  • Ersetzen von Text in Dateien
  • Erstellen neuer Dateien
  • Einfügen von Text an bestimmten Zeilennummern

Wie es funktioniert

Das Text-Editor-Tool unterscheidet sich von benutzerdefinierten Tools dadurch, dass nur das JSON-Schema in Claude integriert ist. Du musst weiterhin die eigentliche Implementierung bereitstellen.

Wenn du benutzerdefinierte Tools erstellst, schreibst du beide Seiten - das Schema, das Claude über das Tool informiert, und die Funktion, die die eigentliche Arbeit erledigt. Beim Text-Editor-Tool hat Claude bereits das Schema, aber du musst Funktionen schreiben, um Claudes Anfragen zum Anzeigen, Bearbeiten oder Erstellen von Dateien zu bearbeiten.

Einrichten des Tools

Um das Text-Editor-Tool zu verwenden, musst du die Tool-Version bereitstellen, die zu deinem Modell passt:

python
# Für Claude 4 und spätere Modelle
text_editor = "text_editor_20250728"

# Für frühere Claude-Modelle
text_editor = "text_editor_20250124"

Der Rest dieser Lektion verwendet die Version für Claude 4 und höher; bei text_editor_20250124 lautet der Tool-Name stattdessen str_replace_editor, und es existiert auch ein undo_edit-Befehl.

Du musst außerdem deine Chat-Funktion anpassen, damit sie den Text-Editor-Parameter akzeptiert und in die Modellkonfiguration einbezieht.

Tool-Befehle

Wenn Claude den Text-Editor verwenden möchte, sendet es Tool-Nutzungsanfragen mit bestimmten Befehlen zurück:

Deine Implementierung muss alle vier Befehle bearbeiten: view, str_replace, create und insert. Hier ist die grundlegende Struktur für die Verarbeitung dieser Anfragen:

python
def run_tool(tool_name, tool_input):
    if tool_name == "str_replace_based_edit_tool":
        command = tool_input.get("command", "")
        if command == "view":
            path = tool_input.get("path", "")
            return text_editor_tool.view(path)
        elif command == "str_replace":
            path = tool_input.get("path", "")
            old_str = tool_input.get("old_str", "")
            new_str = tool_input.get("new_str", "")
            return text_editor_tool.str_replace(path, old_str, new_str)
        # ... behandle andere Befehle

Beispiel: Dateianalyse

So funktioniert das Tool in der Praxis. Wenn du Claude bittest, „Schreibe eine einsätzige Beschreibung des Codes in der Datei ./main.py", passiert Folgendes:

Claude sendet eine Tool-Nutzungsanfrage mit {"command": "view", "path": "./main.py"}. Dein Server verwendet die TextEditorTool-Klasse, um die Datei zu lesen, und gibt den Inhalt zurück. Claude liefert dann seine Analyse basierend auf dem gelesenen Code.

Praktische Anwendungen

Das Text-Editor-Tool verwandelt Claude im Wesentlichen in einen Code-Assistenten, der Folgendes kann:

  • Bestehenden Code lesen und eine Analyse liefern
  • Neue Dateien und Funktionen erstellen
  • Bestehenden Code ändern
  • Testdateien einrichten
  • Code über mehrere Dateien hinweg refaktorisieren

Zum Beispiel könntest du Claude bitten, „schreibe eine Funktion, um Pi bis zur 5. Nachkommastelle in main.py zu berechnen, und erstelle dann eine Datei test.py, um sie zu testen." Claude wird die bestehende Datei lesen, die neue Funktion hinzufügen, die Testdatei erstellen und umfassende Tests schreiben - alles automatisch mithilfe der Text-Editor-Befehle.

Dies ermöglicht es, KI-gestützte Entwicklungstools zu bauen, die modernen Code-Editoren mit integrierten KI-Funktionen ähneln, bei denen du Codeänderungen anfragen kannst und diese direkt in deinem Dateisystem umgesetzt werden.