Claude Computer Use Tool: Den Kompletta Utvecklarguiden till AI Skrivbordsautomatisering
Tänk om du kunde säga till en AI att “öppna Firefox, navigera till en webbplats, fyll i formuläret och spara resultatet” — och det faktiskt gjorde det? Inte via ett sköra Selenium-skript. Inte via en anpassad API-integration. Bara… genom att titta på skärmen och använda en mus och tangentbord som en människa skulle göra.
Det är precis vad Claudes computer use tool gör.
Vad är Computer Use?
Computer use är en beta-API-funktion som låter Claude interagera med skrivbordsmiljöer genom:
- Skärminspelning — Claude ser vad som finns på skärmen
- Muskontroll — klicka, dra, scrolla
- Tangentbordsinmatning — skriva text, trycka genvägar
- Skrivbordsautomatisering — interagera med vilken applikation som helst
Nyckelordet är vilken som helst. Till skillnad från traditionell automatisering (Selenium för webbläsare, AppleScript för macOS) behöver Claude inga speciella API:er eller elementsselektorer. Den tittar på pixlar på en skärm och beslutar vad den ska klicka på. Precis som du.
Hur Det Fungerar (Agentloopen)
Computer use följer en enkel cykel:
- Du skickar Claude en uppgift — “Spara en bild av en katt till mitt skrivbord”
- Claude begär en verktygsåtgärd — “Ta en skärmdump”
- Din app utför den — fångar skärmen, returnerar bilden
- Claude analyserar och begär nästa åtgärd — “Klicka på koordinater (500, 300)”
- Upprepa tills uppgiften är klar
Denna cykel kallas agentloopen. Claude fortsätter att begära åtgärder (skärmdump, klick, skriv, scrolla) och din applikation fortsätter att utföra dem, tills Claude fastställer att uppgiften är klar.
Här är det minimala API-anropet för att komma igång:
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": "Spara en bild av en katt till mitt skrivbord."
}],
betas=["computer-use-2025-11-24"],
)
Beta-headern "computer-use-2025-11-24" krävs. De tre verktygen (dator, textredigerare, bash) arbetar tillsammans för att ge Claude full kontroll över miljön.
Tillgängliga Åtgärder
Computer use-verktyget stöder en rik uppsättning interaktioner:
Grundläggande Åtgärder
screenshot— fånga den aktuella visningenleft_click— klicka på[x, y]-koordinatertype— skriv en textsträngkey— tryck på en tangent eller kombination (t.ex.ctrl+s,alt+tab)mouse_move— flytta markören
Förbättrade Åtgärder (Claude 4.x-modeller)
scroll— scrolla i valfri riktning med mängdkontrollleft_click_drag— klicka och dra mellan koordinaterright_click,middle_click— ytterligare musknapperdouble_click,triple_click— multiklickhold_key— håll en tangent nedtryckt en viss tidwait— pausa mellan åtgärder
Senaste Tillägg: Zoom
Tillgänglig på Claude Opus 4.6, Sonnet 4.6 och Opus 4.5:
zoom— inspektera ett specifikt skärmområde i full upplösning
Det här är särskilt användbart när Claude behöver läsa liten text eller identifiera fina UI-detaljer.
Datormiljön
Claude ansluter inte direkt till din dator. Du behöver tillhandahålla en sandlådemiljö — vanligtvis en Docker-container som kör:
- Virtuell display — Xvfb (X Virtual Framebuffer) renderar skrivbordet
- Skrivbordsmiljö — en lättviktig fönsterhanterare som Mutter
- Applikationer — Firefox, LibreOffice, filhanterare, etc.
- Verktygsimplementationer — kod som översätter Claudes förfrågningar till faktiska mus-/tangentbordsoperationer
Anthropic tillhandahåller en referensimplementation med allt detta förkonfigurerat i Docker. Det är det snabbaste sättet att komma igång.
Bygga Agentloopen
Här är en förenklad agentloop som hanterar fram-och-tillbaka:
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})
# Extrahera verktygsan rop
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 # Uppgift klar
messages.append({"role": "user", "content": tool_results})
Funktionen execute_tool är där du kopplar den faktiska skärminspelningen, musklicken och tangentbordsinmatningen till din datormiljö.
Koordinatskalning: Fallgropen
API:et begränsar bilder till maximalt 1568px på den längsta kanten. Om din display är större (säg 1512x982) komprimeras skärmdumpar — men Claude returnerar koordinater baserade på den mindre bilden.
Du måste skala upp koordinaterna:
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 säger "klicka på (450, 300)", skala upp det:
def execute_click(x, y):
screen_x = x / scale
screen_y = y / scale
perform_click(screen_x, screen_y)
Att hoppa över det här steget innebär att Claudes klick missar sina mål. Det här är det vanligaste implementationsbugg.
Promptningstips för Bättre Resultat
Computer use fungerar bäst med tydliga, strukturerade prompter:
-
Var specifik. “Öppna Firefox, gå till example.com och klicka på Login-knappen” fungerar bättre än “logga in på siten.”
-
Be Claude verifiera. Lägg till detta i din prompt: “Ta en skärmdump efter varje steg och utvärdera om du uppnådde rätt resultat. Gå bara vidare när det bekräftats.”
-
Använd tangentbordsgenvägar. Rullgardinsmenyer och rullningslister kan vara knepiga att klicka på. Uppmana Claude att använda
Tab,Enteroch piltangenter istället. -
Ge exempel. För repeterbara uppgifter, inkludera exempelskärmdumpar och förväntade verktygsanrop i din prompt.
-
Använd XML-taggar för autentiseringsuppgifter. Om Claude behöver logga in, skicka autentiseringsuppgifter i
<robot_credentials>-taggar. Men var försiktig — promptinjektionsrisker är högre när Claude interagerar med opålitligt innehåll.
Säkerhet: Ta Det på Allvar
Computer use har unika säkerhetsrisker:
- Promptinjektion via skärminnehåll. Claude läser allt på skärmen. En skadlig webbsida kan visa instruktioner som åsidosätter din prompt.
- Autonoma åtgärder. Claude kan klicka på länkar, acceptera dialoger eller navigera bort från där du avsåg.
- Exponering av autentiseringsuppgifter. Om Claude kan se lösenord eller tokens på skärmen blir de en del av konversationen.
Anthropic har inbyggda klassificerare som flaggar potentiella promptinjektioner i skärmdumpar. Men det bästa försvaret är isolering:
- Kör i en dedikerad VM eller Docker-container med minimala privilegier
- Ge inte tillgång till känsliga konton utan tillsyn
- Begränsa internetåtkomst till en allowlist av domäner
- Kräv mänsklig bekräftelse för konsekventiella åtgärder (köp, kontoskapande, etc.)
Vad Man Bygger Med Det
Computer use är bäst för uppgifter där hastighet inte är kritisk men automatisering är värdefullt:
- Automatiserad testning — testa vilken skrivbordsapplikation som helst, inte bara webbappar
- Datainsamling — navigera webbplatser och extrahera information
- Integration av äldre system — automatisera arbetsflöden i appar utan API
- Formulärifyllning — fyll i webbformulär på flera webbplatser
- Forskningsarbetsflöden — sök, läs och sammanställ information från webben
- QA och övervakning — verifiera att UI:er renderas korrekt
För forskning och datainsamlingsarbetsflöden kompletterar verktyg som Save computer use väl — när Claude väl navigerat till en sida ger konvertering till ren Markdown strukturerat, AI-redo innehåll istället för råa skärmdumpar.
Nuvarande Begränsningar
Var medveten om dessa beta-begränsningar:
- Latens. Varje åtgärd kräver ett API-anrop, skärminspelning och svar. Det är långsammare än en människa som klickar runt.
- Visionnoggrannhet. Claude kan feltolka liten text eller felidentifiera UI-element. Den nya zoom-åtgärden hjälper, men är inte perfekt.
- Scrollning. Förbättrats avsevärt i nyare versioner, men komplexa scrollinteraktioner kan fortfarande vara opålitliga.
- Kalkylblad. Cellval är knepigt. Använd tangentbordsnavigering när möjligt.
- Inget kontoskapande på sociala plattformar. Claude skapar avsiktligt inte konton eller utger sig för att vara människor på sociala medier.
Prissättning
Computer use följer standardprissättning för verktygsanvändning:
- Systempromptöverkostnader: 466-499 tokens
- Verktygsdefinition: 735 tokens per verktyg (för Claude 4.x)
- Skärmdumpar: faktureras som visionstokens (varierar beroende på upplösning)
- Varje API-anrop i agentloopen är en separat faktureringsbar begäran
För en typisk 10-stegsuppgift, förvänta dig att använda 15 000-50 000 tokens beroende på skärmdumpstorlek och svarskomplexitet.
Komma Igång
- Prova referensimplementationen. Klona anthropic-quickstarts, kör Docker-containern och experimentera.
- Börja med enkla uppgifter. “Öppna en textredigerare, skriv Hello World, spara filen.” Få agentloopen att fungera innan du försöker med komplexa arbetsflöden.
- Lägg till skyddsräcken. Sätt iterationsgränser. Validera koordinater. Logga varje åtgärd. Lägg till mänsklig bekräftelse för allt irreversibelt.
- Optimera dina prompter. Ju bättre dina instruktioner, desto färre iterationer behöver Claude — och desto lägre blir dina tokenkostnader.
Computer use representerar ett fundamentalt skifte i vad som är möjligt med AI-API:er. Istället för att bygga anpassade integrationer för varje applikation kan du ge Claude samma gränssnitt som människor använder — en skärm, en mus och ett tangentbord — och låta det lista ut resten.
Framtidens automatisering är inte fler API:er. Det är AI som kan använda gränssnitten vi redan har.