Claude Computer Use Tool: Kompletny Przewodnik Dewelopera po Automatyzacji Pulpitu AI
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:
- Wysyłasz Claude’owi zadanie — “Zapisz zdjęcie kota na pulpicie”
- Claude żąda akcji narzędzia — “Zrób zrzut ekranu”
- Twoja aplikacja wykonuje je — przechwytuje ekran, zwraca obraz
- Claude analizuje i żąda następnej akcji — “Kliknij w koordynaty (500, 300)”
- 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 widokleft_click— kliknij w koordynaty[x, y]type— wpisz ciąg tekstowykey— 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ścileft_click_drag— kliknij i przeciągnij między koordynatamiright_click,middle_click— dodatkowe przyciski myszydouble_click,triple_click— wielokrotne kliknięciahold_key— przytrzymaj klawisz przez określony czaswait— 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:
-
Bądź konkretny. “Otwórz Firefox, przejdź na example.com i kliknij przycisk Login” działa lepiej niż “zaloguj się na stronie.”
-
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.”
-
Używaj skrótów klawiaturowych. Listy rozwijane i paski przewijania mogą być trudne do kliknięcia. Zachęć Claude’a do używania
Tab,Enteri klawiszy strzałek zamiast tego. -
Podaj przykłady. Dla powtarzalnych zadań dołącz przykładowe zrzuty ekranu i oczekiwane wywołania narzędzi do swojego promptu.
-
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
- Wypróbuj implementację referencyjną. Sklonuj anthropic-quickstarts, uruchom kontener Docker i eksperymentuj.
- 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.
- Dodaj zabezpieczenia. Ustaw limity iteracji. Waliduj koordynaty. Loguj każdą akcję. Dodaj ludzkie potwierdzenie dla wszystkiego nieodwracalnego.
- 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.