← Terug naar blog

Claude Computer Use Tool: De Complete Ontwikkelaarsgids voor AI Desktopautomatisering

· Save Team
claudeaicomputer-useautomationapideveloperanthropic

Stel je voor dat je een AI kunt vertellen “open Firefox, navigeer naar een website, vul het formulier in en sla het resultaat op” — en het doet het ook echt? Niet via een kwetsbaar Selenium-script. Niet via een aangepaste API-integratie. Gewoon… door naar het scherm te kijken en een muis en toetsenbord te gebruiken zoals een mens dat zou doen.

Dat is precies wat Claude’s computer use tool doet.

Wat Is Computer Use?

Computer use is een beta API-functie waarmee Claude kan communiceren met desktopomgevingen via:

  • Schermopname — Claude ziet wat er op het scherm staat
  • Muisbesturing — klikken, slepen, scrollen
  • Toetsenboardinvoer — tekst typen, sneltoetsen indrukken
  • Desktopautomatisering — communiceren met elke applicatie

Het sleutelwoord is elke. In tegenstelling tot traditionele automatisering (Selenium voor browsers, AppleScript voor macOS) heeft Claude geen speciale API’s of elementselectoren nodig. Het kijkt naar pixels op een scherm en beslist wat het moet klikken. Precies zoals jij.

Hoe Het Werkt (De Agentlus)

Computer use volgt een eenvoudige cyclus:

  1. Jij stuurt Claude een taak — “Sla een foto van een kat op op mijn bureaublad”
  2. Claude vraagt een toolactie — “Maak een screenshot”
  3. Jouw app voert het uit — legt het scherm vast, stuurt de afbeelding terug
  4. Claude analyseert en vraagt de volgende actie — “Klik op coördinaten (500, 300)”
  5. Herhaal totdat de taak is voltooid

Deze cyclus heet de agentlus. Claude blijft acties aanvragen (screenshot, klik, typ, scroll) en jouw applicatie blijft ze uitvoeren, totdat Claude bepaalt dat de taak is voltooid.

Hier is de minimale API-aanroep om te beginnen:

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": "Sla een foto van een kat op op mijn bureaublad."
    }],
    betas=["computer-use-2025-11-24"],
)

De beta-header "computer-use-2025-11-24" is vereist. De drie tools (computer, teksteditor, bash) werken samen om Claude volledige controle te geven over de omgeving.

Beschikbare Acties

De computer use tool ondersteunt een rijke set interacties:

Basisacties

  • screenshot — leg de huidige weergave vast
  • left_click — klik op [x, y]-coördinaten
  • type — typ een tekstreeks
  • key — druk op een toets of combinatie (bijv. ctrl+s, alt+tab)
  • mouse_move — beweeg de cursor

Verbeterde Acties (Claude 4.x-modellen)

  • scroll — scroll in elke richting met hoeveelheidsbesturing
  • left_click_drag — klik en sleep tussen coördinaten
  • right_click, middle_click — extra muisknoppen
  • double_click, triple_click — meervoudige klikken
  • hold_key — houd een toets vast voor een duur
  • wait — pauzeer tussen acties

Nieuwste Toevoeging: Zoom

Beschikbaar op Claude Opus 4.6, Sonnet 4.6 en Opus 4.5:

  • zoom — bekijk een specifiek schermgebied op volledige resolutie

Dit is bijzonder nuttig wanneer Claude kleine tekst moet lezen of fijne UI-details moet identificeren.

De Computeromgeving

Claude verbindt niet rechtstreeks met je computer. Je moet een gesandboxte omgeving bieden — doorgaans een Docker-container met:

  • Virtueel beeldscherm — Xvfb (X Virtual Framebuffer) rendert het bureaublad
  • Desktopomgeving — een lichtgewicht vensterbeheerder zoals Mutter
  • Applicaties — Firefox, LibreOffice, bestandsbeheerders, etc.
  • Toolimplementaties — code die Claude’s verzoeken vertaalt naar daadwerkelijke muis-/toetsenbordoperaties

Anthropic biedt een referentie-implementatie met dit alles vooraf geconfigureerd in Docker. Dit is de snelste manier om te beginnen.

De Agentlus Bouwen

Hier is een vereenvoudigde agentlus die het heen en weer verwerkt:

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})

        # Extraheer tool-aanroepen
        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  # Taak voltooid

        messages.append({"role": "user", "content": tool_results})

De execute_tool-functie is waar je de daadwerkelijke schermopname, muisklikken en toetsenbordinvoer koppelt aan je computeromgeving.

Coördinatenschaling: De Valkuil

De API beperkt afbeeldingen tot maximaal 1568px op de langste rand. Als je beeldscherm groter is (zeg 1512x982), worden screenshots verkleind — maar Claude geeft coördinaten terug op basis van de kleinere afbeelding.

Je moet coördinaten omhoog schalen:

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)

# Wanneer Claude zegt "klik op (450, 300)", schaal het omhoog:
def execute_click(x, y):
    screen_x = x / scale
    screen_y = y / scale
    perform_click(screen_x, screen_y)

Deze stap overslaan betekent dat Claude’s klikken hun doelen missen. Dit is de meest voorkomende implementatiebug.

Promptingtips voor Betere Resultaten

Computer use werkt het beste met duidelijke, gestructureerde prompts:

  1. Wees specifiek. “Open Firefox, ga naar example.com en klik op de Login-knop” werkt beter dan “log in op de site.”

  2. Vraag Claude te verifiëren. Voeg dit toe aan je prompt: “Maak na elke stap een screenshot en evalueer of je het juiste resultaat hebt bereikt. Ga alleen verder als bevestigd.”

  3. Gebruik sneltoetsen. Dropdowns en scrollbalken kunnen lastig te klikken zijn. Prompt Claude om in plaats daarvan Tab, Enter en pijltoetsen te gebruiken.

  4. Geef voorbeelden. Voeg voor herhaalbare taken voorbeeldscreenshots en verwachte toolaanroepen toe aan je prompt.

  5. Gebruik XML-tags voor referenties. Als Claude moet inloggen, geef referenties door in <robot_credentials>-tags. Maar wees voorzichtig — promptinjectierisico’s zijn hoger wanneer Claude interactie heeft met niet-vertrouwde inhoud.

Beveiliging: Neem Het Serieus

Computer use heeft unieke beveiligingsrisico’s:

  • Promptinjectie via scherminhoud. Claude leest alles op het scherm. Een kwaadaardige webpagina kan instructies weergeven die je prompt overschrijven.
  • Autonome acties. Claude kan op links klikken, dialogen accepteren of navigeren weg van waar je bedoeld had.
  • Blootstelling van referenties. Als Claude wachtwoorden of tokens op het scherm kan zien, worden ze onderdeel van het gesprek.

Anthropic heeft ingebouwde classifiers die potentiële promptinjecties in screenshots markeren. Maar de beste verdediging is isolatie:

  • Draai in een dedicated VM of Docker-container met minimale rechten
  • Geef geen toegang tot gevoelige accounts zonder toezicht
  • Beperk internettoegang tot een allowlist van domeinen
  • Vereist menselijke bevestiging voor consequente acties (aankopen, accountaanmaak, etc.)

Wat Te Bouwen

Computer use is het beste voor taken waarbij snelheid niet kritiek is maar automatisering waardevol is:

  • Geautomatiseerd testen — test elke desktopapplicatie, niet alleen webapps
  • Gegevensverzameling — navigeer door websites en extraheer informatie
  • Integratie van verouderde systemen — automatiseer workflows in apps zonder API
  • Formulieren invullen — vul webformulieren in op meerdere sites
  • Onderzoeksworkflows — zoek, lees en compileer informatie van het web
  • QA en monitoring — verifieer dat UI’s correct worden weergegeven

Voor onderzoeks- en gegevensverzamelingsworkflows complementeren tools zoals Save computer use goed — zodra Claude naar een pagina navigeert, geeft het converteren naar schone Markdown gestructureerde, AI-klare inhoud in plaats van ruwe screenshots.

Huidige Beperkingen

Wees bewust van deze bètabeperkingen:

  • Latentie. Elke actie vereist een API-aanroep, schermopname en reactie. Het is langzamer dan een mens die rondklikt.
  • Visuele nauwkeurigheid. Claude kan kleine tekst verkeerd lezen of UI-elementen verkeerd identificeren. De nieuwe zoomactie helpt, maar is niet perfect.
  • Scrollen. Aanzienlijk verbeterd in recente versies, maar complexe scrollinteracties kunnen nog steeds onbetrouwbaar zijn.
  • Spreadsheets. Celselectie is lastig. Gebruik toetsenbordnavigatie indien mogelijk.
  • Geen accountaanmaak op sociale platforms. Claude zal opzettelijk geen accounts aanmaken of mensen nabootsen op sociale media.

Prijsstelling

Computer use volgt standaard toolgebruikprijsstelling:

  • Systeempromptkost: 466-499 tokens
  • Tooldefinitie: 735 tokens per tool (voor Claude 4.x)
  • Screenshots: gefactureerd als visietokens (varieert per resolutie)
  • Elke API-aanroep in de agentlus is een afzonderlijk factureerbaar verzoek

Voor een typische taak van 10 stappen, verwacht je 15.000-50.000 tokens te gebruiken afhankelijk van schermgrootte en reactiecomplexiteit.

Aan de Slag

  1. Probeer de referentie-implementatie. Kloon anthropic-quickstarts, draai de Docker-container en experimenteer.
  2. Begin met eenvoudige taken. “Open een teksteditor, typ Hello World, sla het bestand op.” Laat de agentlus werken voordat je complexe workflows probeert.
  3. Voeg beveiligingen toe. Stel iteratielimieten in. Valideer coördinaten. Log elke actie. Voeg menselijke bevestiging toe voor alles wat onomkeerbaar is.
  4. Optimaliseer je prompts. Hoe beter je instructies, hoe minder iteraties Claude nodig heeft — en hoe lager je tokenkosten.

Computer use vertegenwoordigt een fundamentele verschuiving in wat mogelijk is met AI-API’s. In plaats van aangepaste integraties te bouwen voor elke applicatie, kun je Claude dezelfde interface geven die mensen gebruiken — een scherm, een muis en een toetsenbord — en het de rest laten uitzoeken.

De toekomst van automatisering zijn niet meer API’s. Het is AI die de interfaces kan gebruiken die we al hebben.