Cara Membangun Agent AI dengan Claude di VPS
Pelajari cara menggabungkan Messages API, tool use, dan MCP agar Claude menjadi otak agent, sementara VPS Anda menjalankan tool dan datanya sendiri.
Arti membangun agent dengan Claude
Membangun agent dengan Claude berarti menggunakan Claude sebagai inti penalaran, sementara loop, tool, dan data berada di server Anda sendiri. Claude menentukan tindakan yang perlu dilakukan; VPS Anda menjalankannya. Anda mengirimkan tugas dan status saat ini kepada Claude. Claude membalas dengan jawaban atau permintaan untuk menggunakan salah satu tool Anda. Kode Anda menjalankan tool tersebut dan mengirimkan hasilnya kembali. Loop berlanjut sampai tugas selesai. Kecerdasan tersebut tersedia sebagai layanan yang Anda panggil melalui Internet. Semua komponen di sekitarnya adalah milik Anda.
Pemisahan ini menjadi keunggulannya. Anda mendapatkan kemampuan penalaran tingkat frontier tanpa harus mengoperasikan model. Anda juga tetap memiliki kendali penuh atas hal-hal yang dapat diakses agent karena tool berjalan pada perangkat keras milik Anda. Jika Anda sudah membuat program Claude pertama, panduan aplikasi Claude pertama pada VPS membahas dasar-dasar yang digunakan oleh panduan ini.
Claude adalah otaknya: Messages API
Setiap pemanggilan Claude dilakukan melalui satu endpoint, yaitu Messages API. Anda mengirim percakapan hingga saat ini dan daftar alat yang boleh digunakan agen. Claude mengembalikan pesan berikutnya. Pesan tersebut berupa jawaban akhir atau permintaan untuk memanggil alat. Dalam pendekatan membangun sendiri, tidak ada “agent API” terpisah. Penggunaan alat merupakan fitur dari endpoint tunggal ini, sedangkan loop di sekitarnya harus Anda jalankan sendiri.
Claude tidak memiliki state antar-pemanggilan. Artinya, Claude tidak mengingat apa pun secara mandiri. Setiap request membawa seluruh percakapan. Kode Anda menyimpan riwayat tersebut dan mengirimkannya pada setiap giliran. Inilah alasan setiap giliran dalam sesi panjang membutuhkan lebih banyak token daripada giliran sebelumnya. Ini bukan sekadar keterbatasan, melainkan pilihan desain. Karena state berada di server Anda, Anda dapat menentukan secara tepat hal yang dilihat Claude, dan tidak ada informasi tentang tugas yang disimpan di tempat yang tidak Anda kendalikan. Namun, prompt akan terus bertambah panjang. Claude dapat menangani pertumbuhan tersebut dengan baik melalui context window-nya, tetapi model lokal dalam loop yang sama tidak dapat melakukannya. Karena itu, Ollama memerlukan num_ctx yang lebih besar agar tidak lagi memotong prompt panjang.
Siklus penggunaan tool adalah loop agen
Loop agen dengan Claude mudah dijelaskan. Anda mengirim request yang menyertakan tool Anda. Claude membaca tugas tersebut. Jika perlu bertindak, Claude membalas dengan request penggunaan tool yang menyebutkan nama tool dan mengisi inputnya. Kode Anda menjalankan tool tersebut. Setelah itu, kode mengirimkan hasilnya kembali kepada Claude dalam request berikutnya. Claude membaca hasil tersebut, lalu meminta tool lain atau menulis balasan final. Saat Claude berhenti meminta tool, tugas selesai.
Anda dapat menulis loop tersebut secara manual hanya dalam beberapa baris. Banyak orang melakukan ini karena alurnya mudah dilihat dan dikendalikan. SDK resmi juga menyediakan tool runner yang menjalankan loop tersebut untuk Anda. Anda menyediakan fungsi tool, lalu SDK menangani proses bolak-balik: memanggil Claude, menjalankan tool Anda, dan mengirimkan hasilnya kembali sampai Claude selesai. Apa pun pendekatan yang digunakan, bentuknya tetap sama. Runner hanya menghindarkan Anda dari keharusan menulis loop itu sendiri. Jika loop tersebut masih terasa abstrak, tulis loop minimal terlebih dahulu sebelum menggunakan runner. Langkah inilah yang menjadi dasar untuk semua hal berikutnya dalam jalur bertahap untuk mempelajari AI agent dari awal.
Tiga cara membangun agen, dan mana yang sesuai untuk VPS
Ada tiga cara untuk membangun agen Claude. Perbedaannya terletak pada seberapa banyak komponen yang Anda jalankan sendiri.
Cara pertama adalah menulis kode sendiri yang memanggil Claude API dengan tools Anda sendiri. Anda menulis loop-nya atau menggunakan tool runner dari SDK, lalu menjalankan seluruhnya pada VPS Anda. Ini adalah pilihan yang umum karena memberi Anda kendali penuh atas tools, data, dan keamanan. Agen tersebut juga berjalan sebagai program biasa pada server Anda. Sebagian besar panduan ini mengasumsikan pendekatan ini.
Cara kedua adalah Claude Agent SDK. Ini adalah Claude Code, yaitu coding agent, yang dikemas sebagai library yang dapat Anda gunakan sebagai dasar pengembangan. SDK ini menyediakan agent loop lengkap dan tools bawaan untuk membaca serta menulis file, menjalankan shell commands, dan melakukan pencarian. Dengan demikian, Anda tidak perlu merakit semua komponen tersebut dari awal. SDK ini juga berjalan pada server Anda sendiri. Karena itu, SDK ini sangat sesuai untuk VPS jika Anda menginginkan file-and-shell agent yang mumpuni tanpa harus membangun harness sendiri. Agen yang membaca file dan menjalankan shell commands memerlukan containment sebelum dapat bekerja tanpa pengawasan. Menjalankan Claude Code dengan aman pada server membahas permission system, sandbox, dan opsi isolation.
Cara ketiga adalah Managed Agents. Dalam pendekatan ini, Anthropic menjalankan loop-nya. Secara default, tools agen dijalankan dalam sandbox yang di-host oleh Anthropic. Dengan demikian, workspace agen berada pada infrastruktur Anthropic, bukan pada VPS Anda. Per 11 Oktober 2026, opsi self-hosted sandbox yang masih berstatus beta memungkinkan worker process pada server Anda sendiri menjalankan tool calls, sementara loop tetap dijalankan oleh Anthropic. Gunakan Managed Agents jika Anda menginginkan pekerjaan operasional seminimal mungkin dan tidak perlu menjalankan loop itu sendiri pada mesin Anda. Untuk dua cara lainnya, server Anda menjadi tempat seluruh agen berjalan. Itulah yang dibahas dalam bagian panduan selanjutnya.
Menghubungkan tool dengan MCP
Apa pun jalur yang Anda pilih, Anda perlu menghubungkan agen ke sistem nyata. Model Context Protocol adalah cara yang terstruktur untuk melakukannya. MCP merupakan standar terbuka untuk menyediakan tool dan data bagi agen. Daripada menulis kode integrasi secara manual untuk setiap service, arahkan Claude ke MCP server yang sudah menyediakan kemampuan tersebut sebagai tool. Anda dapat menjalankan MCP server sebagai service kecil pada VPS yang sama. Setiap server hanya diberi akses yang diperlukan. Penjelasan tentang hal ini tersedia di menjalankan MCP server pada VPS.
Memilih model
Claude tersedia dalam beberapa model. Pemilihannya merupakan kompromi antara kemampuan, kecepatan, dan biaya. Per 11 Oktober 2026, lini model saat ini mencakup Claude Opus 5.5 (claude-opus-5-5), yang direkomendasikan Anthropic sebagai titik awal untuk sebagian besar beban kerja dan dirancang untuk coding agentic jangka panjang serta pekerjaan berbasis pengetahuan; Claude Sonnet 5.5 (claude-sonnet-5-5), pilihan seimbang yang lebih murah dan cepat; serta Claude Haiku 5.5 (claude-haiku-5-5), yang paling cepat dan murah untuk langkah-langkah sederhana bervolume tinggi. Di atasnya terdapat Claude Fable 5.1 (claude-fable-5-1), model paling mumpuni yang tersedia bagi semua pelanggan, untuk penalaran yang menuntut dan pekerjaan agentic dengan horizon panjang. Model lama seperti Claude Opus 4.8 dan Claude Fable 5 masih tersedia, tetapi kini tercantum sebagai legacy. Gunakan identifier model yang tepat dalam kode Anda, tanpa menambahkan tanggal.
Pola praktisnya adalah mengombinasikan beberapa model. Biarkan model yang lebih murah menangani pemanggilan tool rutin, sedangkan model yang lebih kuat menangani keputusan sulit. Karena model hanya berupa string dalam request Anda, penggantiannya cukup dilakukan dengan mengubah satu baris. Mulailah dengan default yang mumpuni, lalu gunakan model yang lebih sederhana pada bagian yang lebih memprioritaskan kecepatan atau biaya daripada peningkatan kualitas marginal.
Jalankan sebagai service yang diperkuat di VPS Anda
Agent hanya berguna jika tetap berjalan, dan hanya aman jika dibatasi. Pada VPS, kedua hal tersebut dicapai dengan menjalankan agent sebagai system service yang diperkuat, bukan sebagai program yang Anda jalankan secara manual di terminal. Sebagai service, agent akan start saat boot, restart jika mengalami crash, dan mencatat log ke journal. Dengan konfigurasi yang diperkuat, agent berjalan sebagai user tanpa hak istimewa dan hanya memiliki akses yang diperlukan. Dengan demikian, bug atau instruksi berbahaya memiliki dampak yang terbatas. Unit service dapat membatasi resource yang boleh disentuh proses serta jumlah memory, CPU, dan task yang boleh digunakan. Namun, unit service tidak dapat menilai tindakan yang dipilih agent dengan akses tersebut. Karena itu, pengamanan lainnya harus diterapkan di dalam harness agent itu sendiri. Itulah fungsi plugin DeepSeek Harness yang layak diinstal pada stack yang berbeda: batas pengeluaran, aturan izin per tool, dan pemindaian prompt injection.
Aturan terpenting adalah menyimpan Claude API key di sisi server. Key tersebut membayar dan mengotorisasi setiap call. Karena itu, simpan key dalam file yang hanya dapat dibaca oleh user agent, muat ke dalam service sebagai environment variable, dan jangan pernah menaruhnya di dalam kode, repository, atau lokasi yang dapat dijangkau browser. Buat service unit yang lengkap dan diperkuat untuk agent Anda di sini:
Berikutnya, amankan server itu sendiri. Gunakan SSH hanya dengan key dan batasi account yang Anda gunakan untuk administrasi, seperti dijelaskan dalam hardening SSH pada VPS. Jika Anda lebih memilih mengendalikan agent dari sesi interaktif saat membangunnya, menjalankan Claude Code pada VPS dengan tmux merupakan pendamping yang sesuai. Setelah sesi kedua terbuka pada mesin yang sama, keduanya dapat saling meneruskan pekerjaan sehingga Anda tidak perlu memindahkan setiap instruksi secara manual dari satu pane ke pane lainnya. Jika Anda ingin memahami konsep di balik semua ini tanpa mengaitkannya dengan satu model tertentu, panduan terkait tentang membangun AI agent sendiri pada VPS menjelaskan fondasinya.
Jika yang Anda perlukan adalah asisten coding di terminal, menjalankan AI agent coding pada VPS membahas Aider dan Goose.
FAQ
Model Claude mana yang sebaiknya saya gunakan untuk membangun agent?
Mulailah dengan Claude Opus 5.5 (claude-opus-5-5), yang direkomendasikan Anthropic untuk sebagian besar beban kerja, lalu sesuaikan dari sana. Claude Sonnet 5.5 (claude-sonnet-5-5) lebih murah dan lebih cepat untuk sebagian besar pekerjaan, Claude Haiku 5.5 (claude-haiku-5-5) paling sesuai untuk langkah sederhana bervolume tinggi, sedangkan Claude Fable 5.1 (claude-fable-5-1) 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 penggantiannya hanya memerlukan perubahan satu baris.
Apakah seluruh agent dijalankan di VPS saya, atau oleh Anthropic?
Hal ini bergantung pada pendekatan yang digunakan. Jika Anda menulis loop sendiri menggunakan Claude API atau menggunakan Claude Agent SDK, agent berjalan sepenuhnya di VPS Anda dan hanya pemanggilan model yang dikirim ke Anthropic. Jika Anda menggunakan Managed Agents, Anthropic menjalankan loop tersebut dan secara default menyediakan sandbox tempat tool dieksekusi, sehingga lebih sedikit komponen yang berjalan di server Anda. Opsi sandbox yang di-host sendiri, yang berstatus beta per 11 Oktober 2026, memindahkan eksekusi tool ke mesin Anda sendiri, sementara loop tetap dijalankan oleh Anthropic. Untuk agent yang berjalan sepenuhnya 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 mengirim percakapan dan tool, lalu menulis loop agent di sekitarnya, atau menggunakan tool runner milik SDK untuk menggerakkannya. Claude Agent SDK adalah library tingkat lebih tinggi, yaitu Claude Code yang dikemas untuk pengembangan, yang menyediakan loop lengkap serta tool bawaan untuk file, shell, dan pencarian. Gunakan API jika Anda ingin menentukan semuanya sendiri, dan gunakan Agent SDK jika Anda menginginkan agent yang mumpuni tanpa harus merakit harness sendiri.
Bagaimana cara menjaga keamanan Claude API key di server?
Simpan key di sisi server dan jangan memasukkannya ke dalam kode. Simpan key dalam file yang hanya dapat dibaca oleh account yang digunakan untuk menjalankan agent, muat key ke dalam service sebagai environment variable, dan jangan pernah melakukan commit ke repository atau mengeksposnya ke browser. Karena setiap request ke Claude berasal dari server Anda, key tidak perlu dikirim ke perangkat pengguna. Hal ini membuat agent yang dijalankan di server lebih mudah diamankan daripada agent yang ditanamkan dalam aplikasi client.
Apakah saya perlu melakukan self-host model untuk membangun agent dengan Claude?
Tidak. Pada Claude, model adalah service yang di-host dan diakses melalui API, sehingga tidak ada komponen yang perlu dijalankan pada GPU. VPS Anda menjalankan loop agent, tool, dan data, sedangkan proses reasoning berlangsung di sisi Anthropic. Inilah yang memungkinkan server dengan spesifikasi sederhana menjalankan agent yang mumpuni. Jika Anda menginginkan model yang sepenuhnya lokal, gunakan pendekatan self-hosted yang dibahas dalam panduan pendamping tentang cara membangun AI agent sendiri.