Claude Computer Use Tool: Den komplette udviklervejledning til AI-desktopautomatisering
Hvad nu, hvis du kunne bede en AI om at “åbne Firefox, navigere til en hjemmeside, udfylde formularen og gemme resultatet” — og den rent faktisk gjorde det? Ikke gennem et skrøbeligt Selenium-script. Ikke gennem en custom API-integration. Bare… ved at kigge på skærmen og bruge en mus og et tastatur som et menneske ville.
Det er præcis, hvad Claude’s computer use tool gør.
Hvad er computer use?
Computer use er en beta API-funktion der lader Claude interagere med desktopomgivelser via:
- Screenshot capture — Claude ser hvad der er på skærmen
- Musekontrol — klikke, trække, scrolle
- Tastaturinput — skrive tekst, trykke genveje
- Desktopautomatisering — interagere med ethvert program
Nøgleordet er ethvert. I modsætning til traditionel automatisering (Selenium for browsere, AppleScript for macOS) behøver Claude ikke specielle API’er eller elementselektorer. Den kigger på pixels på en skærm og beslutter, hvad der skal klikkes. Ligesom du gør.
Hvordan det virker (Agent loop)
Computer use følger en simpel cyklus:
- Du sender Claude en opgave — “Gem et billede af en kat på mit skrivebord”
- Claude anmoder om en toolhandling — “Tag et screenshot”
- Din app eksekverer det — fanger skærmen, returnerer billedet
- Claude analyserer og anmoder om næste handling — “Klik ved koordinater (500, 300)”
- Gentag indtil opgaven er færdig
Denne cyklus kaldes agent loop. Claude bliver ved med at anmode om handlinger (screenshot, klik, skriv, scroll), og din applikation eksekverer dem, indtil Claude afgør at opgaven er fuldført.
Her er det minimale API-kald for at komme i gang:
import anthropic
client = anthropic.Anthropic()
response = client.beta.messages.create(
model="claude-opus-4-6",
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"],
)
Beta-headeren "computer-use-2025-11-24" er påkrævet. De tre tools (computer, teksteditor, bash) arbejder sammen om at give Claude fuld kontrol over omgivelserne.
Tilgængelige handlinger
Computer use tool understøtter et rigt sæt interaktioner:
Grundlæggende handlinger
screenshot— fang det aktuelle displayleft_click— klik ved[x, y]-koordinatertype— skriv en tekststrengkey— tryk en tast eller kombination (f.eks.ctrl+s,alt+tab)mouse_move— flyt cursoren
Udvidede handlinger (Claude 4.x-modeller)
scroll— scroll i en hvilken som helst retning med mængdekontrolleft_click_drag— klik og træk mellem koordinaterright_click,middle_click— yderligere museknapperdouble_click,triple_click— multi-klikhold_key— hold en tast nede i en varighedwait— pause mellem handlinger
Nyeste tilføjelse: Zoom
Tilgængelig på Claude Opus 4.6, Sonnet 4.6 og Opus 4.5:
zoom— undersøg en specifik skærmregion i fuld opløsning
Dette er særligt nyttigt, når Claude skal læse lille tekst eller identificere fine UI-detaljer.
Computing-omgivelserne
Claude forbinder sig ikke direkte til din computer. Du skal levere et sandboxet miljø — typisk en Docker-container der kører:
- Virtuelt display — Xvfb (X Virtual Framebuffer) renderer skrivebordet
- Desktopomgivelse — en letvægts window manager som Mutter
- Programmer — Firefox, LibreOffice, filhåndterere, osv.
- Tool-implementeringer — kode der oversætter Claude’s anmodninger til faktiske mus/tastaturoperationer
Anthropic leverer en referenceimplementering med alt dette forudkonfigureret i Docker. Det er den hurtigste måde at komme i gang.
Bygge agent loop
Her er en forenklet agent loop der håndterer frem-og-tilbage:
async def agent_loop(task: str, max_iterations: int = 10):
client = anthropic.Anthropic()
messages = [{"role": "user", "content": task}]
tools = [
{
"type": "computer_20251124",
"name": "computer",
"display_width_px": 1024,
"display_height_px": 768,
},
{"type": "text_editor_20250728", "name": "str_replace_based_edit_tool"},
{"type": "bash_20250124", "name": "bash"},
]
for _ in range(max_iterations):
response = client.beta.messages.create(
model="claude-opus-4-6",
max_tokens=4096,
messages=messages,
tools=tools,
betas=["computer-use-2025-11-24"],
)
messages.append({"role": "assistant", "content": response.content})
# Udtræk tool calls
tool_results = []
for block in response.content:
if block.type == "tool_use":
result = execute_tool(block.name, block.input)
tool_results.append({
"type": "tool_result",
"tool_use_id": block.id,
"content": result,
})
if not tool_results:
return messages # Opgave fuldført
messages.append({"role": "user", "content": tool_results})
Funktionen execute_tool er der, hvor du tilslutter den faktiske skærmfangst, museklik og tastaturinput til dit computing-miljø.
Koordinatskalering: Den skjulte fejlkilde
API’et begrænser billeder til maksimalt 1568px på den længste kant. Hvis dit display er større (f.eks. 1512x982), nedskaleres screenshots — men Claude returnerer koordinater baseret på det mindre billede.
Du skal skalere koordinater op igen:
import math
def get_scale_factor(width, height):
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)
scale = get_scale_factor(1512, 982)
# Når Claude siger "klik ved (450, 300)", skal du skalere op:
def execute_click(x, y):
screen_x = x / scale
screen_y = y / scale
perform_click(screen_x, screen_y)
At springe dette trin over betyder, at Claude’s klik vil ramme ved siden af. Dette er den enkelt mest almindelige implementeringsfejl.
Prompting-tips for bedre resultater
Computer use virker bedst med klare, strukturerede prompts:
-
Vær specifik. “Åbn Firefox, gå til example.com, og klik på Login-knappen” virker bedre end “log ind på siden.”
-
Bed Claude om at verificere. Tilføj dette til din prompt: “Tag et screenshot og evaluer om du opnåede det rigtige resultat efter hvert trin. Gå kun videre, når det er bekræftet.”
-
Brug tastaturgenveje. Dropdowns og scrollbars kan være vanskelige at klikke på. Prompt Claude til at bruge
Tab,Enterog piletaster i stedet. -
Giv eksempler. For gentagne opgaver, inkluder eksempelscreenshots og forventede tool calls i din prompt.
-
Brug XML-tags til legitimationsoplysninger. Hvis Claude skal logge ind, send legitimationsoplysninger i
<robot_credentials>-tags. Men vær forsigtig — prompt injection-risici er højere, når Claude interagerer med utroværdigt indhold.
Sikkerhed: Tag det alvorligt
Computer use har unikke sikkerhedsrisici:
- Prompt injection via skærmindhold. Claude læser alt på skærmen. En ondsindet webside kunne vise instruktioner, der tilsidesætter din prompt.
- Autonome handlinger. Claude kan klikke på links, acceptere dialogbokse eller navigere væk fra, hvor du havde tænkt.
- Eksponering af legitimationsoplysninger. Hvis Claude kan se adgangskoder eller tokens på skærmen, bliver de en del af samtalen.
Anthropic har indbyggede klassifikatorer, der markerer potentielle prompt injections i screenshots. Men det bedste forsvar er isolation:
- Kør i en dedikeret VM eller Docker-container med minimale rettigheder
- Giv ikke adgang til følsomme konti uden opsyn
- Begræns internetadgang til en tilladelsesliste over domæner
- Kræv menneskelig bekræftelse for konsekvente handlinger (køb, kontoooprettelse, osv.)
Hvad man bygger med det
Computer use er bedst til opgaver, hvor hastighed ikke er kritisk, men automatisering er værdifuld:
- Automatiseret testning — test ethvert desktopprogram, ikke kun webapps
- Dataindsamling — naviger hjemmesider og udtræk information
- Legacy system-integration — automatiser arbejdsgange i apps der ikke har API
- Formularudfyldelse — udfyld webformularer på tværs af flere sider
- Researchworkflows — søg, læs og kompiler information fra nettet
- QA & monitorering — verificer at brugergrænseflader renderer korrekt
Til research- og dataindsamlingsworkflows komplementerer værktøjer som Save computer use godt — når Claude navigerer til en side, giver konvertering til ren Markdown struktureret, AI-klar indhold i stedet for rå screenshots.
Aktuelle begrænsninger
Vær opmærksom på disse beta-begrænsninger:
- Latenstid. Hver handling kræver et API-kald, screenshot-fangst og svar. Det er langsommere end et menneske der klikker rundt.
- Synsaccuratesse. Claude kan misforstå lille tekst eller fejlidentificere UI-elementer. Den nye zoom-handling hjælper, men er ikke perfekt.
- Scrolling. Forbedret markant i nyere versioner, men komplekse scroll-interaktioner kan stadig være upålidelige.
- Regneark. Cellevalg er tricky. Brug tastaturnavigation, når det er muligt.
- Ingen kontoooprettelse på sociale platforme. Claude vil bevidst ikke oprette konti eller udgive sig for at være mennesker på sociale medier.
Prissætning
Computer use følger standard tool use-prissætning:
- System prompt overhead: 466-499 tokens
- Tool definition: 735 tokens per tool (for Claude 4.x)
- Screenshots: faktureres som vision tokens (varierer efter opløsning)
- Hvert API-kald i agent loop er en separat fakturerbar anmodning
For en typisk opgave med 10 trin, forvent at bruge 15.000-50.000 tokens afhængigt af screenshot-størrelser og svarens kompleksitet.
Kom i gang
- Prøv referenceimplementeringen. Klon anthropic-quickstarts, kør Docker-containeren og eksperimenter.
- Start med enkle opgaver. “Åbn en teksteditor, skriv Hello World, gem filen.” Få agent loop til at virke, inden du forsøger komplekse arbejdsgange.
- Tilføj sikkerhedsforanstaltninger. Sæt iterationsgrænser. Valider koordinater. Log enhver handling. Tilføj menneskelig bekræftelse for alt, der ikke kan fortrydes.
- Optimer dine prompts. Jo bedre dine instruktioner, desto færre iterationer har Claude brug for — og desto lavere er dine tokenomkostninger.
Computer use repræsenterer et grundlæggende skift i, hvad der er muligt med AI API’er. I stedet for at bygge custom integrationer til hvert program, kan du give Claude den samme grænseflade, som mennesker bruger — en skærm, en mus og et tastatur — og lade den klare resten.
Fremtiden for automatisering er ikke flere API’er. Det er AI der kan bruge de grænseflader, vi allerede har.