Cara membuat AI agent di VPS sendiri
Pelajari konsep dasar membangun AI agent di VPS, mulai dari mekanisme loop, penggunaan tools, implementasi MCP, hingga manajemen memory untuk sistem mandiri.
Apa itu AI agent sebenarnya
AI agent adalah sebuah loop yang membungkus model bahasa. Model tersebut membaca situasi, memutuskan satu tindakan, kode Anda menjalankan tindakan tersebut, hasilnya dikirim kembali ke model, dan loop berjalan lagi hingga tugas selesai. Itulah konsep utamanya. Chatbot biasa hanya menjawab satu kali lalu berhenti. Agent terus berjalan, melakukan tindakan nyata di antara setiap putarannya, hingga mencapai tujuan yang Anda berikan.
Tindakan adalah bagian yang penting. Secara mandiri, model bahasa hanya menghasilkan teks. Model tersebut tidak dapat membaca file, memanggil API, atau menjalankan perintah. Agent memberikan model sekumpulan alat yang diizinkan untuk digunakan, serta cara untuk memintanya. Saat model ingin mencari di web atau menulis file, model tersebut tidak melakukan pekerjaan itu sendiri. Model mengeluarkan permintaan terstruktur, kode Anda menjalankan alat tersebut, dan jawabannya kembali sebagai hal berikutnya yang dibaca model. Model menyediakan penilaian; server Anda menyediakan tangan untuk bekerja.
Tidak semua tugas membutuhkan agent, dan menggunakan agent secara default adalah kesalahan umum. Jika langkah-langkahnya sudah diketahui sebelumnya, skrip biasa lebih sederhana, lebih cepat, dan lebih andal. "Ambil halaman ini setiap jam dan kirimkan harga melalui email ke saya" adalah pekerjaan terjadwal, bukan agent. Bangunlah agent ketika jalurnya tidak tetap sejak awal, ketika model harus melihat apa yang ditemukan dan memutuskan apa yang harus dilakukan selanjutnya. Biaya dari sebuah agent adalah ketidakpastian, jadi gunakanlah hanya ketika fleksibilitasnya sebanding dengan biayanya.
Tools: bagaimana agent bertindak
Tool adalah kemampuan apa pun yang Anda berikan kepada model, yang dijelaskan dengan cukup baik sehingga model tahu kapan harus menggunakannya. Membaca file, menjalankan perintah shell, melakukan query database, mengirim pesan: masing-masing adalah tool dengan nama, deskripsi singkat, dan daftar input. Anda mendefinisikan tool; model memutuskan kapan harus memanggilnya.
Mekanismenya sama di mana saja, apa pun model yang Anda gunakan. Model mengembalikan permintaan terstruktur yang menyebutkan nama tool dan mengisi inputnya. Kode Anda melihat permintaan tersebut, menjalankan fungsi yang sesuai, dan mengirimkan hasilnya kembali pada putaran berikutnya. Model membaca hasil tersebut dan kemudian memanggil tool lain atau menulis jawaban akhirnya. Function calling adalah sistem dasar di balik setiap agent, dan loop yang menggerakkannya hanyalah beberapa baris kode biasa.
Di sinilah kendali Anda berada. Model dapat meminta untuk menjalankan perintah, tetapi tidak ada yang berjalan sampai kode Anda memilih untuk menjalankannya. Celah tersebut adalah tempat Anda menempatkan prompt persetujuan untuk tindakan berbahaya, batasan pada apa yang boleh disentuh oleh tool, dan log dari semua yang dilakukan agent. Keamanan sebuah agent hanya seaman tool yang Anda berikan dan pemeriksaan yang Anda pasang di depannya.
MCP: cara standar untuk menghubungkan tools
Menulis integrasi baru secara manual untuk setiap layanan akan sangat melelahkan. Model Context Protocol, atau MCP, adalah standar terbuka yang menyelesaikan masalah ini. Alih-alih mengodekan tool baru untuk file, database, dan issue tracker Anda, Anda mengarahkan agent ke server MCP yang sudah menyediakan hal-hal tersebut sebagai tool. Agent berbicara dalam satu protokol; server melakukan pekerjaan untuk berkomunikasi dengan sistem yang sebenarnya.
Hasilnya adalah penggunaan kembali (reuse). Server MCP yang ditulis orang lain untuk layanan yang Anda gunakan akan tersedia bagi agent Anda tanpa kode integrasi baru, dan server yang Anda tulis dapat digunakan oleh agent mana pun yang mendukung protokol tersebut. Pada VPS, hal ini penting, karena Anda dapat menjalankan server MCP sebagai layanan kecil tersendiri di samping agent, masing-masing dengan akses terbatas sesuai kebutuhan. Saya membahas pengaturannya dalam running MCP servers on a VPS.
Memory dan retrieval
Model bahasa tidak memiliki memori sendiri di antara panggilan. Segala hal yang ia ketahui tentang tugas saat ini harus diberikan kepadanya pada setiap putaran. Untuk tugas singkat hal ini tidak masalah, karena seluruh percakapan muat dalam satu permintaan. Untuk tugas yang lebih panjang, Anda harus mengelola memori sendiri, dan ada dua pola yang perlu diketahui.
Yang pertama adalah scratchpad. Anda memberikan agent sebuah file yang dapat ia baca dan tulis, lalu memerintahkannya untuk mencatat apa yang ia pelajari saat proses berjalan. Pada putaran berikutnya, atau sesi berikutnya, ia membaca kembali file tersebut dan melanjutkan dari posisi terakhir. Ini adalah memori dalam bentuk dokumen biasa, dan ini berfungsi karena agent memperlakukan file tersebut sebagai tool lainnya.
Yang kedua adalah retrieval. Ketika agent membutuhkan pengetahuan dari sekumpulan dokumen besar yang tidak akan muat dalam satu permintaan, Anda menyimpan dokumen tersebut dalam bentuk yang dapat dicari dan hanya mengambil bagian yang relevan ke dalam tampilan model saat dibutuhkan. Pola ini disebut retrieval-augmented generation, atau RAG. Agent mengajukan pertanyaan, kode Anda menemukan beberapa bagian yang cocok, dan hanya bagian itulah yang dikirim ke model. Penyimpanan berada di server Anda, sehingga dokumen pribadi Anda tidak pernah meninggalkan server tersebut.
Banyak agent, satu koordinator
Satu agent dengan banyak tool sudah cukup untuk sebagian besar tugas. Ketika sebuah pekerjaan besar atau secara alami terbagi menjadi beberapa bagian, bentuk yang berbeda akan lebih membantu: agent koordinator yang mendelegasikan tugas ke sub-agent khusus. Koordinator memecah tujuan menjadi bagian-bagian, menyerahkan setiap bagian ke sub-agent yang dibangun untuk jenis pekerjaan tersebut, dan menggabungkan hasilnya.
Keuntungannya adalah fokus. Sub-agent dengan tugas sempit dan set tool yang kecil membuat keputusan yang lebih baik daripada satu generalis yang menangani segalanya, dan bagian-bagian independen dapat berjalan secara bersamaan. Biayanya adalah koordinasi, yang merupakan hal nyata, jadi tetaplah gunakan satu agent sampai sebuah tugas jelas membutuhkan lebih banyak. Mulailah dengan sederhana, dan tambahkan agent hanya ketika satu agent sudah terlihat kewalahan.
Self-hosted atau hosted: model mana yang menjalankan agent Anda
Model adalah satu bagian dari agent yang tidak harus Anda jalankan sendiri, dan memilih di mana model tersebut berada adalah keputusan terbesar yang akan Anda buat. Model hosted, yang diakses melalui API, memberikan penalaran terkuat tanpa perlu pengoperasian: Anda mengirim teks, Anda menerima teks kembali. Model self-hosted berjalan di server Anda sendiri, yang menjaga setiap permintaan tetap pribadi, biayanya tetap (flat price) alih-alih biaya per token, dan tidak bergantung pada ketersediaan pihak lain. Pertukarannya adalah kapabilitas dan upaya. Model hosted terbaik lebih maju daripada apa yang dapat Anda jalankan sendiri, dan menjalankan model sendiri berarti harus menyediakan memori yang cukup untuk menampungnya.
Poin terakhir adalah kendala praktisnya. Sebuah model harus muat dalam memori server Anda, dan jika Anda menggunakan GPU, harus muat dalam memori videonya. Model yang terlalu besar untuk perangkat keras tidak akan dapat dimuat. Sebelum Anda merencanakan agent self-hosted, periksa apakah model yang Anda inginkan muat di mesin yang Anda miliki:
Jika angkanya tidak cocok, Anda memiliki tiga pilihan: pilih model yang lebih kecil, gunakan kuantisasi yang lebih agresif untuk memperkecil ukurannya, atau gunakan API hosted untuk penalaran dan simpan hanya tool serta data Anda di server. Banyak agent self-hosted dimulai dengan model lokal melalui Ollama on a VPS dan beralih ke API hosted untuk langkah-langkah yang paling sulit.
Server adalah bagian yang berbahaya
Agent yang dapat menjalankan perintah shell dan menulis file sangatlah kuat, dan itulah alasan mengapa ia berbahaya. Penilaian model memang baik tetapi tidak sempurna, dan instruksi yang buruk, bug, atau input berbahaya dapat mengubah agent yang membantu menjadi agent yang menghapus hal yang salah atau membocorkan rahasia. Pekerjaan keamanan bukanlah pilihan, dan pada server, itulah bagian yang paling penting.
Beberapa kebiasaan sangat menentukan keamanan. Jalankan agent sebagai user unprivileged khusus, jangan pernah sebagai root, agar kesalahan memiliki batasan; alasan yang sama dibahas dalam running services as an unprivileged user. Jauhkan rahasianya, seperti API key, dari kode dan hanya dapat dibaca oleh user tersebut. Dan lakukan sandboxing pada tool yang menyentuh sistem, sehingga agent hanya dapat menjangkau apa yang benar-benar ia butuhkan. Untuk contoh penerapan pengamanan agent self-hosted yang nyata, lihat running OpenClaw safely on a VPS. Jika Anda lebih memilih menggunakan model hosted untuk kecerdasannya, panduan pendamping tentang building an agent with Claude on a VPS menggunakan ide yang sama dengan menerapkan model spesifik di baliknya.
Untuk contoh penerapan, building an OpenClaw-style personal agent menerapkan bagian-bagian ini, dan jika Anda lebih memilih menjalankan yang sudah jadi, mulailah dengan self-hosting Hermes Agent on a VPS atau running Agent Zero on your own server, dan the best self-hosted AI agents in 2026 membandingkan setiap opsi siap pakai yang kami bahas secara berdampingan.
FAQ
Apa perbedaan antara AI agent dan chatbot?
Chatbot menjawab sebuah pesan lalu berhenti. Agent menjalankan sebuah loop: model memutuskan sebuah tindakan, kode Anda menjalankannya, hasilnya dikirim kembali ke model, dan ia mengulanginya hingga tugas selesai. Perbedaannya adalah agent melakukan tindakan nyata di antara putarannya, memanggil tool untuk membaca file, menjalankan perintah, atau melakukan query layanan, alih-alih hanya menghasilkan teks.
Apakah saya butuh GPU untuk menjalankan AI agent di VPS?
Hanya jika Anda melakukan self-host model tersebut. Loop agent, tool, dan memori adalah kode biasa yang berjalan lancar di VPS normal tanpa GPU. GPU penting ketika Anda ingin menjalankan model bahasa di perangkat keras Anda sendiri, karena model tersebut harus muat di dalam memori. Jika Anda menggunakan model hosted melalui API, komputasi berat terjadi di tempat lain dan VPS sederhana sudah cukup.
Apa itu MCP dan apakah saya membutuhkannya untuk membangun agent?
MCP, Model Context Protocol, adalah standar terbuka untuk menghubungkan agent ke tool dan sumber data. Anda tidak secara mutlak membutuhkannya, karena Anda dapat menulis setiap tool secara manual. MCP menghemat pekerjaan tersebut dengan memungkinkan Anda menggunakan kembali server yang sudah ada untuk layanan umum dan mengekspos sistem Anda sendiri satu kali untuk digunakan oleh agent mana pun. Ini adalah kemudahan yang akan terasa berharga seiring bertambahnya jumlah integrasi.
Apakah aman memberikan akses ke server saya kepada AI agent?
Bisa saja aman, jika Anda membatasinya. Agent yang menjalankan perintah hanya seaman akun tempat ia berjalan dan tool yang Anda izinkan. Jalankan ia sebagai user unprivileged, jaga agar rahasianya tidak terjangkau, lakukan sandboxing pada tool yang menyentuh filesystem, dan wajibkan persetujuan untuk tindakan yang sulit dibatalkan. Perlakukan agent sebagai kode tidak tepercaya yang kebetulan cerdas, dan berikan hanya apa yang dibutuhkan oleh tugas tersebut.