Claude dapat berinteraksi dengan lingkungan komputer melalui alat "computer use" (penggunaan komputer), yang menyediakan kemampuan tangkapan layar dan kontrol mouse/keyboard untuk interaksi desktop secara otonom.
Computer use adalah fitur beta yang memungkinkan Claude berinteraksi dengan lingkungan desktop. Alat ini menyediakan:
Meskipun computer use dapat ditambah dengan alat lain seperti bash dan text editor untuk alur kerja otomatisasi yang lebih komprehensif, computer use secara spesifik mengacu pada kemampuan alat computer use untuk melihat dan mengontrol lingkungan desktop.
Untuk dukungan model, lihat Referensi alat.
Computer use adalah fitur beta dengan risiko unik yang berbeda dari fitur API standar. Risiko ini meningkat saat berinteraksi dengan internet.
Dalam beberapa keadaan, Claude akan mengikuti perintah yang ditemukan dalam konten meskipun bertentangan dengan instruksi Anda. Misalnya, instruksi pada halaman web atau yang terkandung dalam gambar mungkin menggantikan instruksi Anda atau menyebabkan Claude membuat kesalahan. Ambil tindakan pencegahan untuk mengisolasi Claude dari data dan tindakan sensitif guna menghindari risiko terkait prompt injection.
Anthropic telah melatih model untuk menolak prompt injection ini dan telah menambahkan lapisan pertahanan ekstra. Jika Anda menggunakan alat computer use, classifier akan secara otomatis berjalan pada prompt Anda untuk menandai potensi kasus prompt injection. Ketika classifier ini mengidentifikasi potensi prompt injection dalam tangkapan layar, mereka akan secara otomatis mengarahkan model untuk meminta konfirmasi pengguna sebelum melanjutkan ke tindakan berikutnya. Perlindungan ekstra ini tidak akan ideal untuk setiap kasus penggunaan (misalnya, kasus penggunaan tanpa manusia dalam loop), jadi jika Anda ingin memilih keluar dan menonaktifkannya, hubungi dukungan.
Tindakan pencegahan ini tetap penting meskipun lapisan pertahanan classifier sudah diterapkan.
Informasikan pengguna akhir tentang risiko yang relevan dan dapatkan persetujuan mereka sebelum mengaktifkan computer use di produk Anda sendiri.
Mulai dengan implementasi referensi computer use yang mencakup antarmuka web, container Docker, contoh implementasi alat, dan agent loop.
Berikut cara memulai dengan computer use:
client = anthropic.Anthropic()
response = client.beta.messages.create(
model="claude-opus-5", # or another compatible model
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"],
)
print(response)Berikan Claude alat computer use dan prompt pengguna
Claude memilih alat computer use
stop_reason berupa tool_use, yang menandakan permintaan penggunaan alat.Ekstrak input alat, evaluasi alat pada komputer, dan kembalikan hasilnya
user baru yang berisi blok konten tool_result.Claude terus memanggil alat computer use hingga tugas selesai
stop_reason tool_use lainnya dan Anda harus kembali ke langkah 3.Pengulangan langkah 3 dan 4 tanpa input pengguna disebut sebagai "agent loop" (yaitu, Claude merespons dengan permintaan penggunaan alat dan aplikasi Anda merespons Claude dengan hasil evaluasi permintaan tersebut).
Computer use memerlukan lingkungan komputasi sandbox tempat Claude dapat berinteraksi dengan aman dengan aplikasi dan web. Lingkungan ini mencakup:
Tampilan virtual: Server tampilan X11 virtual (menggunakan Xvfb) yang merender antarmuka desktop yang akan dilihat Claude melalui tangkapan layar dan dikontrol dengan tindakan mouse/keyboard.
Lingkungan desktop: UI ringan dengan window manager (Mutter) dan panel (Tint2) yang berjalan di Linux, yang menyediakan antarmuka grafis yang konsisten untuk Claude berinteraksi.
Aplikasi: Aplikasi Linux yang sudah terinstal seperti Firefox, LibreOffice, editor teks, dan file manager yang dapat digunakan Claude untuk menyelesaikan tugas.
Implementasi alat: Kode integrasi yang menerjemahkan permintaan alat abstrak Claude (seperti "gerakkan mouse" atau "ambil tangkapan layar") menjadi operasi aktual di lingkungan virtual.
Agent loop: Program yang menangani komunikasi antara Claude dan lingkungan, mengirim tindakan Claude ke lingkungan dan mengembalikan hasilnya (tangkapan layar, output perintah) kembali ke Claude.
Saat Anda menggunakan computer use, Claude tidak terhubung langsung ke lingkungan ini. Sebaliknya, aplikasi Anda:
Untuk keamanan dan isolasi, implementasi referensi menjalankan semua ini di dalam container Docker dengan pemetaan port yang sesuai untuk melihat dan berinteraksi dengan lingkungan.
Tersedia implementasi referensi yang mencakup semua yang Anda butuhkan untuk memulai dengan computer use:
Inti dari computer use adalah "agent loop": siklus di mana Claude meminta tindakan alat, aplikasi Anda menjalankannya, dan mengembalikan hasilnya ke Claude. Loop ini menggunakan client yang Anda buat di Mulai cepat, daftar alat yang dibentuk seperti array tools di Mulai cepat, dan helper pemrosesan panggilan alat yang didefinisikan di Memproses panggilan alat Claude. Berikut contoh yang disederhanakan:
def sampling_loop(model, messages, max_iterations=10):
"""
Run the computer-use agent loop until Claude stops requesting tools
or the iteration limit is reached.
"""
for _ in range(max_iterations):
response = client.beta.messages.create(
model=model,
max_tokens=4096,
messages=messages,
tools=TOOLS,
betas=["computer-use-2025-11-24"],
)
# Tambahkan respons Claude ke riwayat percakapan
messages.append({"role": "assistant", "content": response.content})
# Jalankan alat apa pun yang diminta Claude dan kumpulkan hasilnya
tool_results = process_tool_calls(response)
if not tool_results:
return messages # No more tool use; task complete
# Kirim hasil alat kembali ke Claude untuk iterasi berikutnya
messages.append({"role": "user", "content": tool_results})
return messagesLoop berlanjut hingga Claude merespons tanpa meminta alat apa pun (penyelesaian tugas) atau batas iterasi maksimum tercapai. Pengaman ini mencegah potensi loop tak terbatas yang dapat mengakibatkan biaya API yang tidak terduga.
Coba implementasi referensi terlebih dahulu sebelum membaca sisa dokumentasi ini.
Berikut beberapa tips tentang cara mendapatkan output berkualitas terbaik:
After each step, take a screenshot and carefully evaluate if you have achieved the right outcome. Explicitly show your thinking: "I have evaluated step X..." If not correct, try again. Only when you confirm a step was executed correctly should you move on to the next one.<robot_credentials>. Menggunakan computer use dalam aplikasi yang memerlukan login meningkatkan risiko hasil buruk akibat prompt injection. Tinjau Mitigasi jailbreak dan prompt injection sebelum memberikan kredensial login kepada model.content pada giliran pengguna, tempatkan teks instruksi sebelum gambar tangkapan layar. Memberikan deskripsi target sebelum gambar diproses meningkatkan akurasi klik.computer_20251124 dengan enable_zoom: true diatur, Claude memperbesar suatu wilayah ketika ditanya tentang teks kecil atau elemen UI spesifik yang tidak terbaca pada resolusi default tangkapan layar, seperti nama file di sidebar, judul tab, teks status bar, nomor baris, atau label tombol. Jika Claude tidak memperbesar saat Anda mengharapkannya, tanyakan tentang wilayah atau elemen spesifik alih-alih layar secara keseluruhan.Ketika salah satu alat dengan skema Anthropic diminta melalui Claude API, prompt sistem khusus computer use akan dihasilkan. Ini mirip dengan prompt sistem penggunaan alat tetapi dimulai dengan:
You have access to a set of functions you can use to answer the user's question. This includes access to a sandboxed computing environment. You do NOT currently have the ability to inspect files or interact with external resources, except by invoking the below functions.
Seperti halnya penggunaan alat biasa, parameter system yang disediakan pengguna tetap dihormati dan digunakan dalam konstruksi prompt sistem gabungan.
Alat computer use mendukung tindakan berikut:
Tindakan dasar (semua versi)
[x, y]Tindakan yang ditingkatkan (computer_20250124 dan setelahnya)
Tersedia di computer_20250124 dan computer_20251124:
Tindakan yang ditingkatkan (computer_20251124)
Tersedia di Claude Opus 5, Claude Sonnet 5, Claude Opus 4.8, Claude Opus 4.7, Claude Opus 4.6, Claude Sonnet 4.6, dan Claude Opus 4.5:
computer_20250124enable_zoom: true dalam definisi alat. Menerima parameter region dengan koordinat [x1, y1, x2, y2] yang mendefinisikan sudut kiri atas dan kanan bawah area yang akan diperiksa.| Parameter | Wajib | Deskripsi |
|---|---|---|
type | Ya | Versi alat (computer_20251124 atau computer_20250124) |
name | Ya | Harus "computer" |
display_width_px | Ya | Lebar tampilan dalam piksel |
display_height_px | Ya | Tinggi tampilan dalam piksel |
display_number | Tidak | Nomor tampilan untuk lingkungan X11 |
enable_zoom | Tidak | Mengaktifkan tindakan zoom (hanya computer_20251124). Atur ke true untuk mengizinkan Claude memperbesar wilayah layar tertentu. Default: false |
Untuk menggabungkan computer use dengan thinking, lihat Thinking.
Untuk menambahkan alat lain bersama computer use, sertakan dalam array tools yang sama. Bagian Mulai cepat menunjukkan pola ini dengan alat bash dan alat text editor. Anda dapat menambahkan definisi alat kustom Anda sendiri dengan cara yang sama.
Implementasi referensi dimaksudkan untuk membantu Anda memulai dengan computer use. Ini mencakup semua komponen yang diperlukan agar Claude dapat menggunakan komputer. Namun, Anda dapat membangun lingkungan Anda sendiri untuk computer use sesuai kebutuhan Anda. Anda akan memerlukan:
tool_use menggunakan implementasi alat AndaAlat computer use diimplementasikan sebagai alat tanpa skema. Saat menggunakan alat ini, Anda tidak perlu menyediakan skema input seperti pada alat lainnya; skema sudah terintegrasi ke dalam model Claude dan tidak dapat dimodifikasi.
Siapkan lingkungan komputasi Anda
Buat tampilan virtual atau hubungkan ke tampilan yang sudah ada yang akan berinteraksi dengan Claude. Ini biasanya melibatkan pengaturan Xvfb (X Virtual Framebuffer) atau teknologi serupa.
Implementasikan action handler
Buat fungsi untuk menangani setiap jenis tindakan yang mungkin diminta Claude:
def capture_screenshot():
return "<screenshot data>"
def click_at(x, y):
return f"clicked at ({x}, {y})"
def type_text(text):
return f"typed: {text}"
def handle_computer_action(action_type, params):
if action_type == "screenshot":
return capture_screenshot()
elif action_type == "left_click":
x, y = params["coordinate"]
return click_at(x, y)
elif action_type == "type":
return type_text(params["text"])
# Tangani tindakan lain sesuai kebutuhan
return f"unhandled action: {action_type}"Memproses panggilan alat Claude
Ekstrak dan jalankan panggilan alat dari respons Claude:
def process_tool_calls(response):
tool_results = []
for block in response.content:
if block.type == "tool_use":
action = block.input["action"]
result = handle_computer_action(action, block.input)
tool_results.append(
{
"type": "tool_result",
"tool_use_id": block.id,
"content": result,
}
)
return tool_resultsImplementasikan agent loop
Buat loop yang berlanjut hingga Claude menyelesaikan tugas:
def sampling_loop(model, messages, max_iterations=10):
"""
Run the computer-use agent loop until Claude stops requesting tools
or the iteration limit is reached.
"""
for _ in range(max_iterations):
response = client.beta.messages.create(
model=model,
max_tokens=4096,
messages=messages,
tools=TOOLS,
betas=["computer-use-2025-11-24"],
)
# Tambahkan respons Claude ke riwayat percakapan
messages.append({"role": "assistant", "content": response.content})
# Jalankan alat apa pun yang diminta Claude dan kumpulkan hasilnya
tool_results = process_tool_calls(response)
if not tool_results:
return messages # No more tool use; task complete
# Kirim hasil alat kembali ke Claude untuk iterasi berikutnya
messages.append({"role": "user", "content": tool_results})
return messagesSaat mengimplementasikan alat computer use, berbagai error mungkin terjadi. Berikut cara menanganinya:
Tangkapan layar yang dikirim ke alat computer harus sesuai dengan batas ukuran gambar Claude (lihat batas ukuran gambar). API memperkecil gambar yang terlalu besar sebelum Claude melihatnya, dan Claude mengembalikan koordinat untuk gambar yang dilihatnya, sehingga mengandalkan pengecilan di sisi server membuat Anda tidak memiliki faktor skala yang diperlukan untuk memetakan koordinat tersebut kembali ke layar Anda. Hanya gambar yang melebihi batas permintaan terpisah dari API (misalnya, lebih dari 8.000 px pada satu sisi) yang ditolak dengan error validasi alih-alih diperkecil.
Jika layar Anda lebih besar dari batas tersebut, ubah ukuran tangkapan layar sebelum mengirimnya, atur display_width_px/display_height_px ke dimensi yang telah diubah ukurannya, dan skalakan koordinat yang dikembalikan Claude kembali ke ruang layar asli:
import math
def get_scale_factor(width, height):
"""Calculate scale factor to meet API constraints."""
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)
# Saat mengambil screenshot
scale = get_scale_factor(screen_width, screen_height)
scaled_width = int(screen_width * scale)
scaled_height = int(screen_height * scale)
# Ubah ukuran gambar ke dimensi yang diskalakan sebelum mengirim ke Claude
screenshot = capture_and_resize(scaled_width, scaled_height)
# Saat menangani koordinat dari Claude, skalakan kembali ke ukuran asli
def execute_click(x, y):
screen_x = x / scale
screen_y = y / scale
perform_click(screen_x, screen_y)Jika klik meleset dari targetnya, penyebabnya biasanya salah satu dari berikut:
| Gejala | Kemungkinan penyebab | Coba |
|---|---|---|
| Klik secara konsisten bergeser ke satu arah | display_width_px/display_height_px tidak cocok dengan dimensi gambar yang sebenarnya dikirim | Pastikan dimensi tampilan persis cocok dengan tangkapan layar yang Anda kirim |
| Klik mendarat di area yang benar tetapi meleset dari target | Target sangat kecil, detail hilang saat memperkecil sumber 4K+, atau rasio aspek terdistorsi | Atur enable_zoom: true; tangkap pada DPI lebih rendah atau potong ke wilayah yang relevan; pertahankan rasio aspek saat mengubah ukuran |
| Claude mengklik elemen yang sepenuhnya salah | Instruksi ambigu, atau elemen yang secara visual mirip di dekatnya | Gunakan prompt posisional ("tombol Submit biru di kanan bawah"); pecah interaksi menjadi langkah-langkah yang lebih kecil |
| Akurasi secara konsisten buruk | Resolusi terlalu rendah | Coba 1280x720 sebagai baseline |
Computer use masih dalam tahap beta. Perhatikan keterbatasan berikut:
Latency: "Latency" (latensi) computer use saat ini untuk interaksi manusia-AI mungkin terlalu lambat dibandingkan dengan tindakan komputer yang diarahkan manusia biasa. Fokus pada kasus penggunaan di mana kecepatan tidak kritis (misalnya, pengumpulan informasi latar belakang, pengujian perangkat lunak otomatis) di lingkungan tepercaya.
Akurasi dan keandalan computer vision: Claude mungkin membuat kesalahan atau berhalusinasi saat menghasilkan koordinat spesifik ketika menghasilkan tindakan. Pemikiran diperpanjang dapat membantu Anda memahami penalaran model dan mengidentifikasi potensi masalah.
Akurasi dan keandalan pemilihan alat: Claude mungkin membuat kesalahan atau berhalusinasi saat memilih alat ketika menghasilkan tindakan atau mengambil tindakan tak terduga untuk menyelesaikan masalah. Selain itu, keandalan mungkin lebih rendah saat berinteraksi dengan aplikasi khusus atau beberapa aplikasi sekaligus. Berikan prompt kepada model dengan hati-hati saat meminta tugas yang kompleks.
Keandalan scrolling: Tindakan scroll mendukung kontrol arah (atas, bawah, kiri, kanan) dan jumlah yang ditentukan. Dalam aplikasi di mana scrolling tidak berfungsi, alternatif keyboard seperti Page Down dapat membantu.
Interaksi spreadsheet: Gunakan tindakan kontrol mouse yang detail (left_mouse_down, left_mouse_up) dan kombinasi tombol modifier untuk memilih sel individual. Operasi spreadsheet yang kompleks mungkin masih memerlukan beberapa percobaan.
Pembuatan akun dan pembuatan konten di platform sosial dan komunikasi: Meskipun Claude akan mengunjungi situs web, kemampuan Claude untuk membuat akun atau menghasilkan dan membagikan konten atau terlibat dalam peniruan manusia di seluruh situs web dan platform media sosial dibatasi. Kemampuan ini mungkin diperbarui di masa mendatang.
Kerentanan: Kerentanan seperti jailbreaking atau prompt injection mungkin tetap ada di seluruh sistem AI frontier, termasuk API computer use beta. Dalam beberapa keadaan, Claude akan mengikuti perintah yang ditemukan dalam konten, terkadang bahkan ketika bertentangan dengan instruksi Anda. Misalnya, instruksi pada halaman web atau yang terkandung dalam gambar mungkin menggantikan instruksi Anda atau menyebabkan Claude membuat kesalahan. Pertimbangkan hal berikut:
Tindakan yang tidak pantas atau ilegal: Berdasarkan Ketentuan Layanan Anthropic, Anda tidak boleh menggunakan computer use untuk melanggar hukum apa pun atau Kebijakan Penggunaan yang Dapat Diterima.
Selalu tinjau dan verifikasi dengan cermat tindakan dan log computer use Claude. Jangan gunakan Claude untuk tugas yang memerlukan presisi sempurna atau informasi pengguna sensitif tanpa pengawasan manusia.
Computer use adalah alat sisi klien. Semua tangkapan layar, tindakan mouse, input keyboard, dan file apa pun yang terlibat dalam sesi ditangkap dan disimpan di lingkungan Anda, bukan oleh Anthropic. Anthropic memproses gambar tangkapan layar dan permintaan tindakan secara real time sebagai bagian dari panggilan API. Retensi untuk permintaan API tersebut diatur oleh API dan retensi data.
Karena aplikasi Anda mengontrol di mana dan bagaimana data computer use disimpan, computer use memenuhi syarat ZDR. Untuk kelayakan ZDR di semua fitur, lihat API dan retensi data.
Computer use mengikuti harga penggunaan alat standar. Saat menggunakan alat computer use:
Overhead prompt sistem: Beta computer use menambahkan 466–499 token ke prompt sistem
Penggunaan token alat computer use:
| Model | Token input per definisi alat |
|---|---|
| Model Claude 4.x | 735 token |
Konsumsi token tambahan:
Perbaiki error penggunaan alat yang paling umum dengan tabel diagnostik gejala-ke-perbaikan.
Mulai dengan implementasi lengkap berbasis Docker
Hubungkan Claude ke alat dan API eksternal. Lihat di mana alat dieksekusi, kapan Claude memanggilnya, dan alat mana yang sesuai dengan tugas Anda.
Rekomendasi yang telah di-benchmark untuk resolusi, thinking effort, dan manajemen konteks
| Supported models |
|
|---|---|
| Supported platforms |
|
Was this page helpful?