Claude dapat berinteraksi dengan lingkungan komputer melalui alat penggunaan komputer, yang menyediakan kemampuan tangkapan layar dan kontrol mouse/keyboard untuk interaksi desktop otonom.
Penggunaan komputer saat ini dalam beta dan memerlukan header beta:
"computer-use-2025-11-24" (Claude Opus 4.5)"computer-use-2025-01-24" (Model Claude 4 dan Claude Sonnet 3.7 (tidak direkomendasikan))Penggunaan komputer adalah fitur beta yang memungkinkan Claude berinteraksi dengan lingkungan desktop. Alat ini menyediakan:
Meskipun penggunaan komputer dapat ditingkatkan dengan alat lain seperti bash dan editor teks untuk alur kerja otomasi yang lebih komprehensif, penggunaan komputer secara khusus mengacu pada kemampuan alat penggunaan komputer untuk melihat dan mengontrol lingkungan desktop.
Penggunaan komputer tersedia untuk model Claude berikut:
| Model | Versi Alat | Bendera Beta |
|---|---|---|
| Claude Opus 4.5 | computer_20251124 | computer-use-2025-11-24 |
| Model Claude 4 | computer_20250124 | computer-use-2025-01-24 |
| Claude Sonnet 3.7 (tidak direkomendasikan) | computer_20250124 | computer-use-2025-01-24 |
Claude Opus 4.5 memperkenalkan versi alat computer_20251124 dengan kemampuan baru termasuk tindakan zoom untuk inspeksi wilayah layar terperinci. Model Claude 4 menggunakan versi alat yang diperbarui dan dioptimalkan untuk arsitektur baru. Claude Sonnet 3.7 (tidak direkomendasikan) memperkenalkan kemampuan tambahan termasuk fitur pemikiran untuk wawasan lebih lanjut tentang proses penalaran model.
Versi alat yang lebih lama tidak dijamin kompatibel ke belakang dengan model yang lebih baru. Selalu gunakan versi alat yang sesuai dengan versi model Anda.
Penggunaan komputer adalah fitur beta dengan risiko unik yang berbeda dari fitur API standar. Risiko ini meningkat ketika berinteraksi dengan internet. Untuk meminimalkan risiko, pertimbangkan untuk mengambil tindakan pencegahan seperti:
Dalam beberapa keadaan, Claude akan mengikuti perintah yang ditemukan dalam konten bahkan jika bertentangan dengan instruksi pengguna. Misalnya, instruksi Claude di halaman web atau yang terdapat dalam gambar dapat mengganti instruksi atau menyebabkan Claude membuat kesalahan. Kami menyarankan untuk mengambil tindakan pencegahan untuk mengisolasi Claude dari data dan tindakan sensitif untuk menghindari risiko terkait injeksi prompt.
Kami telah melatih model untuk menahan injeksi prompt ini dan telah menambahkan lapisan pertahanan ekstra. Jika Anda menggunakan alat penggunaan komputer kami, kami akan secara otomatis menjalankan pengklasifikasi pada prompt Anda untuk menandai kemungkinan contoh injeksi prompt. Ketika pengklasifikasi ini mengidentifikasi kemungkinan injeksi prompt dalam tangkapan layar, mereka akan secara otomatis mengarahkan model untuk meminta konfirmasi pengguna sebelum melanjutkan dengan tindakan berikutnya. Kami menyadari bahwa perlindungan ekstra ini tidak akan ideal untuk setiap kasus penggunaan (misalnya, kasus penggunaan tanpa manusia dalam loop), jadi jika Anda ingin menolak dan mematikannya, silakan hubungi kami.
Kami masih menyarankan untuk mengambil tindakan pencegahan untuk mengisolasi Claude dari data dan tindakan sensitif untuk menghindari risiko terkait injeksi prompt.
Mulai dengan cepat dengan implementasi referensi penggunaan komputer kami yang mencakup antarmuka web, kontainer Docker, implementasi alat contoh, dan loop agen.
Catatan: Implementasi telah diperbarui untuk menyertakan alat baru untuk model Claude 4 dan Claude Sonnet 3.7. Pastikan untuk menarik versi terbaru repo untuk mengakses fitur baru ini.
Silakan gunakan formulir ini untuk memberikan umpan balik tentang kualitas respons model, API itu sendiri, atau kualitas dokumentasi - kami tidak sabar untuk mendengar dari Anda!
Berikut cara memulai dengan penggunaan komputer:
Header beta hanya diperlukan untuk alat penggunaan komputer.
Contoh di atas menunjukkan ketiga alat digunakan bersama-sama, yang memerlukan header beta karena mencakup alat penggunaan komputer.
Kami menyebut pengulangan langkah 3 dan 4 tanpa input pengguna sebagai "loop agen" - yaitu, Claude merespons dengan permintaan penggunaan alat dan aplikasi Anda merespons Claude dengan hasil evaluasi permintaan tersebut.
Claude dapat berinteraksi dengan lingkungan komputer melalui alat computer use, yang menyediakan kemampuan tangkapan layar dan kontrol mouse/keyboard untuk interaksi desktop otonom.
Computer use saat ini dalam beta dan memerlukan beta header:
"computer-use-2025-11-24" (Claude Opus 4.5)"computer-use-2025-01-24" (Claude 4 models dan Claude Sonnet 3.7 (deprecated))Computer use adalah fitur beta yang memungkinkan Claude untuk berinteraksi dengan lingkungan desktop. Alat ini menyediakan:
Meskipun computer use dapat ditingkatkan dengan alat lain seperti bash dan editor teks untuk alur kerja otomasi yang lebih komprehensif, computer use secara khusus mengacu pada kemampuan alat computer use untuk melihat dan mengontrol lingkungan desktop.
Computer use tersedia untuk model Claude berikut:
| Model | Versi Alat | Bendera Beta |
|---|---|---|
| Claude Opus 4.5 | computer_20251124 | computer-use-2025-11-24 |
| Claude 4 models | computer_20250124 | computer-use-2025-01-24 |
| Claude Sonnet 3.7 (deprecated) | computer_20250124 | computer-use-2025-01-24 |
Claude Opus 4.5 memperkenalkan versi alat computer_20251124 dengan kemampuan baru termasuk aksi zoom untuk inspeksi wilayah layar terperinci. Claude 4 models menggunakan versi alat yang diperbarui dan dioptimalkan untuk arsitektur baru. Claude Sonnet 3.7 (deprecated) memperkenalkan kemampuan tambahan termasuk fitur thinking untuk wawasan lebih dalam tentang proses penalaran model.
Versi alat yang lebih lama tidak dijamin kompatibel mundur dengan model yang lebih baru. Selalu gunakan versi alat yang sesuai dengan versi model Anda.
Computer use adalah fitur beta dengan risiko unik yang berbeda dari fitur API standar. Risiko ini meningkat ketika berinteraksi dengan internet. Untuk meminimalkan risiko, pertimbangkan untuk mengambil tindakan pencegahan seperti:
Dalam beberapa keadaan, Claude akan mengikuti perintah yang ditemukan dalam konten bahkan jika bertentangan dengan instruksi pengguna. Misalnya, instruksi Claude di halaman web atau yang terdapat dalam gambar dapat mengganti instruksi atau menyebabkan Claude membuat kesalahan. Kami menyarankan untuk mengambil tindakan pencegahan untuk mengisolasi Claude dari data dan tindakan sensitif untuk menghindari risiko yang terkait dengan prompt injection.
Kami telah melatih model untuk menahan prompt injection ini dan telah menambahkan lapisan pertahanan ekstra. Jika Anda menggunakan alat computer use kami, kami akan secara otomatis menjalankan pengklasifikasi pada prompt Anda untuk menandai kemungkinan contoh prompt injection. Ketika pengklasifikasi ini mengidentifikasi kemungkinan prompt injection dalam tangkapan layar, mereka akan secara otomatis mengarahkan model untuk meminta konfirmasi pengguna sebelum melanjutkan dengan tindakan berikutnya. Kami menyadari bahwa perlindungan ekstra ini tidak akan ideal untuk setiap kasus penggunaan (misalnya, kasus penggunaan tanpa manusia dalam loop), jadi jika Anda ingin memilih keluar dan mematikannya, silakan hubungi kami.
Kami masih menyarankan untuk mengambil tindakan pencegahan untuk mengisolasi Claude dari data dan tindakan sensitif untuk menghindari risiko yang terkait dengan prompt injection.
Mulai dengan cepat dengan implementasi referensi computer use kami yang mencakup antarmuka web, kontainer Docker, implementasi alat contoh, dan loop agen.
Catatan: Implementasi telah diperbarui untuk menyertakan alat baru untuk Claude 4 models dan Claude Sonnet 3.7. Pastikan untuk menarik versi terbaru repo untuk mengakses fitur baru ini.
Silakan gunakan formulir ini untuk memberikan umpan balik tentang kualitas respons model, API itu sendiri, atau kualitas dokumentasi - kami tidak sabar untuk mendengar dari Anda!
Berikut cara memulai dengan computer use:
Header beta hanya diperlukan untuk alat computer use.
Contoh di atas menunjukkan ketiga alat digunakan bersama-sama, yang memerlukan header beta karena mencakup alat computer use.
Kami merujuk pada pengulangan langkah 3 dan 4 tanpa input pengguna 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 bersandal di mana Claude dapat dengan aman berinteraksi 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 pengelola jendela (Mutter) dan panel (Tint2) yang berjalan di Linux, yang menyediakan antarmuka grafis yang konsisten untuk Claude berinteraksi.
Aplikasi: Aplikasi Linux yang telah diinstal sebelumnya seperti Firefox, LibreOffice, editor teks, dan pengelola file yang dapat digunakan Claude untuk menyelesaikan tugas.
Implementasi alat: Kode integrasi yang menerjemahkan permintaan alat abstrak Claude (seperti "pindahkan 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 hasil (tangkapan layar, output perintah) kembali ke Claude.
Ketika 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 kontainer Docker dengan pemetaan port yang sesuai untuk melihat dan berinteraksi dengan lingkungan.
Kami telah membangun implementasi referensi yang mencakup semua yang Anda butuhkan untuk memulai dengan cepat dengan computer use:
Inti dari computer use adalah "agent loop" - siklus di mana Claude meminta tindakan alat, aplikasi Anda menjalankannya, dan mengembalikan hasil ke Claude. Berikut adalah contoh yang disederhanakan:
async def sampling_loop(
*,
model: str,
messages: list[dict],
api_key: str,
max_tokens: int = 4096,
tool_version: str,
thinking_budget: int | None = None,
max_iterations: int = 10, # Tambahkan batas iterasi untuk mencegah loop tak terbatas
):
"""
Agent loop sederhana untuk interaksi computer use Claude.
Fungsi ini menangani bolak-balik antara:
1. Mengirim pesan pengguna ke Claude
2. Claude meminta untuk menggunakan alat
3. Aplikasi Anda menjalankan alat tersebut
4. Mengirim hasil alat kembali ke Claude
"""
# Siapkan alat dan parameter API
client = Anthropic(api_key=api_key)
beta_flag = "computer-use-2025-01-24" if "20250124" in tool_version else "computer-use-2024-10-22"
# Konfigurasi alat - Anda seharusnya sudah menginisialisasi ini di tempat lain
tools = [
{"type": f"computer_{tool_version}", "name": "computer", "display_width_px": 1024, "display_height_px": 768},
{"type": f"text_editor_{tool_version}", "name": "str_replace_editor"},
{"type": f"bash_{tool_version}", "name": "bash"}
]
# Agent loop utama (dengan batas iterasi untuk mencegah biaya API yang melonjak)
iterations = 0
while True and iterations < max_iterations:
iterations += 1
# Siapkan parameter thinking opsional (untuk Claude Sonnet 3.7)
thinking = None
if thinking_budget:
thinking = {"type": "enabled", "budget_tokens": thinking_budget}
# Panggil Claude API
response = client.beta.messages.create(
model=model,
max_tokens=max_tokens,
messages=messages,
tools=tools,
betas=[beta_flag],
thinking=thinking
)
# Tambahkan respons Claude ke riwayat percakapan
response_content = response.content
messages.append({"role": "assistant", "content": response_content})
# Periksa apakah Claude menggunakan alat apa pun
tool_results = []
for block in response_content:
if block.type == "tool_use":
# Dalam aplikasi nyata, Anda akan menjalankan alat di sini
# Misalnya: result = run_tool(block.name, block.input)
result = {"result": "Tool executed successfully"}
# Format hasil untuk Claude
tool_results.append({
"type": "tool_result",
"tool_use_id": block.id,
"content": result
})
# Jika tidak ada alat yang digunakan, Claude selesai - kembalikan pesan final
if not tool_results:
return messages
# Tambahkan hasil alat ke pesan untuk iterasi berikutnya dengan Claude
messages.append({"role": "user", "content": tool_results})Loop berlanjut hingga Claude merespons tanpa meminta alat apa pun (penyelesaian tugas) atau batas iterasi maksimum tercapai. Perlindungan ini mencegah loop tak terbatas yang mungkin menghasilkan biaya API yang tidak terduga.
Saat menggunakan alat computer use, Anda harus menyertakan bendera beta yang sesuai untuk versi model Anda:
Kami merekomendasikan untuk mencoba implementasi referensi terlebih dahulu sebelum membaca sisa dokumentasi ini.
Berikut adalah 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 karena prompt injection. Silakan tinjau panduan kami tentang mitigasi prompt injection sebelum memberikan model kredensial login.Jika Anda berulang kali mengalami serangkaian masalah yang jelas atau mengetahui sebelumnya tugas yang perlu diselesaikan Claude, gunakan system prompt untuk memberikan Claude tips atau instruksi eksplisit tentang cara menyelesaikan tugas dengan sukses.
Ketika salah satu alat yang ditentukan Anthropic diminta melalui Claude API, system prompt khusus computer use dihasilkan. Ini mirip dengan tool use system prompt 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 dengan tool use reguler, bidang system_prompt yang disediakan pengguna masih dihormati dan digunakan dalam konstruksi system prompt gabungan.
Kami telah membangun implementasi referensi yang mencakup semua yang Anda butuhkan untuk memulai dengan cepat dengan computer use:
Inti dari computer use adalah "agent loop" - siklus di mana Claude meminta tindakan alat, aplikasi Anda menjalankannya, dan mengembalikan hasil ke Claude. Berikut adalah contoh yang disederhanakan:
async def sampling_loop(
*,
model: str,
messages: list[dict],
api_key: str,
max_tokens: int = 4096,
tool_version: str,
thinking_budget: int | None = None,
max_iterations: int = 10, # Add iteration limit to prevent infinite loops
):
"""
A simple agent loop for Claude computer use interactions.
This function handles the back-and-forth between:
1. Sending user messages to Claude
2. Claude requesting to use tools
3. Your app executing those tools
4. Sending tool results back to Claude
"""
# Set up tools and API parameters
client = Anthropic(api_key=api_key)
beta_flag = "computer-use-2025-01-24" if "20250124" in tool_version else "computer-use-2024-10-22"
# Configure tools - you should already have these initialized elsewhere
tools = [
{"type": f"computer_{tool_version}", "name": "computer", "display_width_px": 1024, "display_height_px": 768},
{"type": f"text_editor_{tool_version}", "name": "str_replace_editor"},
{"type": f"bash_{tool_version}", "name": "bash"}
]
# Main agent loop (with iteration limit to prevent runaway API costs)
iterations = 0
while True and iterations < max_iterations:
iterations += 1
# Set up optional thinking parameter (for Claude Sonnet 3.7)
thinking = None
if thinking_budget:
thinking = {"type": "enabled", "budget_tokens": thinking_budget}
# Call the Claude API
response = client.beta.messages.create(
model=model,
max_tokens=max_tokens,
messages=messages,
tools=tools,
betas=[beta_flag],
thinking=thinking
)
# Add Claude's response to the conversation history
response_content = response.content
messages.append({"role": "assistant", "content": response_content})
# Check if Claude used any tools
tool_results = []
for block in response_content:
if block.type == "tool_use":
# In a real app, you would execute the tool here
# For example: result = run_tool(block.name, block.input)
result = {"result": "Tool executed successfully"}
# Format the result for Claude
tool_results.append({
"type": "tool_result",
"tool_use_id": block.id,
"content": result
})
# If no tools were used, Claude is done - return the final messages
if not tool_results:
return messages
# Add tool results to messages for the next iteration with Claude
messages.append({"role": "user", "content": tool_results})Loop berlanjut sampai Claude merespons tanpa meminta alat apa pun (penyelesaian tugas) atau batas iterasi maksimum tercapai. Perlindungan ini mencegah loop tak terbatas potensial yang dapat menghasilkan biaya API yang tidak terduga.
Saat menggunakan alat computer use, Anda harus menyertakan bendera beta yang sesuai untuk versi model Anda:
Kami merekomendasikan untuk mencoba implementasi referensi terlebih dahulu sebelum membaca sisa dokumentasi ini.
Berikut adalah 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 yang buruk sebagai akibat dari prompt injection. Silakan tinjau panduan kami tentang mitigasi prompt injections sebelum memberikan model dengan kredensial login.Jika Anda berulang kali mengalami serangkaian masalah yang jelas atau mengetahui sebelumnya tugas-tugas yang perlu diselesaikan Claude, gunakan system prompt untuk memberikan Claude tips atau instruksi eksplisit tentang cara menyelesaikan tugas dengan sukses.
Ketika salah satu alat yang ditentukan Anthropic diminta melalui Claude API, system prompt khusus computer use dibuat. Ini mirip dengan tool use system prompt 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 dengan tool use reguler, field system_prompt yang disediakan pengguna tetap dihormati dan digunakan dalam konstruksi system prompt gabungan.
Alat computer use mendukung tindakan-tindakan ini:
Tindakan dasar (semua versi)
[x, y]Tindakan yang ditingkatkan (computer_20250124)
Tersedia di Claude 4 models dan Claude Sonnet 3.7:
Tindakan yang ditingkatkan (computer_20251124)
Tersedia di Claude Opus 4.5:
computer_20250124enable_zoom: true dalam definisi alat. Mengambil parameter region dengan koordinat [x1, y1, x2, y2] yang menentukan sudut kiri atas dan kanan bawah area untuk diperiksa.| Parameter | Diperlukan | Deskripsi |
|---|---|---|
type | Ya | Versi alat (computer_20251124, computer_20250124, atau computer_20241022) |
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 |
Jaga resolusi tampilan pada atau di bawah 1280x800 (WXGA) untuk kinerja terbaik. Resolusi lebih tinggi dapat menyebabkan masalah akurasi karena pengubahan ukuran gambar.
Penting: Alat computer use harus dijalankan secara eksplisit oleh aplikasi Anda - Claude tidak dapat menjalankannya secara langsung. Anda bertanggung jawab untuk mengimplementasikan tangkapan layar, gerakan mouse, input keyboard, dan tindakan lain berdasarkan permintaan Claude.
| Parameter | Diperlukan | Deskripsi |
|---|---|---|
type | Ya | Versi alat (computer_20251124, computer_20250124, atau computer_20241022) |
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 |
Jaga resolusi tampilan pada atau di bawah 1280x800 (WXGA) untuk kinerja terbaik. Resolusi lebih tinggi dapat menyebabkan masalah akurasi karena pengubahan ukuran gambar.
Penting: Alat computer use harus dijalankan secara eksplisit oleh aplikasi Anda - Claude tidak dapat menjalankannya secara langsung. Anda bertanggung jawab untuk mengimplementasikan tangkapan layar, gerakan mouse, input keyboard, dan tindakan lain berdasarkan permintaan Claude.
Claude Sonnet 3.7 memperkenalkan kemampuan "thinking" baru yang memungkinkan Anda melihat proses penalaran model saat bekerja melalui tugas-tugas kompleks. Fitur ini membantu Anda memahami bagaimana Claude mendekati masalah dan dapat sangat berharga untuk tujuan debugging atau pendidikan.
Untuk mengaktifkan thinking, tambahkan parameter thinking ke permintaan API Anda:
"thinking": {
"type": "enabled",
"budget_tokens": 1024
}Parameter budget_tokens menentukan berapa banyak token yang dapat digunakan Claude untuk thinking. Ini dikurangi dari anggaran max_tokens keseluruhan Anda.
Ketika thinking diaktifkan, Claude akan mengembalikan proses penalarannya sebagai bagian dari respons, yang dapat membantu Anda:
Berikut adalah contoh dari apa yang mungkin terlihat seperti output thinking:
[Thinking]
I need to save a picture of a cat to the desktop. Let me break this down into steps:
1. First, I'll take a screenshot to see what's on the desktop
2. Then I'll look for a web browser to search for cat images
3. After finding a suitable image, I'll need to save it to the desktop
Let me start by taking a screenshot to see what's available...| Parameter | Diperlukan | Deskripsi |
|---|---|---|
type | Ya | Versi alat (computer_20251124, computer_20250124, atau computer_20241022) |
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 |
Jaga resolusi tampilan pada atau di bawah 1280x800 (WXGA) untuk kinerja terbaik. Resolusi lebih tinggi dapat menyebabkan masalah akurasi karena pengubahan ukuran gambar.
Penting: Alat computer use harus dijalankan secara eksplisit oleh aplikasi Anda - Claude tidak dapat menjalankannya secara langsung. Anda bertanggung jawab untuk mengimplementasikan tangkapan layar, gerakan mouse, input keyboard, dan tindakan lain berdasarkan permintaan Claude.
Alat computer use dapat dikombinasikan dengan alat lain untuk membuat alur kerja otomasi yang lebih kuat. Ini sangat berguna ketika Anda perlu:
| Parameter | Diperlukan | Deskripsi |
|---|---|---|
type | Ya | Versi alat (computer_20251124, computer_20250124, atau computer_20241022) |
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 |
Pertahankan resolusi tampilan pada atau di bawah 1280x800 (WXGA) untuk performa terbaik. Resolusi lebih tinggi dapat menyebabkan masalah akurasi karena pengubahan ukuran gambar.
Penting: Alat penggunaan komputer harus dijalankan secara eksplisit oleh aplikasi Anda - Claude tidak dapat menjalankannya secara langsung. Anda bertanggung jawab untuk mengimplementasikan penangkapan tangkapan layar, gerakan mouse, masukan keyboard, dan tindakan lainnya berdasarkan permintaan Claude.
Claude Sonnet 3.7 memperkenalkan kemampuan "thinking" baru yang memungkinkan Anda melihat proses penalaran model saat bekerja melalui tugas-tugas kompleks. Fitur ini membantu Anda memahami bagaimana Claude mendekati masalah dan dapat sangat berharga untuk tujuan debugging atau pendidikan.
Untuk mengaktifkan thinking, tambahkan parameter thinking ke permintaan API Anda:
"thinking": {
"type": "enabled",
"budget_tokens": 1024
}Parameter budget_tokens menentukan berapa banyak token yang dapat digunakan Claude untuk thinking. Ini dikurangkan dari anggaran max_tokens keseluruhan Anda.
Ketika thinking diaktifkan, Claude akan mengembalikan proses penalarannya sebagai bagian dari respons, yang dapat membantu Anda:
Berikut adalah contoh dari apa yang mungkin terlihat seperti output thinking:
[Thinking]
Saya perlu menyimpan gambar kucing ke desktop. Mari saya uraikan ini menjadi langkah-langkah:
1. Pertama, saya akan mengambil tangkapan layar untuk melihat apa yang ada di desktop
2. Kemudian saya akan mencari browser web untuk mencari gambar kucing
3. Setelah menemukan gambar yang sesuai, saya perlu menyimpannya ke desktop
Mari saya mulai dengan mengambil tangkapan layar untuk melihat apa yang tersedia...Alat penggunaan komputer dapat digabungkan dengan alat lain untuk membuat alur kerja otomasi yang lebih kuat. Ini sangat berguna ketika Anda perlu:
Implementasi referensi dimaksudkan untuk membantu Anda memulai dengan penggunaan komputer. Ini mencakup semua komponen yang diperlukan agar Claude dapat menggunakan komputer. Namun, Anda dapat membangun lingkungan Anda sendiri untuk penggunaan komputer sesuai kebutuhan Anda. Anda akan memerlukan:
tool_use menggunakan implementasi alat AndaAlat penggunaan komputer diimplementasikan sebagai alat tanpa skema. Saat menggunakan alat ini, Anda tidak perlu memberikan skema masukan seperti dengan alat lain; skema dibangun ke dalam model Claude dan tidak dapat dimodifikasi.
Saat mengimplementasikan alat penggunaan komputer, berbagai kesalahan dapat terjadi. Berikut cara menanganinya:
Fungsionalitas penggunaan komputer masih dalam beta. Meskipun kemampuan Claude terdepan, pengembang harus menyadari keterbatasannya:
left_mouse_down, left_mouse_up, dan dukungan tombol pengubah baru. Pemilihan sel dapat lebih andal dengan menggunakan kontrol butir halus ini dan menggabungkan tombol pengubah dengan klik.Selalu hati-hati meninjau dan memverifikasi aksi dan log penggunaan komputer Claude. Jangan gunakan Claude untuk tugas yang memerlukan presisi sempurna atau informasi pengguna sensitif tanpa pengawasan manusia.
Fungsionalitas penggunaan komputer masih dalam beta. Meskipun kemampuan Claude terdepan, pengembang harus menyadari keterbatasannya:
left_mouse_down, left_mouse_up, dan dukungan tombol pengubah baru. Pemilihan sel dapat lebih andal dengan menggunakan kontrol butir halus ini dan menggabungkan tombol pengubah dengan klik.Selalu hati-hati meninjau dan memverifikasi aksi dan log penggunaan komputer Claude. Jangan gunakan Claude untuk tugas yang memerlukan presisi sempurna atau informasi pengguna sensitif tanpa pengawasan manusia.
Computer use follows the standard tool use pricing. When using the computer use tool:
System prompt overhead: The computer use beta adds 466-499 tokens to the system prompt
Computer use tool token usage:
| Model | Input tokens per tool definition |
|---|---|
| Claude 4.x models | 735 tokens |
| Claude Sonnet 3.7 (deprecated) | 735 tokens |
Additional token consumption:
If you're also using bash or text editor tools alongside computer use, those tools have their own token costs as documented in their respective pages.
Fungsionalitas penggunaan komputer masih dalam beta. Meskipun kemampuan Claude terdepan, pengembang harus menyadari keterbatasannya:
left_mouse_down, left_mouse_up, dan dukungan tombol pengubah baru. Pemilihan sel dapat lebih andal dengan menggunakan kontrol butir halus ini dan menggabungkan tombol pengubah dengan klik.Selalu hati-hati meninjau dan memverifikasi aksi dan log penggunaan komputer Claude. Jangan gunakan Claude untuk tugas yang memerlukan presisi sempurna atau informasi pengguna sensitif tanpa pengawasan manusia.
Computer use follows the standard tool use pricing. When using the computer use tool:
System prompt overhead: The computer use beta adds 466-499 tokens to the system prompt
Computer use tool token usage:
| Model | Input tokens per tool definition |
|---|---|
| Claude 4.x models | 735 tokens |
| Claude Sonnet 3.7 (deprecated) | 735 tokens |
Additional token consumption:
If you're also using bash or text editor tools alongside computer use, those tools have their own token costs as documented in their respective pages.
Terakhir, harap beri tahu pengguna akhir tentang risiko yang relevan dan dapatkan persetujuan mereka sebelum mengaktifkan penggunaan komputer di produk Anda sendiri.
import anthropic
client = anthropic.Anthropic()
response = client.beta.messages.create(
model="claude-sonnet-4-5", # atau model kompatibel lainnya
max_tokens=1024,
tools=[
{
"type": "computer_20250124",
"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": "Simpan gambar kucing ke desktop saya."}],
betas=["computer-use-2025-01-24"]
)
print(response)1. Berikan Claude dengan alat penggunaan komputer dan prompt pengguna
2. Claude memutuskan untuk menggunakan alat penggunaan komputer
stop_reason dari tool_use, menandakan niat Claude.3. Ekstrak input alat, evaluasi alat di komputer, dan kembalikan hasil
user baru yang berisi blok konten tool_result.4. Claude terus memanggil alat penggunaan komputer sampai menyelesaikan tugas
stop_reason tool_use lain dan Anda harus kembali ke langkah 3.Terakhir, harap informasikan pengguna akhir tentang risiko yang relevan dan dapatkan persetujuan mereka sebelum mengaktifkan computer use di produk Anda sendiri.
import anthropic
client = anthropic.Anthropic()
response = client.beta.messages.create(
model="claude-sonnet-4-5", # atau model kompatibel lainnya
max_tokens=1024,
tools=[
{
"type": "computer_20250124",
"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": "Simpan gambar kucing ke desktop saya."}],
betas=["computer-use-2025-01-24"]
)
print(response)1. Berikan Claude alat computer use dan prompt pengguna
2. Claude memutuskan untuk menggunakan alat computer use
stop_reason dari tool_use, menandakan niat Claude.3. Ekstrak input alat, evaluasi alat di komputer, dan kembalikan hasil
user baru yang berisi blok konten tool_result.4. Claude terus memanggil alat computer use hingga menyelesaikan tugas
stop_reason tool_use lain dan Anda harus kembali ke langkah 3.enable_zoom| Tidak |
Aktifkan tindakan zoom (computer_20251124 hanya). Atur ke true untuk memungkinkan Claude memperbesar wilayah layar tertentu. Default: false |
enable_zoom| Tidak |
Aktifkan tindakan zoom (computer_20251124 hanya). Atur ke true untuk memungkinkan Claude memperbesar wilayah layar tertentu. Default: false |
enable_zoom| Tidak |
Aktifkan tindakan zoom (computer_20251124 hanya). Atur ke true untuk memungkinkan Claude memperbesar wilayah layar tertentu. Default: false |
curl https://api.anthropic.com/v1/messages \
-H "content-type: application/json" \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "anthropic-beta: computer-use-2025-01-24" \
-d '{
"model": "claude-sonnet-4-5",
"max_tokens": 2000,
"tools": [
{
"type": "computer_20250124",
"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"
},
{
"name": "get_weather",
"description": "Get the current weather in a given location",
"input_schema": {
"type": "object",
"properties": {
"location": {
"type": "string",
"description": "The city and state, e.g. San Francisco, CA"
},
"unit": {
"type": "string",
"enum": ["celsius", "fahrenheit"],
"description": "The unit of temperature, either 'celsius' or 'fahrenheit'"
}
},
"required": ["location"]
}
}
],
"messages": [
{
"role": "user",
"content": "Find flights from San Francisco to a place with warmer weather."
}
],
"thinking": {
"type": "enabled",
"budget_tokens": 1024
}
}'enable_zoom| Tidak |
Aktifkan aksi zoom (computer_20251124 saja). Atur ke true untuk memungkinkan Claude melakukan zoom ke wilayah layar tertentu. Default: false |
curl https://api.anthropic.com/v1/messages \
-H "content-type: application/json" \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "anthropic-beta: computer-use-2025-01-24" \
-d '{
"model": "claude-sonnet-4-5",
"max_tokens": 2000,
"tools": [
{
"type": "computer_20250124",
"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"
},
{
"name": "get_weather",
"description": "Get the current weather in a given location",
"input_schema": {
"type": "object",
"properties": {
"location": {
"type": "string",
"description": "The city and state, e.g. San Francisco, CA"
},
"unit": {
"type": "string",
"enum": ["celsius", "fahrenheit"],
"description": "The unit of temperature, either 'celsius' or 'fahrenheit'"
}
},
"required": ["location"]
}
}
],
"messages": [
{
"role": "user",
"content": "Find flights from San Francisco to a place with warmer weather."
}
],
"thinking": {
"type": "enabled",
"budget_tokens": 1024
}
}'Siapkan lingkungan komputasi Anda
Buat tampilan virtual atau sambungkan ke tampilan yang ada yang akan berinteraksi dengan Claude. Ini biasanya melibatkan pengaturan Xvfb (X Virtual Framebuffer) atau teknologi serupa.
Implementasikan penangan aksi
Buat fungsi untuk menangani setiap jenis aksi yang mungkin diminta Claude:
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"])
# ... handle other actionsProses panggilan alat Claude
Ekstrak dan jalankan panggilan alat dari respons Claude:
for content in response.content:
if content.type == "tool_use":
action = content.input["action"]
result = handle_computer_action(action, content.input)
# Return result to Claude
tool_result = {
"type": "tool_result",
"tool_use_id": content.id,
"content": result
}Implementasikan lingkaran agen
Buat lingkaran yang berlanjut sampai Claude menyelesaikan tugas:
while True:
response = client.beta.messages.create(...)
# Check if Claude used any tools
tool_results = process_tool_calls(response)
if not tool_results:
# No more tool use, task complete
break
# Continue conversation with tool results
messages.append({"role": "user", "content": tool_results})Pelajari lebih lanjut tentang penggunaan alat dan membuat alat kustom