Cara Buat AI Agent dengan Claude di VPS
Pelajari cara membangun AI agent mandiri menggunakan Claude Messages API, tool use, dan MCP pada VPS Anda untuk kontrol penuh atas eksekusi tugas.
Apa arti membangun agent dengan Claude
Membangun agent dengan Claude berarti menggunakan Claude sebagai inti penalaran, sementara loop, alat, dan data berada di server Anda sendiri. Claude memutuskan apa yang harus dilakukan; VPS Anda yang menjalankannya. Anda mengirimkan tugas dan status saat ini ke Claude, Claude membalas dengan jawaban atau permintaan untuk menggunakan salah satu alat Anda, kode Anda menjalankan alat tersebut dan mengirimkan hasilnya kembali, dan loop berlanjut hingga tugas selesai. Kecerdasan adalah layanan yang Anda panggil melalui internet. Segala sesuatu di sekitarnya adalah milik Anda.
Pemisahan ini adalah daya tariknya. Anda mendapatkan penalaran tingkat tinggi tanpa harus mengoperasikan model, dan Anda memegang kendali penuh atas apa yang dapat disentuh oleh agent, karena alat-alat tersebut berjalan pada perangkat keras milik Anda. Jika Anda sudah membangun program Claude pertama Anda, panduan aplikasi Claude pertama pada VPS membahas dasar-dasar yang menjadi landasan panduan ini.
Claude adalah otak: Messages API
Setiap panggilan ke Claude melalui satu endpoint, yaitu Messages API. Anda mengirimkan percakapan sejauh ini dan daftar alat yang dapat digunakan agent; Claude mengirimkan pesan berikutnya. Pesan tersebut bisa berupa jawaban akhir atau permintaan untuk memanggil alat. Untuk jalur bangun-sendiri, tidak ada "agent API" terpisah: penggunaan alat adalah fitur dari endpoint tunggal ini, dan loop di sekitarnya adalah tanggung jawab Anda untuk menjalankannya.
Claude bersifat stateless di antara panggilan, yang berarti Claude tidak mengingat apa pun secara mandiri. Setiap permintaan membawa seluruh percakapan. Kode Anda menyimpan riwayat dan mengirimkannya setiap putaran, yang merupakan alasan mengapa setiap putaran dalam sesi panjang memakan lebih banyak token daripada sebelumnya. Ini bukan sekadar batasan melainkan pilihan desain: karena status berada di server Anda, Anda menentukan secara tepat apa yang dilihat Claude, dan tidak ada bagian dari tugas yang disimpan di tempat yang tidak Anda kendalikan.
Penggunaan alat adalah agent loop
Agent loop dengan Claude sangat sederhana untuk dijelaskan. Anda mengirimkan permintaan yang menyertakan alat Anda. Claude membaca tugas tersebut dan, jika perlu bertindak, membalas dengan permintaan penggunaan alat yang menyebutkan nama alat dan mengisi inputnya. Kode Anda menjalankan alat tersebut, lalu mengirimkan hasilnya kembali ke Claude pada permintaan berikutnya. Claude membaca hasilnya dan meminta alat lain atau menulis jawaban akhirnya. Ketika Claude berhenti meminta alat, tugas selesai.
Anda dapat menulis loop tersebut secara manual dalam beberapa baris, dan banyak orang melakukannya karena mudah dilihat dan mudah dikendalikan. SDK resmi juga menyediakan tool runner yang menjalankan loop untuk Anda: Anda menyediakan fungsi alat, dan SDK menangani proses bolak-balik dalam memanggil Claude, menjalankan alat Anda, dan mengirimkan kembali hasilnya hingga Claude selesai. Dengan cara apa pun bentuknya tetap sama. Tool runner hanya membantu Anda agar tidak perlu menulis loop sendiri.
Tiga cara membangun, dan mana yang cocok untuk VPS
Ada tiga cara untuk membangun agent Claude, dan mereka berbeda dalam seberapa banyak mesin yang Anda jalankan.
Pertama adalah kode Anda sendiri yang memanggil Claude API dengan alat Anda sendiri. Anda menulis loop, atau menggunakan tool runner dari SDK, dan Anda menghosting semuanya di VPS Anda. Ini adalah pilihan umum, karena memberikan Anda kendali penuh atas alat, data, dan keamanan, serta berjalan sebagai program biasa di server Anda. Sebagian besar panduan ini mengasumsikan jalur ini.
Kedua adalah Claude Agent SDK. Ini adalah Claude Code, agent pengodingan, yang dikemas sebagai pustaka yang dapat Anda kembangkan. Ini menyertakan loop agent lengkap dan alat bawaan untuk membaca dan menulis file, menjalankan perintah shell, dan melakukan pencarian, sehingga Anda tidak perlu merakitnya dari nol. Ini juga berjalan di server Anda sendiri, yang membuatnya sangat cocok untuk VPS jika Anda menginginkan agent file-dan-shell yang mumpuni tanpa harus membangun kerangka kerja sendiri. Sebuah agent yang membaca file dan menjalankan perintah shell memerlukan pembatasan sebelum dapat bekerja tanpa pengawasan, dan menjalankan Claude Code dengan aman di server membahas sistem izin, sandbox, dan opsi isolasi.
Ketiga adalah Managed Agents, di mana Anthropic menjalankan loop dan menghosting sandbox tempat alat agent dieksekusi. Ini adalah opsi tanpa repot: jauh lebih sedikit hal yang perlu Anda operasikan, tetapi workspace agent berada di infrastruktur Anthropic, bukan di VPS Anda. Gunakan ini jika Anda menginginkan pekerjaan operasional paling sedikit dan tidak perlu menjalankan alat di mesin Anda sendiri. Untuk dua opsi lainnya, server Anda adalah rumah bagi agent, yang merupakan inti dari sisa panduan ini.
Menghubungkan alat dengan MCP
Apa pun jalur yang Anda pilih, Anda akan ingin menghubungkan agent ke sistem nyata, dan Model Context Protocol adalah cara yang rapi untuk melakukannya. MCP adalah standar terbuka untuk mengekspos alat dan data ke sebuah agent. Alih-alih menulis kode integrasi secara manual untuk setiap layanan, Anda mengarahkan Claude ke server MCP yang sudah menyajikan kemampuan tersebut sebagai alat. Anda dapat menjalankan server MCP sebagai layanan kecil di VPS yang sama, masing-masing hanya dengan akses yang dibutuhkan, yang saya bahas dalam menjalankan server MCP di VPS.
Memilih model
Claude hadir dalam beberapa model, dan memilih salah satunya adalah pertukaran antara kemampuan, kecepatan, dan biaya. Pada saat penulisan ini, pilihan utamanya adalah Claude Opus 4.8 (claude-opus-4-8), default yang mumpuni untuk penalaran sulit dan menjalankan agent dalam waktu lama; Claude Sonnet 5 (claude-sonnet-5), opsi seimbang yang lebih murah dan lebih cepat namun tetap mendekati Opus pada banyak tugas; dan Claude Haiku 4.5 (claude-haiku-4-5), yang tercepat dan termurah, untuk langkah-langkah sederhana bervolume tinggi. Di atas mereka terdapat Claude Fable 5 (claude-fable-5), model paling mumpuni, untuk pekerjaan yang paling menuntut. Gunakan pengidentifikasi model yang tepat dalam kode Anda, tanpa menambahkan tanggal.
Pola praktisnya adalah mencampur mereka. Biarkan model yang lebih murah menangani panggilan alat rutin dan model yang lebih kuat menangani keputusan sulit. Karena model hanyalah sebuah string dalam permintaan Anda, beralih model hanya memerlukan perubahan satu baris, jadi mulailah dengan default yang mumpuni dan sesuaikan ke bawah jika kecepatan atau biaya lebih penting daripada kualitas akhir.
Jalankan sebagai layanan yang diperkuat pada VPS Anda
Sebuah agent hanya berguna jika ia tetap berjalan, dan hanya aman jika ia terisolasi. Pada VPS, keduanya berasal dari menjalankan agent sebagai layanan sistem yang diperkuat, bukan sebagai program yang Anda jalankan secara manual di terminal. Sebagai layanan, ia akan berjalan saat booting, memulai ulang jika crash, dan mencatat log ke journal. Dengan penguatan, ia berjalan sebagai pengguna tanpa hak istimewa (unprivileged user) dengan hanya akses yang ia butuhkan, sehingga bug atau instruksi buruk memiliki batasan.
Aturan yang paling penting adalah menjaga kunci Claude API Anda tetap di sisi server. Kunci tersebut membayar dan mengotorisasi setiap panggilan, jadi kunci tersebut harus berada dalam file yang hanya dapat dibaca oleh user agent, dimuat ke dalam layanan sebagai variabel lingkungan, dan tidak pernah diletakkan di dalam kode, di repositori, atau di mana pun browser dapat menjangkaunya. Buatlah unit layanan yang lengkap dan diperkuat untuk agent Anda di sini:
Kemudian selesaikan servernya. Gunakan SSH hanya dengan kunci dan kunci akun yang Anda kelola, seperti dalam penguatan SSH pada VPS. Jika Anda lebih suka menjalankan agent dari sesi interaktif saat sedang membangunnya, menjalankan Claude Code pada VPS dengan tmux adalah pendamping yang baik. Dan jika Anda menginginkan konsep di balik semua ini, tanpa mengaitkannya pada satu model, panduan pendamping tentang membangun agent AI Anda sendiri pada VPS memaparkan fondasinya.
Jika asisten pengodingan terminal adalah yang Anda inginkan, menjalankan agent AI pengodingan pada VPS membahas Aider dan Goose.
FAQ
Model Claude mana yang harus saya gunakan untuk membangun agent?
Mulailah dengan Claude Opus 4.8 (claude-opus-4-8), default yang mumpuni, dan sesuaikan dari sana. Claude Sonnet 5 (claude-sonnet-5) lebih murah dan lebih cepat untuk sebagian besar pekerjaan, Claude Haiku 4.5 (claude-haiku-4-5) terbaik untuk langkah sederhana bervolume tinggi, dan Claude Fable 5 (claude-fable-5) adalah yang paling mumpuni untuk tugas tersulit. Pola yang umum adalah menggunakan model yang lebih murah untuk langkah rutin dan model yang lebih kuat untuk keputusan sulit, karena beralih model hanya memerlukan perubahan satu baris.
Apakah saya menjalankan seluruh agent di VPS saya, atau Anthropic?
Tergantung pada pendekatannya. Jika Anda menulis loop sendiri menggunakan Claude API, atau menggunakan Claude Agent SDK, agent berjalan sepenuhnya di VPS Anda dan hanya panggilan model yang dikirim ke Anthropic. Jika Anda menggunakan Managed Agents, Anthropic menjalankan loop dan menghosting sandbox tempat alat dieksekusi, sehingga lebih sedikit bagian yang berada di server Anda. Untuk agent yang berjalan di mesin Anda sendiri, gunakan salah satu dari dua opsi pertama.
Apa perbedaan antara Claude API dan Claude Agent SDK?
Claude API adalah endpoint Messages mentah: Anda mengirimkan percakapan dan alat, lalu Anda menulis loop agent di sekitarnya, atau menggunakan tool runner dari SDK untuk menjalankannya. Claude Agent SDK adalah pustaka tingkat tinggi, Claude Code yang dikemas untuk pengembangan, yang menyertakan loop lengkap serta alat file, shell, dan pencarian bawaan. Gunakan API jika Anda ingin mendefinisikan semuanya sendiri, dan gunakan Agent SDK jika Anda menginginkan agent yang mumpuni tanpa harus merakit kerangka kerja sendiri.
Bagaimana cara menjaga keamanan kunci Claude API saya di server?
Simpan di sisi server dan jangan masukkan ke dalam kode Anda. Simpan di dalam file yang hanya dapat dibaca oleh akun tempat agent berjalan, muat ke dalam layanan sebagai variabel lingkungan, dan jangan pernah melakukan commit ke repositori atau mengeksposnya ke browser. Karena setiap permintaan ke Claude berasal dari server Anda, kunci tersebut tidak perlu mencapai perangkat pengguna, yang membuat agent yang dijalankan di server lebih mudah diamankan daripada yang tertanam dalam aplikasi klien.
Apakah saya perlu melakukan self-host model untuk membangun agent dengan Claude?
Tidak. Dengan Claude, model adalah layanan terhosting yang Anda panggil melalui API, jadi tidak ada yang perlu dijalankan pada GPU. VPS Anda menjalankan loop agent, alat, dan data, dan penalaran terjadi di sisi Anthropic. Itulah yang memungkinkan server sederhana menjalankan agent yang mumpuni. Jika Anda menginginkan model lokal sepenuhnya sebagai gantinya, itu adalah jalur self-hosted yang dibahas dalam panduan pendamping tentang membangun agent AI Anda sendiri.