Claude kann über das Computer-Use-Tool mit Computerumgebungen interagieren, das Screenshot-Funktionen und Maus-/Tastatursteuerung für autonome Desktop-Interaktion bietet.
Computer use befindet sich derzeit in der Beta-Phase und erfordert einen Beta-Header:
  • "computer-use-2025-01-24" (Claude 4 Modelle und Claude Sonnet 3.7 (veraltet))

Übersicht

Computer use ist eine Beta-Funktion, die Claude die Interaktion mit Desktop-Umgebungen ermöglicht. Dieses Tool bietet:
  • Screenshot-Erfassung: Sehen Sie, was derzeit auf dem Bildschirm angezeigt wird
  • Maussteuerung: Klicken, ziehen und bewegen Sie den Cursor
  • Tastatureingabe: Geben Sie Text ein und verwenden Sie Tastaturkombinationen
  • Desktop-Automatisierung: Interagieren Sie mit jeder Anwendung oder Schnittstelle
Während Computer use mit anderen Tools wie Bash und Text-Editor für umfassendere Automatisierungs-Workflows erweitert werden kann, bezieht sich Computer use speziell auf die Fähigkeit des Computer-Use-Tools, Desktop-Umgebungen zu sehen und zu steuern.

Modellkompatibilität

Computer use ist für die folgenden Claude-Modelle verfügbar:
ModellTool-VersionBeta-Flag
Claude 4 Modellecomputer_20250124computer-use-2025-01-24
Claude Sonnet 3.7 (veraltet)computer_20250124computer-use-2025-01-24
Claude 4 Modelle verwenden aktualisierte Tool-Versionen, die für die neue Architektur optimiert sind. Claude Sonnet 3.7 (veraltet) führt zusätzliche Funktionen ein, einschließlich der Thinking-Funktion für mehr Einblick in den Reasoning-Prozess des Modells.
Ältere Tool-Versionen sind nicht garantiert abwärtskompatibel mit neueren Modellen. Verwenden Sie immer die Tool-Version, die Ihrer Modellversion entspricht.

Sicherheitsaspekte

Computer use ist eine Beta-Funktion mit einzigartigen Risiken, die sich von Standard-API-Funktionen unterscheiden. Diese Risiken sind erhöht, wenn Sie mit dem Internet interagieren. Um Risiken zu minimieren, sollten Sie Vorsichtsmaßnahmen wie die folgenden in Betracht ziehen:
  1. Verwenden Sie eine dedizierte virtuelle Maschine oder einen Container mit minimalen Berechtigungen, um direkte Systemangriffe oder Unfälle zu verhindern.
  2. Vermeiden Sie es, dem Modell Zugriff auf sensible Daten wie Anmeldeinformationen zu geben, um Informationsdiebstahl zu verhindern.
  3. Begrenzen Sie den Internetzugriff auf eine Whitelist von Domains, um die Exposition gegenüber bösartigen Inhalten zu reduzieren.
  4. Bitten Sie einen Menschen, Entscheidungen zu bestätigen, die zu bedeutsamen realen Konsequenzen führen könnten, sowie alle Aufgaben, die ausdrückliche Zustimmung erfordern, wie das Akzeptieren von Cookies, das Ausführen von Finanztransaktionen oder das Zustimmen zu Servicebedingungen.
In einigen Fällen folgt Claude Befehlen, die in Inhalten gefunden werden, auch wenn dies den Anweisungen des Benutzers widerspricht. Zum Beispiel können Claude-Anweisungen auf Webseiten oder in Bildern Anweisungen überschreiben oder Claude dazu veranlassen, Fehler zu machen. Wir empfehlen, Vorsichtsmaßnahmen zu treffen, um Claude von sensiblen Daten und Aktionen zu isolieren, um Risiken im Zusammenhang mit Prompt-Injection zu vermeiden.Wir haben das Modell trainiert, um diesen Prompt-Injektionen zu widerstehen, und haben eine zusätzliche Schutzschicht hinzugefügt. Wenn Sie unsere Computer-Use-Tools verwenden, führen wir automatisch Klassifizierer auf Ihren Prompts aus, um potenzielle Instanzen von Prompt-Injektionen zu kennzeichnen. Wenn diese Klassifizierer potenzielle Prompt-Injektionen in Screenshots identifizieren, lenken sie das Modell automatisch dazu, den Benutzer um Bestätigung zu bitten, bevor die nächste Aktion fortgesetzt wird. Wir erkennen an, dass dieser zusätzliche Schutz nicht ideal für jeden Anwendungsfall ist (zum Beispiel Anwendungsfälle ohne einen Menschen in der Schleife), daher kontaktieren Sie uns bitte hier, wenn Sie sich abmelden und ihn ausschalten möchten.Wir empfehlen dennoch, Vorsichtsmaßnahmen zu treffen, um Claude von sensiblen Daten und Aktionen zu isolieren, um Risiken im Zusammenhang mit Prompt-Injection zu vermeiden.Informieren Sie abschließend die Endbenutzer über relevante Risiken und erhalten Sie ihre Zustimmung, bevor Sie Computer use in Ihren eigenen Produkten aktivieren.

Computer-Use-Referenzimplementierung

Beginnen Sie schnell mit unserer Computer-Use-Referenzimplementierung, die eine Web-Schnittstelle, einen Docker-Container, Beispiel-Tool-Implementierungen und eine Agent-Schleife enthält.Hinweis: Die Implementierung wurde aktualisiert, um neue Tools für Claude 4 Modelle und Claude Sonnet 3.7 einzubeziehen. Stellen Sie sicher, dass Sie die neueste Version des Repositorys abrufen, um auf diese neuen Funktionen zuzugreifen.
Bitte verwenden Sie dieses Formular, um Feedback zur Qualität der Modellreaktionen, der API selbst oder der Qualität der Dokumentation zu geben - wir können es kaum erwarten, von Ihnen zu hören!

Schnellstart

So beginnen Sie mit Computer use:
import anthropic

client = anthropic.Anthropic()

response = client.beta.messages.create(
    model="claude-sonnet-4-5",  # oder ein anderes kompatibles Modell
    max_tokens=1024,
    tools=[
        {
          "type": "computer_20250124",
          "name": "computer",
          "display_width_px": 1024,
          "display_height_px": 768,
          "display_number": 1,
        },
        {
          "type": "text_editor_20250124",
          "name": "str_replace_editor"
        },
        {
          "type": "bash_20250124",
          "name": "bash"
        }
    ],
    messages=[{"role": "user", "content": "Speichern Sie ein Bild einer Katze auf meinem Desktop."}],
    betas=["computer-use-2025-01-24"]
)
print(response)
Ein Beta-Header ist nur für das Computer-Use-Tool erforderlich.Das obige Beispiel zeigt alle drei Tools, die zusammen verwendet werden, was den Beta-Header erfordert, da er das Computer-Use-Tool enthält.

Wie Computer use funktioniert

1. Stellen Sie Claude das Computer-Use-Tool und einen Benutzer-Prompt zur Verfügung

  • Fügen Sie das Computer-Use-Tool (und optional andere Tools) zu Ihrer API-Anfrage hinzu.
  • Fügen Sie einen Benutzer-Prompt ein, der Desktop-Interaktion erfordert, z. B. „Speichern Sie ein Bild einer Katze auf meinem Desktop.”

2. Claude entscheidet sich, das Computer-Use-Tool zu verwenden

  • Claude bewertet, ob das Computer-Use-Tool bei der Abfrage des Benutzers helfen kann.
  • Falls ja, erstellt Claude eine ordnungsgemäß formatierte Tool-Use-Anfrage.
  • Die API-Antwort hat einen stop_reason von tool_use, was Claudes Absicht signalisiert.

3. Extrahieren Sie die Tool-Eingabe, evaluieren Sie das Tool auf einem Computer und geben Sie die Ergebnisse zurück

  • Extrahieren Sie auf Ihrer Seite den Tool-Namen und die Eingabe aus Claudes Anfrage.
  • Verwenden Sie das Tool auf einem Container oder einer virtuellen Maschine.
  • Setzen Sie das Gespräch mit einer neuen user-Nachricht fort, die einen tool_result-Inhaltsblock enthält.

4. Claude setzt die Verwendung von Computer-Use-Tools fort, bis die Aufgabe abgeschlossen ist

  • Claude analysiert die Tool-Ergebnisse, um zu bestimmen, ob weitere Tool-Verwendung erforderlich ist oder die Aufgabe abgeschlossen ist.
  • Wenn Claude entscheidet, dass es ein anderes Tool benötigt, antwortet es mit einem weiteren tool_use stop_reason und Sie sollten zu Schritt 3 zurückkehren.
  • Andernfalls erstellt es eine Textantwort für den Benutzer.
Wir bezeichnen die Wiederholung der Schritte 3 und 4 ohne Benutzereingabe als die „Agent-Schleife” - d. h. Claude antwortet mit einer Tool-Use-Anfrage und Ihre Anwendung antwortet Claude mit den Ergebnissen der Evaluierung dieser Anfrage.

Die Computerumgebung

Computer use erfordert eine sandboxed Computerumgebung, in der Claude sicher mit Anwendungen und dem Web interagieren kann. Diese Umgebung umfasst:
  1. Virtueller Display: Ein virtueller X11-Display-Server (mit Xvfb), der die Desktop-Schnittstelle rendert, die Claude durch Screenshots sehen wird und mit Maus-/Tastaturaktionen steuern wird.
  2. Desktop-Umgebung: Eine leichte Benutzeroberfläche mit Window Manager (Mutter) und Panel (Tint2), die auf Linux läuft und eine konsistente grafische Schnittstelle bietet, mit der Claude interagieren kann.
  3. Anwendungen: Vorinstallierte Linux-Anwendungen wie Firefox, LibreOffice, Text-Editoren und Dateimanager, die Claude zur Erfüllung von Aufgaben verwenden kann.
  4. Tool-Implementierungen: Integrationscode, der Claudes abstrakte Tool-Anfragen (wie „Maus bewegen” oder „Screenshot machen”) in tatsächliche Operationen in der virtuellen Umgebung übersetzt.
  5. Agent-Schleife: Ein Programm, das die Kommunikation zwischen Claude und der Umgebung handhabt, Claudes Aktionen an die Umgebung sendet und die Ergebnisse (Screenshots, Befehlsausgaben) an Claude zurückgibt.
Wenn Sie Computer use verwenden, verbindet sich Claude nicht direkt mit dieser Umgebung. Stattdessen:
  1. Empfängt Ihre Anwendung Claudes Tool-Use-Anfragen
  2. Übersetzt sie in Aktionen in Ihrer Computerumgebung
  3. Erfasst die Ergebnisse (Screenshots, Befehlsausgaben usw.)
  4. Gibt diese Ergebnisse an Claude zurück
Aus Sicherheits- und Isolierungsgründen läuft die Referenzimplementierung all dies in einem Docker-Container mit entsprechenden Port-Zuordnungen zum Anzeigen und Interagieren mit der Umgebung.

Wie man Computer use implementiert

Beginnen Sie mit unserer Referenzimplementierung

Wir haben eine Referenzimplementierung erstellt, die alles enthält, was Sie benötigen, um schnell mit Computer use zu beginnen:
  • Eine containerisierte Umgebung, die für Computer use mit Claude geeignet ist
  • Implementierungen der Computer-Use-Tools
  • Eine Agent-Schleife, die mit der Claude API interagiert und die Computer-Use-Tools ausführt
  • Eine Web-Schnittstelle zur Interaktion mit dem Container, der Agent-Schleife und den Tools.

Verstehen Sie die Multi-Agent-Schleife

Der Kern von Computer use ist die „Agent-Schleife” - ein Zyklus, in dem Claude Tool-Aktionen anfordert, Ihre Anwendung diese ausführt und die Ergebnisse an Claude zurückgibt. Hier ist ein vereinfachtes Beispiel:
async def sampling_loop(
    *,
    model: str,
    messages: list[dict],
    api_key: str,
    max_tokens: int = 4096,
    tool_version: str,
    thinking_budget: int | None = None,
    max_iterations: int = 10,  # Iterationslimit hinzufügen, um Endlosschleifen zu verhindern
):
    """
    Eine einfache Agent-Schleife für Claude Computer-Use-Interaktionen.

    Diese Funktion handhabt den Hin- und Herwechsel zwischen:
    1. Senden von Benutzernachrichten an Claude
    2. Claude fordert an, Tools zu verwenden
    3. Ihre App führt diese Tools aus
    4. Senden von Tool-Ergebnissen zurück an Claude
    """
    # Tools und API-Parameter einrichten
    client = Anthropic(api_key=api_key)
    beta_flag = "computer-use-2025-01-24" if "20250124" in tool_version else "computer-use-2024-10-22"

    # Tools konfigurieren - Sie sollten diese bereits an anderer Stelle initialisiert haben
    tools = [
        {"type": f"computer_{tool_version}", "name": "computer", "display_width_px": 1024, "display_height_px": 768},
        {"type": f"text_editor_{tool_version}", "name": "str_replace_editor"},
        {"type": f"bash_{tool_version}", "name": "bash"}
    ]

    # Hauptagent-Schleife (mit Iterationslimit, um Runaway-API-Kosten zu verhindern)
    iterations = 0
    while True and iterations < max_iterations:
        iterations += 1
        # Optionalen Thinking-Parameter einrichten (für Claude Sonnet 3.7)
        thinking = None
        if thinking_budget:
            thinking = {"type": "enabled", "budget_tokens": thinking_budget}

        # Claude API aufrufen
        response = client.beta.messages.create(
            model=model,
            max_tokens=max_tokens,
            messages=messages,
            tools=tools,
            betas=[beta_flag],
            thinking=thinking
        )

        # Claudes Antwort zur Gesprächshistorie hinzufügen
        response_content = response.content
        messages.append({"role": "assistant", "content": response_content})

        # Überprüfen Sie, ob Claude Tools verwendet hat
        tool_results = []
        for block in response_content:
            if block.type == "tool_use":
                # In einer echten App würden Sie das Tool hier ausführen
                # Zum Beispiel: result = run_tool(block.name, block.input)
                result = {"result": "Tool erfolgreich ausgeführt"}

                # Formatieren Sie das Ergebnis für Claude
                tool_results.append({
                    "type": "tool_result",
                    "tool_use_id": block.id,
                    "content": result
                })

        # Wenn keine Tools verwendet wurden, ist Claude fertig - geben Sie die endgültigen Nachrichten zurück
        if not tool_results:
            return messages

        # Fügen Sie Tool-Ergebnisse zu Nachrichten für die nächste Iteration mit Claude hinzu
        messages.append({"role": "user", "content": tool_results})
Die Schleife wird fortgesetzt, bis entweder Claude antwortet, ohne Tools anzufordern (Aufgabenabschluss), oder das maximale Iterationslimit erreicht wird. Diese Schutzmaßnahme verhindert potenzielle Endlosschleifen, die zu unerwarteten API-Kosten führen könnten.
Wenn Sie das Computer-Use-Tool verwenden, müssen Sie das entsprechende Beta-Flag für Ihre Modellversion einbeziehen:
Wenn Sie computer_20250124 verwenden, beziehen Sie dieses Beta-Flag ein:
"betas": ["computer-use-2025-01-24"]
Wenn Sie computer_20250124 verwenden, beziehen Sie dieses Beta-Flag ein:
"betas": ["computer-use-2025-01-24"]
Wir empfehlen, die Referenzimplementierung auszuprobieren, bevor Sie den Rest dieser Dokumentation lesen.

Optimieren Sie die Modellleistung mit Prompting

Hier sind einige Tipps, wie Sie die beste Qualität der Ausgaben erhalten:
  1. Geben Sie einfache, gut definierte Aufgaben an und geben Sie explizite Anweisungen für jeden Schritt.
  2. Claude nimmt manchmal die Ergebnisse seiner Aktionen an, ohne sie explizit zu überprüfen. Um dies zu verhindern, können Sie Claude mit Nach jedem Schritt einen Screenshot machen und sorgfältig bewerten, ob Sie das richtige Ergebnis erreicht haben. Zeigen Sie Ihr Denken explizit: „Ich habe Schritt X bewertet..." Wenn nicht korrekt, versuchen Sie es erneut. Nur wenn Sie bestätigt haben, dass ein Schritt korrekt ausgeführt wurde, sollten Sie zum nächsten übergehen. auffordern.
  3. Einige UI-Elemente (wie Dropdown-Menüs und Scrollbalken) könnten für Claude schwierig zu manipulieren sein, indem Mausbewegungen verwendet werden. Wenn Sie dies erleben, versuchen Sie, das Modell aufzufordern, Tastaturkombinationen zu verwenden.
  4. Für wiederholbare Aufgaben oder UI-Interaktionen beziehen Sie Beispiel-Screenshots und Tool-Aufrufe erfolgreicher Ergebnisse in Ihren Prompt ein.
  5. Wenn Sie das Modell anmelden müssen, geben Sie ihm den Benutzernamen und das Passwort in Ihrem Prompt in XML-Tags wie <robot_credentials> an. Die Verwendung von Computer use in Anwendungen, die eine Anmeldung erfordern, erhöht das Risiko schlechter Ergebnisse aufgrund von Prompt-Injection. Bitte überprüfen Sie unseren Leitfaden zur Minderung von Prompt-Injektionen, bevor Sie dem Modell Anmeldeinformationen geben.
Wenn Sie wiederholt auf eine klare Reihe von Problemen stoßen oder im Voraus wissen, welche Aufgaben Claude ausführen muss, verwenden Sie den System-Prompt, um Claude explizite Tipps oder Anweisungen zu geben, wie die Aufgaben erfolgreich ausgeführt werden.

System-Prompts

Wenn eines der von Anthropic definierten Tools über die Claude API angefordert wird, wird ein Computer-Use-spezifischer System-Prompt generiert. Er ähnelt dem Tool-Use-System-Prompt, beginnt aber mit:
Sie haben Zugriff auf eine Reihe von Funktionen, die Sie verwenden können, um die Frage des Benutzers zu beantworten. Dies umfasst Zugriff auf eine sandboxed Computerumgebung. Sie haben derzeit nicht die Möglichkeit, Dateien zu inspizieren oder auf externe Ressourcen zuzugreifen, außer durch Aufrufen der folgenden Funktionen.
Wie bei regulärer Tool-Verwendung wird das vom Benutzer bereitgestellte system_prompt-Feld weiterhin respektiert und bei der Konstruktion des kombinierten System-Prompts verwendet.

Verfügbare Aktionen

Das Computer-Use-Tool unterstützt diese Aktionen: Grundlegende Aktionen (alle Versionen)
  • screenshot - Erfassen Sie die aktuelle Anzeige
  • left_click - Klicken Sie auf Koordinaten [x, y]
  • type - Geben Sie eine Textzeichenkette ein
  • key - Drücken Sie eine Taste oder Tastenkombination (z. B. „ctrl+s”)
  • mouse_move - Bewegen Sie den Cursor zu Koordinaten
Erweiterte Aktionen (computer_20250124) Verfügbar in Claude 4 Modellen und Claude Sonnet 3.7:
  • scroll - Scrollen Sie in jede Richtung mit Mengensteuerung
  • left_click_drag - Klicken und ziehen Sie zwischen Koordinaten
  • right_click, middle_click - Zusätzliche Maustasten
  • double_click, triple_click - Mehrfachklicks
  • left_mouse_down, left_mouse_up - Feinkörnige Klicksteuerung
  • hold_key - Halten Sie eine Taste, während Sie andere Aktionen ausführen
  • wait - Machen Sie eine Pause zwischen Aktionen
// Screenshot machen
{
  "action": "screenshot"
}

// An Position klicken
{
  "action": "left_click",
  "coordinate": [500, 300]
}

// Text eingeben
{
  "action": "type",
  "text": "Hallo, Welt!"
}

// Nach unten scrollen (Claude 4/3.7)
{
  "action": "scroll",
  "coordinate": [500, 400],
  "scroll_direction": "down",
  "scroll_amount": 3
}

Tool-Parameter

ParameterErforderlichBeschreibung
typeJaTool-Version (computer_20250124 oder computer_20241022)
nameJaMuss „computer” sein
display_width_pxJaDisplay-Breite in Pixeln
display_height_pxJaDisplay-Höhe in Pixeln
display_numberNeinDisplay-Nummer für X11-Umgebungen
Halten Sie die Display-Auflösung bei oder unter 1280x800 (WXGA) für beste Leistung. Höhere Auflösungen können zu Genauigkeitsproblemen führen, da Bilder verkleinert werden.
Wichtig: Das Computer-Use-Tool muss von Ihrer Anwendung explizit ausgeführt werden - Claude kann es nicht direkt ausführen. Sie sind verantwortlich für die Implementierung der Screenshot-Erfassung, Mausbewegungen, Tastatureingaben und anderer Aktionen basierend auf Claudes Anfragen.

Aktivieren Sie die Thinking-Fähigkeit in Claude 4 Modellen und Claude Sonnet 3.7

Claude Sonnet 3.7 führte eine neue „Thinking”-Fähigkeit ein, die es Ihnen ermöglicht, den Reasoning-Prozess des Modells zu sehen, während es komplexe Aufgaben durcharbeitet. Diese Funktion hilft Ihnen zu verstehen, wie Claude ein Problem angeht, und kann besonders wertvoll zum Debuggen oder für Bildungszwecke sein. Um Thinking zu aktivieren, fügen Sie einen thinking-Parameter zu Ihrer API-Anfrage hinzu:
"thinking": {
  "type": "enabled",
  "budget_tokens": 1024
}
Der budget_tokens-Parameter gibt an, wie viele Token Claude zum Denken verwenden kann. Dies wird von Ihrem Gesamtbudget max_tokens abgezogen. Wenn Thinking aktiviert ist, gibt Claude seinen Reasoning-Prozess als Teil der Antwort zurück, was Ihnen helfen kann:
  1. Den Entscheidungsprozess des Modells zu verstehen
  2. Potenzielle Probleme oder Missverständnisse zu identifizieren
  3. Vom Ansatz von Claude zum Problemlösen zu lernen
  4. Mehr Sichtbarkeit in komplexe mehrstufige Operationen zu erhalten
Hier ist ein Beispiel, wie die Thinking-Ausgabe aussehen könnte:
[Thinking]
Ich muss ein Bild einer Katze auf dem Desktop speichern. Lassen Sie mich dies in Schritte aufteilen:

1. Zuerst mache ich einen Screenshot, um zu sehen, was auf dem Desktop ist
2. Dann suche ich nach einem Webbrowser, um nach Katzenbildern zu suchen
3. Nach dem Finden eines geeigneten Bildes muss ich es auf dem Desktop speichern

Lassen Sie mich mit einem Screenshot beginnen, um zu sehen, was verfügbar ist...

Erweitern Sie Computer use mit anderen Tools

Das Computer-Use-Tool kann mit anderen Tools kombiniert werden, um leistungsfähigere Automatisierungs-Workflows zu erstellen. Dies ist besonders nützlich, wenn Sie:
  • Systembefehle ausführen müssen (Bash-Tool)
  • Konfigurationsdateien oder Skripte bearbeiten müssen (Text-Editor-Tool)
  • Mit benutzerdefinierten APIs oder Diensten integrieren müssen (benutzerdefinierte Tools)
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" \
  -H "anthropic-beta: computer-use-2025-01-24" \
  -d '{
    "model": "claude-sonnet-4-5",
    "max_tokens": 2000,
    "tools": [
      {
        "type": "computer_20250124",
        "name": "computer",
        "display_width_px": 1024,
        "display_height_px": 768,
        "display_number": 1
      },
      {
        "type": "text_editor_20250124",
        "name": "str_replace_editor"
      },
      {
        "type": "bash_20250124",
        "name": "bash"
      },
      {
        "name": "get_weather",
        "description": "Rufen Sie das aktuelle Wetter an einem bestimmten Ort ab",
        "input_schema": {
          "type": "object",
          "properties": {
            "location": {
              "type": "string",
              "description": "Die Stadt und der Staat, z. B. San Francisco, CA"
            },
            "unit": {
              "type": "string",
              "enum": ["celsius", "fahrenheit"],
              "description": "Die Temperatureinheit, entweder „celsius" oder „fahrenheit""
            }
          },
          "required": ["location"]
        }
      }
    ],
    "messages": [
      {
        "role": "user",
        "content": "Finden Sie Flüge von San Francisco an einen Ort mit wärmerem Wetter."
      }
    ],
    "thinking": {
      "type": "enabled",
      "budget_tokens": 1024
    }
  }'

Erstellen Sie eine benutzerdefinierte Computer-Use-Umgebung

Die Referenzimplementierung soll Ihnen helfen, schnell mit Computer use zu beginnen. Sie enthält alle Komponenten, die erforderlich sind, damit Claude einen Computer verwendet. Sie können jedoch Ihre eigene Umgebung für Computer use erstellen, um Ihre Anforderungen zu erfüllen. Sie benötigen:
  • Eine virtualisierte oder containerisierte Umgebung, die für Computer use mit Claude geeignet ist
  • Eine Implementierung von mindestens einem der von Anthropic definierten Computer-Use-Tools
  • Eine Agent-Schleife, die mit der Claude API interagiert und die tool_use-Ergebnisse mit Ihren Tool-Implementierungen ausführt
  • Eine API oder Benutzeroberfläche, die Benutzereingaben ermöglicht, um die Agent-Schleife zu starten

Implementieren Sie das Computer-Use-Tool

Das Computer-Use-Tool wird als schemalooses Tool implementiert. Wenn Sie dieses Tool verwenden, müssen Sie kein Eingabeschema wie bei anderen Tools bereitstellen; das Schema ist in das Modell integriert und kann nicht geändert werden.
1

Richten Sie Ihre Computerumgebung ein

Erstellen Sie einen virtuellen Display oder verbinden Sie sich mit einem vorhandenen Display, mit dem Claude interagiert. Dies umfasst normalerweise das Einrichten von Xvfb (X Virtual Framebuffer) oder ähnlicher Technologie.
2

Implementieren Sie Action-Handler

Erstellen Sie Funktionen, um jeden Action-Typ zu handhaben, den Claude möglicherweise anfordert:
def handle_computer_action(action_type, params):
    if action_type == "screenshot":
        return capture_screenshot()
    elif action_type == "left_click":
        x, y = params["coordinate"]
        return click_at(x, y)
    elif action_type == "type":
        return type_text(params["text"])
    # ... andere Aktionen handhaben
3

Verarbeiten Sie Claudes Tool-Aufrufe

Extrahieren und führen Sie Tool-Aufrufe aus Claudes Antworten aus:
for content in response.content:
    if content.type == "tool_use":
        action = content.input["action"]
        result = handle_computer_action(action, content.input)
        
        # Ergebnis an Claude zurückgeben
        tool_result = {
            "type": "tool_result",
            "tool_use_id": content.id,
            "content": result
        }
4

Implementieren Sie die Agent-Schleife

Erstellen Sie eine Schleife, die fortgesetzt wird, bis Claude die Aufgabe abgeschlossen hat:
while True:
    response = client.beta.messages.create(...)
    
    # Überprüfen Sie, ob Claude Tools verwendet hat
    tool_results = process_tool_calls(response)
    
    if not tool_results:
        # Keine weitere Tool-Verwendung, Aufgabe abgeschlossen
        break
        
    # Setzen Sie das Gespräch mit Tool-Ergebnissen fort
    messages.append({"role": "user", "content": tool_results})

Behandeln Sie Fehler

Bei der Implementierung des Computer-Use-Tools können verschiedene Fehler auftreten. So behandeln Sie diese:
Wenn die Screenshot-Erfassung fehlschlägt, geben Sie eine entsprechende Fehlermeldung zurück:
{
  "role": "user",
  "content": [
    {
      "type": "tool_result",
      "tool_use_id": "toolu_01A09q90qw90lq917835lq9",
      "content": "Fehler: Screenshot-Erfassung fehlgeschlagen. Display kann gesperrt oder nicht verfügbar sein.",
      "is_error": true
    }
  ]
}
Wenn Claude Koordinaten außerhalb der Display-Grenzen bereitstellt:
{
  "role": "user",
  "content": [
    {
      "type": "tool_result",
      "tool_use_id": "toolu_01A09q90qw90lq917835lq9",
      "content": "Fehler: Koordinaten (1200, 900) liegen außerhalb der Display-Grenzen (1024x768).",
      "is_error": true
    }
  ]
}
Wenn eine Action nicht ausgeführt werden kann:
{
  "role": "user",
  "content": [
    {
      "type": "tool_result",
      "tool_use_id": "toolu_01A09q90qw90lq917835lq9",
      "content": "Fehler: Klick-Action konnte nicht ausgeführt werden. Die Anwendung kann nicht reagieren.",
      "is_error": true
    }
  ]
}

Befolgen Sie Best Practices für die Implementierung

Legen Sie Display-Dimensionen fest, die zu Ihrem Anwendungsfall passen und innerhalb der empfohlenen Grenzen bleiben:
  • Für allgemeine Desktop-Aufgaben: 1024x768 oder 1280x720
  • Für Webanwendungen: 1280x800 oder 1366x768
  • Vermeiden Sie Auflösungen über 1920x1080, um Leistungsprobleme zu verhindern
Wenn Sie Screenshots an Claude zurückgeben:
  • Codieren Sie Screenshots als Base64 PNG oder JPEG
  • Erwägen Sie, große Screenshots zu komprimieren, um die Leistung zu verbessern
  • Beziehen Sie relevante Metadaten wie Zeitstempel oder Display-Status ein
Einige Anwendungen benötigen Zeit, um auf Aktionen zu reagieren:
def click_and_wait(x, y, wait_time=0.5):
    click_at(x, y)
    time.sleep(wait_time)  # UI-Update ermöglichen
Überprüfen Sie, dass angeforderte Aktionen sicher und gültig sind:
def validate_action(action_type, params):
    if action_type == "left_click":
        x, y = params.get("coordinate", (0, 0))
        if not (0 <= x < display_width and 0 <= y < display_height):
            return False, "Koordinaten außerhalb der Grenzen"
    return True, None
Führen Sie ein Protokoll aller Aktionen zur Fehlerbehebung:
import logging

def log_action(action_type, params, result):
    logging.info(f"Action: {action_type}, Params: {params}, Result: {result}")

Verstehen Sie die Einschränkungen von Computer use

Die Computer-Use-Funktionalität befindet sich in der Beta-Phase. Während Claudes Fähigkeiten hochmodern sind, sollten Entwickler sich seiner Einschränkungen bewusst sein:
  1. Latenz: Die aktuelle Computer-Use-Latenz für Mensch-KI-Interaktionen kann im Vergleich zu regulären von Menschen geleiteten Computeraktionen zu langsam sein. Wir empfehlen, sich auf Anwendungsfälle zu konzentrieren, bei denen Geschwindigkeit nicht kritisch ist (z. B. Hintergrund-Informationsbeschaffung, automatisierte Softwaretests) in vertrauenswürdigen Umgebungen.
  2. Genauigkeit und Zuverlässigkeit der Computervision: Claude kann Fehler machen oder halluzinieren, wenn er spezifische Koordinaten ausgibt, während er Aktionen generiert. Claude Sonnet 3.7 führt die Thinking-Fähigkeit ein, die Ihnen helfen kann, den Reasoning-Prozess des Modells zu verstehen und potenzielle Probleme zu identifizieren.
  3. Genauigkeit und Zuverlässigkeit der Tool-Auswahl: Claude kann Fehler machen oder halluzinieren, wenn er Tools auswählt, während er Aktionen generiert, oder unerwartete Aktionen durchführt, um Probleme zu lösen. Darüber hinaus kann die Zuverlässigkeit niedriger sein, wenn Sie mit Nischen-Anwendungen oder mehreren Anwendungen gleichzeitig interagieren. Wir empfehlen, dass Benutzer das Modell sorgfältig auffordern, wenn sie komplexe Aufgaben anfordern.
  4. Scroll-Zuverlässigkeit: Claude Sonnet 3.7 führte dedizierte Scroll-Aktionen mit Richtungssteuerung ein, die die Zuverlässigkeit verbessern. Das Modell kann jetzt explizit in jede Richtung (oben/unten/links/rechts) um einen angegebenen Betrag scrollen.
  5. Tabellenkalkulationsinteraktion: Mausklicks für die Tabellenkalkulationsinteraktion haben sich in Claude Sonnet 3.7 mit der Hinzufügung präziserer Maussteuerungsaktionen wie left_mouse_down, left_mouse_up und neuer Modifier-Key-Unterstützung verbessert. Die Zellauswahl kann zuverlässiger sein, indem Sie diese feinkörnigen Steuerelemente verwenden und Modifier-Tasten mit Klicks kombinieren.
  6. Kontoerstellung und Inhaltsgenerierung auf sozialen und Kommunikationsplattformen: Während Claude Websites besucht, begrenzen wir seine Fähigkeit, Konten zu erstellen oder Inhalte zu generieren und zu teilen oder sich anderweitig als Mensch auszugeben, auf sozialen Medien-Websites und Plattformen. Wir können diese Fähigkeit in Zukunft aktualisieren.
  7. Anfälligkeiten: Anfälligkeiten wie Jailbreaking oder Prompt-Injection können über Frontier-KI-Systeme bestehen bleiben, einschließlich der Beta-Computer-Use-API. In einigen Fällen folgt Claude Befehlen, die in Inhalten gefunden werden, manchmal sogar im Konflikt mit den Anweisungen des Benutzers. Zum Beispiel können Claude-Anweisungen auf Webseiten oder in Bildern Anweisungen überschreiben oder Claude dazu veranlassen, Fehler zu machen. Wir empfehlen: a. Begrenzen Sie Computer use auf vertrauenswürdige Umgebungen wie virtuelle Maschinen oder Container mit minimalen Berechtigungen b. Vermeiden Sie es, Computer use Zugriff auf sensible Konten oder Daten ohne strenge Überwachung zu geben c. Informieren Sie Endbenutzer über relevante Risiken und erhalten Sie ihre Zustimmung, bevor Sie Computer-Use-Funktionen in Ihren Anwendungen aktivieren oder Berechtigungen anfordern
  8. Unangemessene oder illegale Aktionen: Gemäß Anthropics Nutzungsbedingungen dürfen Sie Computer use nicht verwenden, um Gesetze zu verletzen oder gegen unsere Acceptable Use Policy zu verstoßen.
Überprüfen und verifizieren Sie immer sorgfältig Claudes Computer-Use-Aktionen und Protokolle. Verwenden Sie Claude nicht für Aufgaben, die perfekte Präzision oder sensible Benutzerinformationen ohne menschliche Überwachung erfordern.

Preisgestaltung

Computer use follows the standard tool use pricing. When using the computer use tool: System prompt overhead: The computer use beta adds 466-499 tokens to the system prompt Computer use tool token usage:
ModelInput tokens per tool definition
Claude 4.x models735 tokens
Claude Sonnet 3.7 (deprecated)735 tokens
Additional token consumption:
  • Screenshot images (see Vision pricing)
  • Tool execution results returned to Claude
If you’re also using bash or text editor tools alongside computer use, those tools have their own token costs as documented in their respective pages.

Nächste Schritte