Claude kann über das Computer-Use-Tool mit Computerumgebungen interagieren. Dieses Tool bietet Screenshot-Funktionen sowie Maus- und Tastatursteuerung für autonome Desktop-Interaktion.
„Computer use" (Computernutzung) ist ein Beta-Feature, das Claude ermöglicht, mit Desktop-Umgebungen zu interagieren. Dieses Tool bietet:
Computer Use kann zwar mit anderen Tools wie Bash und Text-Editor für umfassendere Automatisierungs-Workflows erweitert werden, bezieht sich aber speziell auf die Fähigkeit des Computer-Use-Tools, Desktop-Umgebungen zu sehen und zu steuern.
Informationen zur Modellunterstützung findest du in der Tool-Referenz.
Computer Use ist ein Beta-Feature mit besonderen Risiken, die sich von Standard-API-Features unterscheiden. Diese Risiken sind bei der Interaktion mit dem Internet erhöht.
Unter bestimmten Umständen folgt Claude Befehlen, die in Inhalten gefunden werden, selbst wenn sie deinen Anweisungen widersprechen. Beispielsweise könnten Anweisungen auf Webseiten oder in Bildern deine Anweisungen überschreiben oder dazu führen, dass Claude Fehler macht. Triff Vorkehrungen, um Claude von sensiblen Daten und Aktionen zu isolieren und so Risiken im Zusammenhang mit Prompt-Injection zu vermeiden.
Anthropic hat das Modell darauf trainiert, diesen Prompt-Injections zu widerstehen, und eine zusätzliche Verteidigungsebene hinzugefügt. Wenn du die Computer-Use-Tools verwendest, werden automatisch Klassifikatoren auf deine Prompts angewendet, um potenzielle Fälle von Prompt-Injections zu erkennen. Wenn diese Klassifikatoren potenzielle Prompt-Injections in Screenshots identifizieren, steuern sie das Modell automatisch so, dass es vor der nächsten Aktion eine Benutzerbestätigung anfordert. Dieser zusätzliche Schutz ist nicht für jeden Anwendungsfall ideal (zum Beispiel für Anwendungsfälle ohne Human-in-the-Loop). Wenn du dich also abmelden und ihn deaktivieren möchtest, kontaktiere den Support.
Diese Vorsichtsmaßnahmen bleiben auch mit der Klassifikator-Verteidigungsebene wichtig.
Informiere Endnutzer über relevante Risiken und hole ihre Zustimmung ein, bevor du Computer Use in deinen eigenen Produkten aktivierst.
Starte mit der Computer-Use-Referenzimplementierung, die eine Weboberfläche, einen Docker-Container, Beispiel-Tool-Implementierungen und eine Agent-Loop enthält.
So startest du mit Computer Use:
client = anthropic.Anthropic()
response = client.beta.messages.create(
model="claude-opus-5", # or another compatible model
max_tokens=1024,
tools=[
{
"type": "computer_20251124",
"name": "computer",
"display_width_px": 1024,
"display_height_px": 768,
"display_number": 1,
},
{"type": "text_editor_20250728", "name": "str_replace_based_edit_tool"},
{"type": "bash_20250124", "name": "bash"},
],
messages=[{"role": "user", "content": "Save a picture of a cat to my desktop."}],
betas=["computer-use-2025-11-24"],
)
print(response)Stelle Claude das Computer-Use-Tool und einen User-Prompt bereit
Claude wählt das Computer-Use-Tool aus
stop_reason von tool_use, was eine Tool-Use-Anfrage signalisiert.Extrahiere die Tool-Eingabe, führe das Tool auf einem Computer aus und gib die Ergebnisse zurück
user-Nachricht fort, die einen tool_result-Content-Block enthält.Claude ruft weiterhin Computer-Use-Tools auf, bis die Aufgabe abgeschlossen ist
tool_use-stop_reason und du solltest zu Schritt 3 zurückkehren.Die Wiederholung der Schritte 3 und 4 ohne Benutzereingabe wird als „agent loop" (Agenten-Schleife) bezeichnet (das heißt, Claude antwortet mit einer Tool-Use-Anfrage und deine Anwendung antwortet Claude mit den Ergebnissen der Auswertung dieser Anfrage).
Computer Use erfordert eine Sandbox-Computing-Umgebung, in der Claude sicher mit Anwendungen und dem Web interagieren kann. Diese Umgebung umfasst:
Virtuelles Display: Ein virtueller X11-Display-Server (mit Xvfb), der die Desktop-Oberfläche rendert, die Claude über Screenshots sieht und mit Maus-/Tastaturaktionen steuert.
Desktop-Umgebung: Eine leichtgewichtige UI mit Fenstermanager (Mutter) und Panel (Tint2) unter Linux, die eine konsistente grafische Oberfläche für Claudes Interaktion bereitstellt.
Anwendungen: Vorinstallierte Linux-Anwendungen wie Firefox, LibreOffice, Texteditoren und Dateimanager, die Claude zur Erledigung von Aufgaben nutzen kann.
Tool-Implementierungen: Integrationscode, der Claudes abstrakte Tool-Anfragen (wie „Maus bewegen" oder „Screenshot erstellen") in tatsächliche Operationen in der virtuellen Umgebung übersetzt.
Agent-Loop: Ein Programm, das die Kommunikation zwischen Claude und der Umgebung abwickelt, Claudes Aktionen an die Umgebung sendet und die Ergebnisse (Screenshots, Befehlsausgaben) an Claude zurückgibt.
Wenn du Computer Use verwendest, verbindet sich Claude nicht direkt mit dieser Umgebung. Stattdessen macht deine Anwendung Folgendes:
Aus Sicherheits- und Isolationsgründen führt die Referenzimplementierung all dies innerhalb eines Docker-Containers mit entsprechenden Port-Mappings aus, um die Umgebung anzuzeigen und mit ihr zu interagieren.
Es steht eine Referenzimplementierung zur Verfügung, die alles enthält, was du für den Einstieg in Computer Use benötigst:
Der Kern von Computer Use ist die „agent loop" (Agenten-Schleife): ein Zyklus, in dem Claude Tool-Aktionen anfordert, deine Anwendung sie ausführt und die Ergebnisse an Claude zurückgibt. Die Schleife verwendet den Client, den du im Schnellstart erstellt hast, eine Tool-Liste in der Form des tools-Arrays aus dem Schnellstart und den Helper zur Verarbeitung von Tool-Aufrufen, der in Claudes Tool-Aufrufe verarbeiten definiert ist. Hier ein vereinfachtes Beispiel:
def sampling_loop(model, messages, max_iterations=10):
"""
Run the computer-use agent loop until Claude stops requesting tools
or the iteration limit is reached.
"""
for _ in range(max_iterations):
response = client.beta.messages.create(
model=model,
max_tokens=4096,
messages=messages,
tools=TOOLS,
betas=["computer-use-2025-11-24"],
)
# Füge Claudes Antwort zum Konversationsverlauf hinzu
messages.append({"role": "assistant", "content": response.content})
# Führe alle von Claude angeforderten Tools aus und sammle die Ergebnisse
tool_results = process_tool_calls(response)
if not tool_results:
return messages # No more tool use; task complete
# Sende die Tool-Ergebnisse für die nächste Iteration an Claude zurück
messages.append({"role": "user", "content": tool_results})
return messagesDie Schleife läuft weiter, bis entweder Claude antwortet, ohne Tools anzufordern (Aufgabe abgeschlossen), oder das maximale Iterationslimit erreicht ist. Diese Absicherung verhindert potenzielle Endlosschleifen, die zu unerwarteten API-Kosten führen könnten.
Probiere die Referenzimplementierung aus, bevor du den Rest dieser Dokumentation liest.
Hier einige Tipps, wie du die besten Ergebnisse erzielst:
After each step, take a screenshot and carefully evaluate if you have achieved the right outcome. Explicitly show your thinking: "I have evaluated step X..." If not correct, try again. Only when you confirm a step was executed correctly should you move on to the next one.<robot_credentials> an. Die Verwendung von Computer Use in Anwendungen, die eine Anmeldung erfordern, erhöht das Risiko negativer Ergebnisse durch Prompt-Injection. Lies Jailbreaks und Prompt-Injections abschwächen, bevor du dem Modell Anmeldedaten bereitstellst.content-Array eines User-Turns erstellst, platziere den Anweisungstext vor dem Screenshot-Bild. Die Angabe der Zielbeschreibung vor der Bildverarbeitung verbessert die Klickgenauigkeit.computer_20251124 mit enable_zoom: true verwendest, zoomt Claude in einen Bereich hinein, wenn nach kleinem Text oder bestimmten UI-Elementen gefragt wird, die bei der Standardauflösung des Screenshots nicht lesbar sind, wie Dateinamen in einer Seitenleiste, Tab-Titel, Statusleistentext, Zeilennummern oder Button-Beschriftungen. Wenn Claude nicht zoomt, obwohl du es erwartest, frage nach einem bestimmten Bereich oder Element statt nach dem Bildschirm als Ganzes.Wenn eines der Anthropic-Schema-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:
You have access to a set of functions you can use to answer the user's question. This includes access to a sandboxed computing environment. You do NOT currently have the ability to inspect files or interact with external resources, except by invoking the below functions.
Wie bei der regulären Tool-Nutzung wird der vom Nutzer bereitgestellte system-Parameter weiterhin berücksichtigt und bei der Erstellung des kombinierten System-Prompts verwendet.
Das Computer-Use-Tool unterstützt diese Aktionen:
Basisaktionen (alle Versionen)
[x, y]Erweiterte Aktionen (computer_20250124 und später)
Verfügbar in computer_20250124 und computer_20251124:
Erweiterte Aktionen (computer_20251124)
Verfügbar in Claude Opus 5, Claude Sonnet 5, Claude Opus 4.8, Claude Opus 4.7, Claude Opus 4.6, Claude Sonnet 4.6 und Claude Opus 4.5:
computer_20250124enable_zoom: true in der Tool-Definition. Nimmt einen region-Parameter mit Koordinaten [x1, y1, x2, y2] entgegen, die die obere linke und untere rechte Ecke des zu untersuchenden Bereichs definieren.| Parameter | Erforderlich | Beschreibung |
|---|---|---|
type | Ja | Tool-Version (computer_20251124 oder computer_20250124) |
name | Ja | Muss „computer" sein |
display_width_px | Ja | Display-Breite in Pixeln |
display_height_px | Ja | Display-Höhe in Pixeln |
display_number | Nein | Display-Nummer für X11-Umgebungen |
enable_zoom | Nein | Zoom-Aktion aktivieren (nur computer_20251124). Auf true setzen, damit Claude in bestimmte Bildschirmbereiche hineinzoomen kann. Standard: false |
Zur Kombination von Computer Use mit Thinking siehe Thinking.
Um weitere Tools neben Computer Use hinzuzufügen, füge sie in dasselbe tools-Array ein. Der Abschnitt Schnellstart zeigt dieses Muster mit dem Bash-Tool und dem Text-Editor-Tool. Du kannst deine eigenen benutzerdefinierten Tool-Definitionen auf die gleiche Weise hinzufügen.
Die Referenzimplementierung soll dir den Einstieg in Computer Use erleichtern. Sie enthält alle Komponenten, die benötigt werden, damit Claude einen Computer nutzen kann. Du kannst jedoch auch deine eigene Umgebung für Computer Use erstellen, die deinen Anforderungen entspricht. Du benötigst:
tool_use-Ergebnisse mit deinen Tool-Implementierungen ausführtDas Computer-Use-Tool ist als schemaloses Tool implementiert. Bei der Verwendung dieses Tools musst du kein Input-Schema wie bei anderen Tools angeben; das Schema ist in Claudes Modell integriert und kann nicht geändert werden.
Richte deine Computing-Umgebung ein
Erstelle ein virtuelles Display oder verbinde dich mit einem bestehenden Display, mit dem Claude interagieren wird. Dies beinhaltet typischerweise die Einrichtung von Xvfb (X Virtual Framebuffer) oder ähnlicher Technologie.
Implementiere Action-Handler
Erstelle Funktionen zur Behandlung jedes Aktionstyps, den Claude anfordern könnte:
def capture_screenshot():
return "<screenshot data>"
def click_at(x, y):
return f"clicked at ({x}, {y})"
def type_text(text):
return f"typed: {text}"
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"])
# Behandle weitere Aktionen nach Bedarf
return f"unhandled action: {action_type}"Verarbeite Claudes Tool-Aufrufe
Extrahiere und führe Tool-Aufrufe aus Claudes Antworten aus:
def process_tool_calls(response):
tool_results = []
for block in response.content:
if block.type == "tool_use":
action = block.input["action"]
result = handle_computer_action(action, block.input)
tool_results.append(
{
"type": "tool_result",
"tool_use_id": block.id,
"content": result,
}
)
return tool_resultsImplementiere die Agent-Loop
Erstelle eine Schleife, die weiterläuft, bis Claude die Aufgabe abgeschlossen hat:
def sampling_loop(model, messages, max_iterations=10):
"""
Run the computer-use agent loop until Claude stops requesting tools
or the iteration limit is reached.
"""
for _ in range(max_iterations):
response = client.beta.messages.create(
model=model,
max_tokens=4096,
messages=messages,
tools=TOOLS,
betas=["computer-use-2025-11-24"],
)
# Füge Claudes Antwort zum Konversationsverlauf hinzu
messages.append({"role": "assistant", "content": response.content})
# Führe alle von Claude angeforderten Tools aus und sammle die Ergebnisse
tool_results = process_tool_calls(response)
if not tool_results:
return messages # No more tool use; task complete
# Sende die Tool-Ergebnisse für die nächste Iteration an Claude zurück
messages.append({"role": "user", "content": tool_results})
return messagesBei der Implementierung des Computer-Use-Tools können verschiedene Fehler auftreten. So behandelst du sie:
Screenshots, die an das Computer-Tool gesendet werden, sollten innerhalb von Claudes Bildgrößenlimits liegen (siehe Bildgrößenlimits). Die API skaliert zu große Bilder herunter, bevor Claude sie sieht, und Claude gibt Koordinaten für das Bild zurück, das es sieht. Wenn du dich also auf die serverseitige Herunterskalierung verlässt, fehlt dir der Skalierungsfaktor, den du benötigst, um diese Koordinaten auf deinen Bildschirm zurückzurechnen. Nur Bilder, die die separaten Request-Limits der API überschreiten (zum Beispiel mehr als 8.000 px auf einer Seite), werden mit einem Validierungsfehler abgelehnt statt herunterskaliert.
Wenn dein Bildschirm größer als das Limit ist, skaliere den Screenshot vor dem Senden herunter, setze display_width_px/display_height_px auf die skalierten Abmessungen und rechne Claudes zurückgegebene Koordinaten auf den ursprünglichen Bildschirmbereich zurück:
import math
def get_scale_factor(width, height):
"""Calculate scale factor to meet API constraints."""
long_edge = max(width, height)
total_pixels = width * height
long_edge_scale = 1568 / long_edge
total_pixels_scale = math.sqrt(1_150_000 / total_pixels)
return min(1.0, long_edge_scale, total_pixels_scale)
# Beim Erstellen eines Screenshots
scale = get_scale_factor(screen_width, screen_height)
scaled_width = int(screen_width * scale)
scaled_height = int(screen_height * scale)
# Skaliere das Bild auf die angepassten Abmessungen, bevor du es an Claude sendest
screenshot = capture_and_resize(scaled_width, scaled_height)
# Beim Verarbeiten von Claudes Koordinaten skaliere sie wieder hoch
def execute_click(x, y):
screen_x = x / scale
screen_y = y / scale
perform_click(screen_x, screen_y)Wenn Klicks ihre Ziele verfehlen, liegt die Ursache meist in einem der folgenden Punkte:
| Symptom | Wahrscheinliche Ursache | Versuche |
|---|---|---|
| Klicks sind konsistent in eine Richtung versetzt | display_width_px/display_height_px stimmen nicht mit den tatsächlich gesendeten Bildabmessungen überein | Stelle sicher, dass die Display-Abmessungen exakt mit dem gesendeten Screenshot übereinstimmen |
| Klicks landen im richtigen Bereich, verfehlen aber das Ziel | Ziel ist sehr klein, Details gingen beim Herunterskalieren einer 4K+-Quelle verloren oder das Seitenverhältnis wurde verzerrt | Setze enable_zoom: true; erfasse mit niedrigerer DPI oder schneide auf den relevanten Bereich zu; behalte das Seitenverhältnis beim Skalieren bei |
| Claude klickt auf das völlig falsche Element | Mehrdeutige Anweisung oder visuell ähnliche Elemente in der Nähe | Verwende positionsbezogene Prompts („der blaue Submit-Button unten rechts"); teile die Interaktion in kleinere Schritte auf |
| Genauigkeit ist durchgehend schlecht | Auflösung zu niedrig | Versuche 1280x720 als Ausgangspunkt |
Computer Use befindet sich in der Beta-Phase. Beachte die folgenden Einschränkungen:
Latenz: Die aktuelle Computer-Use-Latenz für Mensch-KI-Interaktionen kann im Vergleich zu regulären menschengesteuerten Computeraktionen zu langsam sein. Konzentriere dich auf Anwendungsfälle, bei denen Geschwindigkeit nicht kritisch ist (zum Beispiel Informationssammlung im Hintergrund, automatisierte Softwaretests) in vertrauenswürdigen Umgebungen.
Genauigkeit und Zuverlässigkeit der Computer Vision: Claude kann Fehler machen oder halluzinieren, wenn es beim Generieren von Aktionen spezifische Koordinaten ausgibt. Erweitertes Denken kann dir helfen, die Argumentation des Modells zu verstehen und potenzielle Probleme zu identifizieren.
Genauigkeit und Zuverlässigkeit der Tool-Auswahl: Claude kann Fehler machen oder halluzinieren, wenn es beim Generieren von Aktionen Tools auswählt, oder unerwartete Aktionen zur Problemlösung durchführen. Zusätzlich kann die Zuverlässigkeit geringer sein, wenn mit Nischenanwendungen oder mehreren Anwendungen gleichzeitig interagiert wird. Formuliere deine Prompts sorgfältig, wenn du komplexe Aufgaben anforderst.
Scroll-Zuverlässigkeit: Die Scroll-Aktion unterstützt Richtungssteuerung (hoch, runter, links, rechts) und eine angegebene Menge. In Anwendungen, in denen Scrollen nicht wirkt, können Tastaturalternativen wie Page Down helfen.
Tabellenkalkulations-Interaktion: Verwende die feingranularen Maussteuerungsaktionen (left_mouse_down, left_mouse_up) und Modifikatortasten-Kombinationen, um einzelne Zellen auszuwählen. Komplexe Tabellenkalkulationsoperationen können dennoch mehrere Versuche erfordern.
Kontoerstellung und Inhaltserstellung auf Social-Media- und Kommunikationsplattformen: Claude besucht zwar Websites, aber Claudes Fähigkeit, Konten zu erstellen oder Inhalte zu generieren und zu teilen oder sich anderweitig als Mensch auszugeben, ist auf Social-Media-Websites und -Plattformen eingeschränkt. Diese Fähigkeit kann in Zukunft aktualisiert werden.
Schwachstellen: Schwachstellen wie Jailbreaking oder Prompt-Injection können in führenden KI-Systemen bestehen bleiben, einschließlich der Beta-Computer-Use-API. Unter bestimmten Umständen folgt Claude Befehlen, die in Inhalten gefunden werden, manchmal selbst dann, wenn sie deinen Anweisungen widersprechen. Beispielsweise könnten Anweisungen auf Webseiten oder in Bildern deine Anweisungen überschreiben oder dazu führen, dass Claude Fehler macht. Berücksichtige Folgendes:
Unangemessene oder illegale Aktionen: Gemäß den Nutzungsbedingungen von Anthropic darfst du Computer Use nicht einsetzen, um gegen Gesetze oder die Acceptable Use Policy zu verstoßen.
Überprüfe und verifiziere Claudes Computer-Use-Aktionen und -Protokolle immer sorgfältig. Verwende Claude nicht für Aufgaben, die perfekte Präzision oder sensible Benutzerinformationen erfordern, ohne menschliche Aufsicht.
Computer Use ist ein clientseitiges Tool. Alle Screenshots, Mausaktionen, Tastatureingaben und alle an einer Sitzung beteiligten Dateien werden in deiner Umgebung erfasst und gespeichert, nicht von Anthropic. Anthropic verarbeitet die Screenshot-Bilder und Aktionsanfragen in Echtzeit als Teil des API-Aufrufs. Die Speicherung dieser API-Anfragen unterliegt API und Datenspeicherung.
Da deine Anwendung steuert, wo und wie Computer-Use-Daten gespeichert werden, ist Computer Use ZDR-fähig. Zur ZDR-Fähigkeit über alle Features hinweg siehe API und Datenspeicherung.
Computer use folgt der standardmäßigen Preisgestaltung für Tool-Nutzung. Bei der Verwendung des Computer-use-Tools:
System-Prompt-Overhead: Die Computer-use-Beta fügt dem System-Prompt 466–499 Token hinzu
Token-Verbrauch des Computer-use-Tools:
| Modell | Input-Token pro Tool-Definition |
|---|---|
| Claude 4.x Modelle | 735 Token |
Zusätzlicher Token-Verbrauch:
Behebe die häufigsten Tool-Use-Fehler mit Symptom-zu-Lösung-Diagnosetabellen.
Starte mit der vollständigen Docker-basierten Implementierung
Verbinde Claude mit externen Tools und APIs. Erfahre, wo Tools ausgeführt werden, wann Claude sie aufruft und welches Tool zu deiner Aufgabe passt.
Benchmark-basierte Empfehlungen für Auflösung, Thinking-Effort und Kontextverwaltung
| Supported models |
|
|---|---|
| Supported platforms |
|
Was this page helpful?