← Wróć do bloga

Claude Computer Use Tool: Kompletny Przewodnik Dewelopera po Automatyzacji Pulpitu AI

· Save Team
claudeaicomputer-useautomationapideveloperanthropic

Wyobraź sobie, że możesz powiedzieć AI “otwórz Firefox, przejdź na stronę, wypełnij formularz i zapisz wynik” — i faktycznie to zrobi? Nie przez kruchy skrypt Selenium. Nie przez niestandardową integrację API. Po prostu… patrząc na ekran i używając myszy oraz klawiatury jak człowiek.

Dokładnie to robi computer use tool Claude’a.

Czym jest Computer Use?

Computer use to funkcja beta API, która pozwala Claude’owi wchodzić w interakcję ze środowiskami pulpitu poprzez:

  • Przechwytywanie ekranu — Claude widzi, co jest na ekranie
  • Sterowanie myszą — klikanie, przeciąganie, przewijanie
  • Wprowadzanie z klawiatury — pisanie tekstu, wciskanie skrótów
  • Automatyzacja pulpitu — interakcja z dowolną aplikacją

Kluczowe słowo to dowolną. W przeciwieństwie do tradycyjnej automatyzacji (Selenium dla przeglądarek, AppleScript dla macOS) Claude nie potrzebuje specjalnych API ani selektorów elementów. Patrzy na piksele na ekranie i decyduje, co kliknąć. Dokładnie jak ty.

Jak To Działa (Pętla Agenta)

Computer use podąża za prostym cyklem:

  1. Wysyłasz Claude’owi zadanie — “Zapisz zdjęcie kota na pulpicie”
  2. Claude żąda akcji narzędzia — “Zrób zrzut ekranu”
  3. Twoja aplikacja wykonuje je — przechwytuje ekran, zwraca obraz
  4. Claude analizuje i żąda następnej akcji — “Kliknij w koordynaty (500, 300)”
  5. Powtarzaj aż zadanie zostanie ukończone

Ten cykl nazywa się pętlą agenta. Claude ciągle żąda akcji (zrzut ekranu, kliknięcie, pisanie, przewijanie), a twoja aplikacja ciągle je wykonuje, aż Claude ustali, że zadanie jest ukończone.

Oto minimalne wywołanie API, aby zacząć:

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": "Zapisz zdjęcie kota na pulpicie."
    }],
    betas=["computer-use-2025-11-24"],
)

Nagłówek beta "computer-use-2025-11-24" jest wymagany. Trzy narzędzia (komputer, edytor tekstu, bash) współpracują, aby dać Claude’owi pełną kontrolę nad środowiskiem.

Dostępne Akcje

Narzędzie computer use obsługuje bogaty zestaw interakcji:

Podstawowe Akcje

  • screenshot — przechwytuje bieżący widok
  • left_click — kliknij w koordynaty [x, y]
  • type — wpisz ciąg tekstowy
  • key — wciśnij klawisz lub kombinację (np. ctrl+s, alt+tab)
  • mouse_move — przesuń kursor

Ulepszone Akcje (modele Claude 4.x)

  • scroll — przewijaj w dowolnym kierunku z kontrolą ilości
  • left_click_drag — kliknij i przeciągnij między koordynatami
  • right_click, middle_click — dodatkowe przyciski myszy
  • double_click, triple_click — wielokrotne kliknięcia
  • hold_key — przytrzymaj klawisz przez określony czas
  • wait — pauza między akcjami

Najnowszy Dodatek: Zoom

Dostępny w Claude Opus 4.6, Sonnet 4.6 i Opus 4.5:

  • zoom — sprawdź konkretny obszar ekranu w pełnej rozdzielczości

Jest to szczególnie przydatne, gdy Claude musi odczytać mały tekst lub zidentyfikować drobne szczegóły UI.

Środowisko Komputerowe

Claude nie łączy się bezpośrednio z twoim komputerem. Musisz zapewnić środowisko sandbox — zazwyczaj kontener Docker z:

  • Wirtualnym wyświetlaczem — Xvfb (X Virtual Framebuffer) renderuje pulpit
  • Środowiskiem pulpitu — lekki menedżer okien jak Mutter
  • Aplikacjami — Firefox, LibreOffice, menedżery plików, itp.
  • Implementacjami narzędzi — kod tłumaczący żądania Claude’a na faktyczne operacje myszy/klawiatury

Anthropic udostępnia implementację referencyjną z tym wszystkim wstępnie skonfigurowanym w Docker. To najszybszy sposób na rozpoczęcie.

Budowanie Pętli Agenta

Oto uproszczona pętla agenta obsługująca komunikację zwrotną:

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

        # Wyodrębnij wywołania narzędzi
        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  # Zadanie ukończone

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

Funkcja execute_tool to miejsce, gdzie podłączasz faktyczne przechwytywanie ekranu, kliknięcia myszy i wprowadzanie z klawiatury do swojego środowiska komputerowego.

Skalowanie Koordynatów: Pułapka

API ogranicza obrazy do maksymalnie 1568px na najdłuższej krawędzi. Jeśli twój wyświetlacz jest większy (powiedzmy 1512x982), zrzuty ekranu są kompresowane — ale Claude zwraca koordynaty oparte na mniejszym obrazie.

Musisz przeskalować koordynaty w górę:

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)

# Gdy Claude mówi "kliknij w (450, 300)", przeskaluj w górę:
def execute_click(x, y):
    screen_x = x / scale
    screen_y = y / scale
    perform_click(screen_x, screen_y)

Pominięcie tego kroku oznacza, że kliknięcia Claude’a chybiają celu. To najczęstszy błąd implementacji.

Wskazówki Promptowania dla Lepszych Wyników

Computer use działa najlepiej z jasnymi, ustrukturyzowanymi promptami:

  1. Bądź konkretny. “Otwórz Firefox, przejdź na example.com i kliknij przycisk Login” działa lepiej niż “zaloguj się na stronie.”

  2. Poproś Claude’a o weryfikację. Dodaj to do swojego promptu: “Zrób zrzut ekranu po każdym kroku i oceń, czy osiągnąłeś właściwy wynik. Kontynuuj tylko po potwierdzeniu.”

  3. Używaj skrótów klawiaturowych. Listy rozwijane i paski przewijania mogą być trudne do kliknięcia. Zachęć Claude’a do używania Tab, Enter i klawiszy strzałek zamiast tego.

  4. Podaj przykłady. Dla powtarzalnych zadań dołącz przykładowe zrzuty ekranu i oczekiwane wywołania narzędzi do swojego promptu.

  5. Używaj tagów XML dla poświadczeń. Jeśli Claude musi się zalogować, przekazuj poświadczenia w tagach <robot_credentials>. Ale uważaj — ryzyko wstrzyknięcia promptu jest wyższe, gdy Claude wchodzi w interakcję z niezaufaną treścią.

Bezpieczeństwo: Traktuj To Poważnie

Computer use ma unikalne zagrożenia bezpieczeństwa:

  • Wstrzyknięcie promptu przez zawartość ekranu. Claude czyta wszystko na ekranie. Złośliwa strona internetowa może wyświetlać instrukcje nadpisujące twój prompt.
  • Autonomiczne akcje. Claude może klikać linki, akceptować dialogi lub nawigować poza zamierzony cel.
  • Ujawnienie poświadczeń. Jeśli Claude może widzieć hasła lub tokeny na ekranie, stają się częścią konwersacji.

Anthropic ma wbudowane klasyfikatory flagujące potencjalne wstrzyknięcia promptów w zrzutach ekranu. Ale najlepszą obroną jest izolacja:

  • Uruchamiaj w dedykowanej VM lub kontenerze Docker z minimalnymi uprawnieniami
  • Nie dawaj dostępu do wrażliwych kont bez nadzoru
  • Ogranicz dostęp do internetu do listy dozwolonych domen
  • Wymagaj ludzkiego potwierdzenia dla konsekwentnych akcji (zakupy, tworzenie kont, itp.)

Co Budować

Computer use sprawdza się najlepiej przy zadaniach, gdzie szybkość nie jest krytyczna, ale automatyzacja jest wartościowa:

  • Automatyczne testowanie — testuj dowolną aplikację pulpitu, nie tylko webapps
  • Zbieranie danych — nawiguj po stronach i wyodrębniaj informacje
  • Integracja starszych systemów — automatyzuj przepływy pracy w aplikacjach bez API
  • Wypełnianie formularzy — wypełniaj formularze internetowe na wielu stronach
  • Przepływy pracy badawczej — szukaj, czytaj i kompiluj informacje z sieci
  • QA i monitorowanie — weryfikuj, czy interfejsy renderują się prawidłowo

Dla przepływów pracy badawczych i zbierania danych narzędzia takie jak Save doskonale uzupełniają computer use — gdy Claude już nawiguje do strony, konwersja do czystego Markdown zapewnia ustrukturyzowaną, gotową dla AI treść zamiast surowych zrzutów ekranu.

Aktualne Ograniczenia

Miej świadomość tych ograniczeń wersji beta:

  • Opóźnienie. Każda akcja wymaga wywołania API, przechwycenia ekranu i odpowiedzi. Jest wolniejsza niż człowiek klikający po ekranie.
  • Dokładność widzenia. Claude może błędnie odczytać mały tekst lub nieprawidłowo zidentyfikować elementy UI. Nowa akcja zoom pomaga, ale nie jest idealna.
  • Przewijanie. Znacznie ulepszone w nowszych wersjach, ale złożone interakcje przewijania mogą być nadal zawodne.
  • Arkusze kalkulacyjne. Wybieranie komórek jest trudne. Używaj nawigacji klawiaturowej, gdy to możliwe.
  • Brak tworzenia kont na platformach społecznościowych. Claude celowo nie tworzy kont ani nie podszywa się pod ludzi w mediach społecznościowych.

Cennik

Computer use stosuje standardowy cennik użycia narzędzi:

  • Koszty systemowego promptu: 466-499 tokenów
  • Definicja narzędzia: 735 tokenów na narzędzie (dla Claude 4.x)
  • Zrzuty ekranu: rozliczane jako tokeny wizji (zależy od rozdzielczości)
  • Każde wywołanie API w pętli agenta to oddzielne rozliczalne żądanie

Dla typowego zadania 10-krokowego, spodziewaj się zużycia 15 000-50 000 tokenów w zależności od rozmiaru ekranu i złożoności odpowiedzi.

Pierwsze Kroki

  1. Wypróbuj implementację referencyjną. Sklonuj anthropic-quickstarts, uruchom kontener Docker i eksperymentuj.
  2. Zacznij od prostych zadań. “Otwórz edytor tekstu, napisz Hello World, zapisz plik.” Upewnij się, że pętla agenta działa przed próbą złożonych przepływów pracy.
  3. Dodaj zabezpieczenia. Ustaw limity iteracji. Waliduj koordynaty. Loguj każdą akcję. Dodaj ludzkie potwierdzenie dla wszystkiego nieodwracalnego.
  4. Optymalizuj swoje prompty. Im lepsze instrukcje, tym mniej iteracji potrzebuje Claude — i tym niższe koszty tokenów.

Computer use reprezentuje fundamentalną zmianę w tym, co jest możliwe z API AI. Zamiast budować niestandardowe integracje dla każdej aplikacji, możesz dać Claude’owi ten sam interfejs, którego używają ludzie — ekran, mysz i klawiaturę — i pozwolić mu rozgryźć resztę.

Przyszłość automatyzacji to nie więcej API. To AI, które może używać interfejsów, które już mamy.