Topik:
 

Pengembangan AI Agent: Panduan Lengkap tentang Skill, Stack Teknologi, dan Alat yang Anda Butuhkan

Oleh: Hobon.id (05/11/2026)
Pengembangan AI Agent: Panduan Lengkap tentang Skill, Stack Teknologi, dan Alat yang Anda ButuhkanDua tahun lalu, membangun agen AI berarti menggabungkan library eksperimental dan berharap model tersebut akan bekerja sama. Saat ini, ada disiplin ilmu yang dapat dikenali dengan stack teknologi yang dapat dikenali, dan orang-orang yang melakukannya dengan baik cenderung memiliki serangkaian keterampilan yang sama. Mereka dapat menulis kode Python yang solid dan JavaScript yang cukup untuk mengirimkan antarmuka. Mereka memahami bagaimana model bahasa utama berbeda dan kapan harus menggunakan yang mana. Mereka tahu cara memberi model alat, mendasarkannya pada data, mengingat hal-hal di seluruh sesi, dan membungkus seluruh sistem dalam API yang dapat diimplementasikan, dipantau, dan dipercaya.

Itu adalah cakupan yang luas, dan saran di internet tentang hal itu tersebar di blog vendor, tutorial framework, dan pembicaraan konferensi yang mengasumsikan kita sudah mengetahui sisanya. Di sini, kami akan menjabarkan tujuh lapisan stack teknologi dalam urutan yang paling sering ditemui oleh developer, yaitu: fondasi, model bahasa, framework, agent skill, database, API, dan deployment.
Advertisement:

Lapisan 1: Fondasi (Python, JavaScript, Git)


Pengembangan agen lebih menghargai dasar-dasar yang kuat daripada trik-trik cerdas. Sebagian besar kegagalan dalam proyek agen nyata adalah kegagalan software biasa, yaitu kesalahan yang tidak ditangani, keadaan yang kusut, dan perubahan yang tidak dapat dilacak siapa pun.


Python


Python adalah bahasa kerja pengembangan AI, dan itu bukan tanpa alasan. Penyedia model utama menerbitkan SDK Python kelas satu. Framework agen terkemuka dimulai dengan Python. Ekosistem data dan machine learning, termasuk library yang akan kita gunakan untuk penyematan, evaluasi, dan pemrosesan data, berada di sana. Jika kita mempelajari satu bahasa untuk pengembangan agen, pilihlah Python.

Yang penting adalah kedalaman di luar dasar-dasar. Kita harus nyaman dengan function, class, dan modul, dengan petunjuk tipe, dan dengan lingkungan virtual dan manajemen dependensi, karena proyek agen menggunakan banyak library yang cepat berubah dan konflik selalu terjadi. Pelajari pemrograman asinkron dengan "async" dan "await" sejak dini. Agen menghabiskan sebagian besar waktunya menunggu panggilan jaringan ke model dan alat, dan kode asinkron memungkinkan satu layanan menangani banyak percakapan sekaligus. Pelajari validasi data dengan library seperti Pydantic, yang banyak digunakan oleh framework agen dan FastAPI untuk mendefinisikan bentuk input alat dan output terstruktur. Dan pelajari pengujian, karena sistem yang perilakunya tidak dapat kita verifikasi adalah sistem yang tidak dapat kita ubah dengan aman.

Alat untuk agen seringkali hanyalah fungsi Python yang ditulis dengan baik. Petunjuk tipe yang jelas dan docstring deskriptif melakukan pekerjaan nyata, karena framework mengubahnya menjadi deskripsi yang dibaca model:

def get_order_status(order_id: str) -> str:
    ""Cari status pengiriman pesanan pelanggan berdasarkan ID pesanannya."""
    order = orders_db.get(order_id)
    if order is None:
        return f"Tidak ada pesanan yang ditemukan dengan ID {order_id}. Minta pelanggan untuk memeriksanya kembali."
    return f"Pesanan {order_id} adalah {order.status}, perkiraan {order.eta}."

Perhatikan bahwa bahkan pesan kesalahan pun ditulis untuk agen, memberi tahu agen apa yang harus dilakukan selanjutnya. Kebiasaan itulah yang membedakan agen yang tangguh dari agen yang rapuh.


JavaScript dan TypeScript


JavaScript, dan khususnya TypeScript, adalah bahasa kedua dalam pengembangan agen. Pengguna bertemu agen melalui antarmuka, dan antarmuka sebagian besar dibangun dengan teknologi web. Jendela obrolan yang menampilkan token saat tiba, dasbor yang menunjukkan kemajuan agen, dan layar tinjauan tempat manusia menyetujui suatu tindakan semuanya membutuhkan keterampilan front-end.

JavaScript juga merupakan bahasa kelas satu di sisi agen. Framework utama memiliki versi JavaScript dan TypeScript: LangChain, misalnya, menawarkan fungsi createAgent yang setara dalam paket JavaScript-nya, dan SDK AI Vercel dibangun untuk aplikasi web TypeScript. Jika tim kita menggunakan Node.js, kita dapat membangun agen yang mumpuni tanpa menyentuh Python. Saran praktisnya adalah mempelajari TypeScript daripada JavaScript biasa, karena tipe data menangkap jenis kesalahan yang muncul saat kita mengirimkan data terstruktur antara model, alat kita, dan antarmuka kita.


Git


Git adalah satu fondasi yang sering diremehkan orang. Proyek agen terus berubah: perintah ditulis ulang, alat ditambahkan, model diganti, dan setiap perubahan dapat mengubah perilaku dengan cara yang sulit diprediksi. Version control memberi kita catatan tentang apa yang berubah, kemampuan untuk mengembalikan ke versi sebelumnya, dan cara untuk meninjau perubahan sebelum mencapai pengguna.

Perlakukan prompt, definisi alat, dan kasus evaluasi sebagai kode dan simpan di repositori. Gunakan cabang untuk eksperimen dan pull request untuk peninjauan. Belajarlah untuk menjaga kerahasiaan, terutama kunci API, agar tidak termasuk dalam commit kita, karena kredensial yang bocor di repositori publik dapat ditemukan oleh pemindai otomatis dalam hitungan menit. Dan hubungkan Git ke pipeline integrasi berkelanjutan sehingga pengujian dan evaluasi berjalan secara otomatis sebelum apa pun dirilis. Jika kita telah membaca tentang memiliki sistem AI kita sendiri daripada menyewa sistem orang lain, ini adalah dasar praktis dari ide tersebut, yaitu aset dalam repositori yang kita kendalikan adalah aset yang dapat kita pindahkan.


Lapisan 2: LLM (OpenAI GPT, Claude, Gemini, Llama)


Model bahasa adalah mesin penalaran agen kita. Setiap keputusan yang dibuat agen, alat mana yang akan dipanggil, bagaimana menafsirkan hasilnya, kapan harus berhenti, semuanya melewatinya. Oleh karena itu, memilih dan menggunakan model dengan baik adalah salah satu keputusan yang paling berpengaruh dalam proyek.


Memikirkan Model


Ada baiknya untuk berhenti berpikir dalam hal "model terbaik" dan mulai berpikir dalam hal kesesuaian. Untuk agen, kualitas yang paling penting adalah pemanggilan alat yang andal, kemampuan untuk mengikuti instruksi yang panjang dan kompleks, kinerja pada perencanaan multi-langkah dan pemulihan kesalahan, ukuran context window, latensi, biaya per token, dan batasan apa pun tentang ke mana data kita dapat pergi. Model yang unggul dalam tolok ukur umum masih bisa menjadi agen yang buruk jika salah menggunakan alat atau kehilangan jejak instruksi selama tugas yang panjang.

Setiap penyedia utama menjual serangkaian model: tingkatan kecil, cepat, dan murah untuk langkah-langkah sederhana atau bervolume tinggi; tingkatan menengah yang seimbang yang menangani sebagian besar pekerjaan; dan tingkatan unggulan untuk penalaran yang paling sulit. Pembuat agen cerdas menggunakan lebih dari satu tingkatan. Model yang murah mengarahkan permintaan dan menangani panggilan alat sederhana, sementara model yang lebih kuat menangani perencanaan dan keputusan yang sulit. Ini menjaga biaya dan latensi tetap terkendali tanpa mengorbankan kualitas di tempat yang paling penting.


Keluarga Utama


Keluarga GPT dari OpenAI adalah yang paling terkenal, dengan kemampuan yang luas, dukungan pemanggilan alat yang kuat, dan ekosistem yang sangat besar. OpenAI mempopulerkan ide pemanggilan fungsi pada tahun 2023, dan model-modelnya tetap menjadi pilihan utama bagi banyak tim. Keluarga Claude dari Anthropic, yang diorganisir ke dalam tingkatan seperti Haiku, Sonnet, dan Opus, banyak digunakan untuk coding dan pekerjaan agenik dan dikenal karena mengikuti instruksi dengan cermat dan kinerja konteks panjang. Keluarga Gemini dari Google menawarkan penalaran yang kuat, context window yang sangat besar, dan kemampuan multimodal asli, dengan tingkatan seperti Flash untuk kecepatan dan Pro untuk kedalaman.

Nama keempat dalam daftar kita, Llama, layak mendapat penjelasan yang lebih cermat karena situasinya telah berubah. Model Llama dari Meta adalah andalan AI bobot terbuka, yang berarti kita dapat mengunduh bobotnya, menjalankannya di infrastruktur kita sendiri, dan menyempurnakannya. Hal itu tetap berlaku untuk rilis Llama yang telah diterbitkan. Namun, pada April 2026 Meta memperkenalkan Muse Spark, model pertama dari Superintelligence Labs barunya dan model Meta pertama tanpa bobot terbuka, meskipun Meta telah menyatakan rencananya untuk membuka kode sumber versi mendatang. Jadi, jika kita ingin membangun model dengan bobot terbuka saat ini, Llama adalah salah satu pilihan di antara beberapa pilihan, bukan satu-satunya. Lini Gemma dari Google, rilis bobot terbuka dari OpenAI, dan model dari Mistral, Qwen dari Alibaba, DeepSeek, dan lainnya semuanya merupakan kandidat serius. Laporan benchmark independen pada akhir Oktober 2026 menggambarkan model yang terikat bobot terbuka, Kimi dari Moonshot, mencetak skor dalam beberapa poin dari model tertutup terbaik, yang menggambarkan seberapa besar kesenjangan tersebut telah menyempit.


Lapisan 3: Framework (LangChain, LangGraph, LlamaIndex)


Kita dapat membangun agen hanya dengan SDK penyedia dan sebuah loop. Untuk banyak proyek sederhana, itu adalah pilihan yang tepat. Framework berperan penting ketika kita perlu mengelola beberapa penyedia, alat, status, pengambilan, dan masalah produksi sekaligus.


LangChain


LangChain adalah salah satu framework agen yang paling banyak digunakan. Dokumentasinya saat ini merangkum filosofinya sebagai "Agen = Model + Harness," di mana harness adalah segala sesuatu di sekitar loop model, seperti: prompt, alat, dan middleware apa pun yang membentuk perilaku. Fungsi utamanya, create_agent, mengambil model, alat, dan prompt sistem dan mengembalikan agen yang berfungsi, dan kita menambahkan kemampuan secara bertahap melalui middleware untuk hal-hal seperti menyunting informasi sensitif, meringkas percakapan panjang, atau memerlukan persetujuan manusia sebelum tindakan berisiko. LangChain menyediakan antarmuka standar di seluruh penyedia model, sehingga mengganti model biasanya hanya perubahan kecil.

LangChain mencapai rilis 1.0 pada Oktober 2025 dengan komitmen untuk menghindari perubahan yang merusak hingga versi 2.0, dan rilis tersebut membersihkan paket dengan memindahkan implementasi rantai lama ke dalam paket langchain-classic yang terpisah. Jika kita menemukan tutorial yang mengimpor rantai lama dari paket utama atau menggunakan create_react_agent dari modul bawaan LangGraph, tutorial tersebut dibuat sebelum pembersihan tersebut, dan yang setara saat ini adalah create_agent.


LangGraph


LangGraph adalah framework orkestrasi tingkat rendah dan runtime untuk membangun agen yang berjalan lama dan memiliki status. Kita memodelkan aplikasi kita sebagai grafik node, edge, dan status bersama, dan LangGraph menyediakan eksekusi yang tahan lama yang bertahan dari kegagalan, persistensi, streaming, dan dukungan interaksi manusia. Kekuatan utamanya adalah kemampuan untuk menggabungkan langkah-langkah deterministik yang dikodekan secara manual dengan langkah-langkah berbasis model dalam satu alur kerja, yang sesuai dengan proses bisnis nyata di mana beberapa tahapan harus dapat diprediksi dan diaudit sementara yang lain membutuhkan fleksibilitas. Agen LangChain dibangun di atas LangGraph, sehingga kita mewarisi properti ini, tetapi kita juga dapat menggunakan LangGraph secara langsung ketika kita memerlukan kontrol eksplisit atas alur kerja.


LlamaIndex


LlamaIndex mendekati masalah dari sisi data. Fokusnya adalah menghubungkan model bahasa dengan informasi kita sendiri, seperti: loader untuk berbagai jenis dokumen, strategi pengindeksan, mesin kueri, dan teknik pengambilan yang dirancang untuk mendapatkan jawaban akurat dari konten yang berantakan dan heterogen. Ia juga menawarkan abstraksi agen dan alur kerja. Ini adalah pilihan yang tepat ketika inti proyek kita adalah pengambilan data dari dokumen yang kompleks, dan dapat digunakan bersama framework lain, bukan sebagai pengganti.


Lapisan 4: Agent Skill


Framework memberi kita struktur. Skill adalah apa yang kita lakukan dengannya. Keenam skill ini, yaitu rekayasa prompt, pemanggilan alat, pemanggilan fungsi, retrieval-augmented generation, memori, dan desain multi-agen, adalah inti dari pengembangan agen, dan di sinilah sebagian besar penilaian rekayasa yang sebenarnya berada.


Prompt Engineering


Prompt bukan hanya teks yang diketik pengguna. Bagi agen, itu adalah konteks lengkap yang diterima model, seperti: instruksi sistem, deskripsi alat, riwayat percakapan, dokumen yang diambil, dan contoh. Prompt engineering adalah keahlian merancang konteks tersebut sehingga model berperilaku baik di seluruh rentang input yang akan dihadapinya.

Prompt sistem yang baik mendefinisikan peran dan tujuan agen, menggambarkan seperti apa keberhasilan itu, menyatakan batasan dan kendala, mengatakan kapan harus meminta bantuan daripada menebak, dan menjelaskan cara menggunakan alat. Prompt tersebut spesifik dan bukan samar, dan diuji dan bukan hanya dipercaya. Contoh yang sedikit, di mana kita menunjukkan kepada model seperti apa respons yang baik, tetap menjadi salah satu teknik yang paling efektif. Meminta output terstruktur, seperti JSON yang sesuai dengan skema, membuat respons cukup andal untuk dikonsumsi oleh kode. Memisahkan instruksi tepercaya dari konten yang tidak tepercaya, seperti teks yang diambil dari halaman web, merupakan pertahanan penting terhadap injeksi prompt.

Bidang ini juga telah bergeser ke arah ide yang lebih luas yang sering disebut context engineering, yaitu memutuskan informasi apa yang masuk ke context window, dalam urutan apa, dan pada waktu apa, karena model dapat kehilangan fokus ketika konteksnya terlalu besar atau kontradiktif. Tim AI terapan Anthropic, misalnya, telah menjelaskan pengurangan prompt sistem secara drastis untuk model yang lebih baru karena keterampilan dan alat sekarang dapat dimuat hanya ketika dibutuhkan, dan telah memperingatkan terhadap apa yang disebutnya "Frankenprompt," di mana banyak tim terus menambahkan aturan yang akhirnya saling bertentangan. Pelajarannya adalah bahwa yang lebih pendek, lebih bersih, dan lebih terorganisir seringkali lebih baik daripada yang lebih panjang dan lebih rumit.

Perlakukan prompt sebagai kode. Simpan dalam version control, uji terhadap serangkaian contoh tetap, dan ukur apakah perubahan tersebut benar-benar membantu.


Tool Calling dan Function Calling


Kedua istilah ini sering digunakan secara bergantian, dan perbedaannya sebagian besar bersifat historis. Function calling adalah nama yang diberikan OpenAI pada tahun 2023 untuk kemampuan model yang mengembalikan permintaan terstruktur untuk memanggil fungsi yang kita definisikan. Tool calling adalah istilah yang lebih luas yang sekarang digunakan di seluruh penyedia, mencakup fungsi, tetapi juga alat bawaan seperti pencarian web, eksekusi kode, dan akses file.

Mekanismenya sama di mana-mana, dan memahaminya menghilangkan banyak misteri. Kita mendeskripsikan setiap alat ke model, biasanya dengan nama, deskripsi, dan skema JSON untuk inputnya. Ketika model memutuskan bahwa suatu alat dibutuhkan, ia tidak menjalankan apa pun. Ia mengeluarkan permintaan terstruktur yang menyebutkan nama alat dan argumennya. Kode kita, atau framework, memvalidasi permintaan, mengeksekusi fungsi sebenarnya, dan mengembalikan hasilnya ke model sebagai pesan baru. Model kemudian memutuskan apa yang harus dilakukan selanjutnya, dan siklus berlanjut.

Merancang alat dengan baik adalah bagian utama dari pekerjaan ini. Berikan setiap alat tujuan yang sempit dan jelas serta nama yang tepat. Tulis deskripsi yang menjelaskan fungsi alat dan kapan harus menggunakannya. Buat input sulit disalahgunakan, dengan menggunakan enumerasi dan nama parameter yang jelas. Kembalikan hasil yang ringkas dan bermanfaat, alih-alih memasukkan data mentah ke dalam konteks. Tulis pesan kesalahan yang membantu agen pulih. Dan jaga agar kumpulan alat tetap kecil: Anthropic telah mencatat bahwa pemilihan alat model cenderung menurun setelah kita memberikannya sekitar 30 hingga 50 definisi alat, itulah mengapa pemuatan alat sesuai permintaan dan library skill yang terorganisir dengan baik sangat penting. Selalu validasi argumen dan terapkan izin dalam kode kita sendiri, karena permintaan model hanyalah saran, bukan jaminan.


Retrieval-Augmented Generation (RAG)


Model tidak mengetahui data pribadi kita, dan pengetahuan mereka berhenti pada batas pelatihan. RAG mengatasi kedua batasan tersebut dengan mengambil informasi yang relevan pada saat pertanyaan diajukan dan menempatkannya dalam prompt, sehingga model menjawab dari sumber-sumber spesifik.

Prosesnya memiliki empat tahap. Kita memasukkan dokumen dan membaginya menjadi potongan-potongan dengan ukuran yang wajar. Kita mengubah setiap potongan menjadi embedding, sebuah vektor yang menangkap maknanya, dan menyimpannya dalam indeks vektor. Pada saat kueri diajukan, kita menyematkan pertanyaan dan mengambil potongan-potongan yang paling mirip. Terakhir, kita memberikan potongan-potongan tersebut kepada model bersama dengan pertanyaan dan memintanya untuk menjawab dari potongan-potongan tersebut, idealnya dengan mengutip sumber.

Sebagian besar masalah kualitas RAG berasal dari detailnya. Ukuran potongan dan tumpang tindih menentukan apakah bagian yang diambil lengkap dan terfokus. Model embedding yang sama harus digunakan untuk dokumen dan kueri, karena mencampur model secara diam-diam menurunkan hasil. Pencarian hibrida, yang menggabungkan kesamaan semantik dengan pencocokan kata kunci, seringkali mengungguli salah satu metode saja. Pengurutan ulang hasil yang diambil dengan model yang lebih kuat meningkatkan presisi. Dan potongan data yang hampir duplikat akan memperbesar indeks dan membingungkan pencarian, jadi lakukan deduplikasi. Yang terpenting, evaluasi pencarian secara terpisah dari pembuatan: pertama periksa apakah bagian yang tepat ditemukan, kemudian periksa apakah jawabannya sesuai dengan bagian tersebut.

Dalam agen, RAG seringkali menjadi lebih fleksibel: alih-alih selalu mencari sebelum menjawab, agen memiliki alat pencarian dan memutuskan kapan harus menggunakannya, apa yang harus dicari, dan apakah akan mencari lagi dengan kueri yang lebih baik. Ini lebih fleksibel dan lebih mahal, jadi gunakan alur kerja tetap yang lebih sederhana ketika tugas tidak membutuhkan fleksibilitas tersebut.


Memori


Sebuah model tidak mengingat apa pun di antara panggilan selain apa yang ada dalam konteksnya. Segala sesuatu yang tampaknya diingat oleh agen adalah hasil rekayasa yang disengaja, dan itu datang secara berlapis.

Memori jangka pendek adalah konteks percakapan atau tugas saat ini. Seiring pertumbuhannya, kita harus mengelolanya, dengan ringkasan yang memadatkan giliran sebelumnya, memangkas keluaran alat yang tidak relevan, dan aturan yang jelas tentang apa yang harus selalu tetap terlihat. Memori jangka panjang bertahan di seluruh sesi, seperti: preferensi pengguna, fakta yang dipelajari, keputusan masa lalu, dan catatan yang ditulis agen untuk dirinya sendiri. Biasanya disimpan dalam database atau file dan diambil ketika relevan, terkadang melalui pencarian semantik yang sama yang mendukung RAG. Para peneliti meminjam istilah dari memori manusia di sini, berbicara tentang memori episodik untuk apa yang terjadi, memori semantik untuk fakta, dan memori prosedural untuk cara melakukan sesuatu, dan analogi ini merupakan petunjuk desain yang berguna meskipun tidak sempurna.

Memori membawa risiko. Memori yang diambil dapat usang atau salah, dan catatan yang salah dapat memperkuat kesalahan mereka sendiri. Penyimpanan data pribadi menimbulkan pertanyaan tentang privasi dan kepatuhan, jadi putuskan apa yang akan disimpan, berapa lama, dan bagaimana pengguna dapat melihat dan menghapusnya. Jelaskan secara eksplisit apa yang diingat oleh agen, daripada berasumsi bahwa ingatan akan berfungsi dengan sendirinya.


Sistem Multi-Agen


Sistem multi-agen menggunakan beberapa agen, masing-masing dengan peran, alat, dan konteksnya sendiri, yang dikoordinasikan menuju tujuan bersama. Pola umum meliputi orchestrator yang memecah tugas menjadi beberapa bagian dan mendelegasikannya ke agen pekerja, agen paralel yang mengeksplorasi berbagai arah sekaligus, dan agen peninjau yang memeriksa pekerjaan agen lain. Protokol seperti Agent2Agent memungkinkan agen yang dibangun oleh tim atau perusahaan yang berbeda untuk saling menemukan dan bertukar tugas.


Lapisan 5: Database (Pinecone, ChromaDB, FAISS, PostgreSQL)


Agen membutuhkan tempat untuk menyimpan pengetahuan dan status. Lapisan database adalah tempat penyimpanan data pengambilan, memori, dan operasional, dan pilihan di sini memengaruhi biaya, kinerja, dan seberapa banyak infrastruktur yang harus kita jalankan.


Memahami Pencarian Vektor


Model penyematan mengubah teks, dan semakin banyak gambar dan media lainnya, menjadi vektor, daftar angka yang diposisikan sehingga makna yang serupa berada berdekatan. Database atau indeks vektor menyimpan vektor-vektor ini dan menemukan vektor terdekat dengan vektor kueri dengan cepat, yang merupakan cara kerja pencarian semantik. Karena perbandingan tepat terhadap jutaan vektor lambat, sebagian besar sistem menggunakan algoritma tetangga terdekat perkiraan yang mengorbankan sedikit akurasi untuk peningkatan kecepatan yang besar. Di luar vektor, kita hampir selalu membutuhkan metadata, seperti sumber dokumen, tanggal, dan izin akses, sehingga kita dapat memfilter hasil.


Pinecone


Pinecone adalah database vektor yang dikelola sepenuhnya. Kita membuat indeks, memperbarui vektor dengan metadata, dan melakukan kueri melalui API, dengan penyedia menangani penskalaan, penyimpanan, dan infrastruktur. Daya tariknya adalah kesederhanaan operasional: kita tidak menjalankan database, menyetel indeks, atau mengelola kapasitas. Kompromi yang ada adalah kompromi umum untuk layanan terkelola, termasuk biaya berkelanjutan yang meningkat seiring penggunaan, ketergantungan pada vendor, dan data kita berada di infrastruktur orang lain.


ChromaDB


Chroma adalah database penyematan open source yang bertujuan untuk memudahkan pencarian vektor bagi developer. Ia dapat dijalankan di dalam proses kita sendiri untuk pembuatan prototipe, sebagai server terpisah, dan melalui penawaran cloud yang dihosting, dan API-nya yang sederhana menjadikannya favorit untuk tutorial, pengembangan lokal, dan proyek kecil hingga menengah. Untuk mempelajari RAG dan membangun prototipe, sulit untuk mengalahkannya. Pada skala yang lebih besar, kita harus mengevaluasi apakah karakteristik operasionalnya sesuai dengan kebutuhan kita.


FAISS


FAISS, singkatan dari Facebook AI Similarity Search, adalah library open source dari Meta untuk pencarian kesamaan dan pengelompokan vektor padat yang efisien. Penting untuk dipahami bahwa FAISS adalah library, bukan database. Ia menyediakan algoritma pengindeksan dan pencarian cepat yang dapat kita sematkan dalam aplikasi kita, tetapi secara bawaan tidak menyediakan persistensi terkelola, penyaringan metadata yang kaya, kontrol akses, atau server. Kita membangun fitur-fitur tersebut di sekitarnya, atau menggunakan pembungkus framework. FAISS sangat baik ketika kita menginginkan kontrol dan kinerja maksimal, ketika data kita sesuai dengan satu mesin, atau ketika kita ingin menghindari menjalankan layanan lain, dan ia merupakan mesin di dalam beberapa alat lain.


PostgreSQL


PostgreSQL layak mendapat perhatian khusus karena mungkin merupakan pilihan paling praktis untuk banyak proyek agen. Dengan ekstensi pgvector, Postgres dapat menyimpan embedding bersama data reguler kita dan mencarinya dengan indeks perkiraan seperti HNSW dan IVFFlat. Keuntungan besarnya adalah konsolidasi. Database yang sama dapat menyimpan pengguna, percakapan, pesanan, titik pemeriksaan agen, dan vektor kita, sehingga kita dapat menggabungkan pencarian semantik dengan filter dan penggabungan SQL biasa, menegakkan izin di satu tempat, dan mengoperasikan satu sistem alih-alih dua. LangGraph dan framework serupa juga menawarkan persistensi berbasis Postgres untuk status agen.

Kelemahannya adalah database serbaguna mungkin tidak sesuai dengan penyimpanan vektor khusus pada koleksi yang sangat besar atau volume kueri yang sangat tinggi, meskipun untuk sebagian besar aplikasi nyata, itu lebih dari cukup. Pilihan default yang wajar adalah memulai dengan Postgres dan pgvector dan beralih ke database vektor khusus hanya ketika kita memiliki bukti bahwa kita membutuhkannya.


Lapisan 6: API (REST, GraphQL, MCP)


Agen yang tidak dapat mengakses apa pun di luar konteksnya sendiri adalah chatbot. API adalah cara agen membaca dan bertindak terhadap dunia, dan cara API tersebut dirancang dan diekspos sangat berpengaruh pada seberapa baik agen menggunakannya.


API REST


REST adalah gaya dominan untuk API web, dan sebagian besar alat yang dipanggil agen kita akan berupa pembungkus di sekitar endpoint REST, seperti: catatan CRM, kalender, sistem pembayaran, tiket, dan layanan internal. Sebuah alat mungkin hanya menerjemahkan permintaan terstruktur model ke dalam panggilan HTTP dan mengembalikan respons dalam bentuk yang dapat dibaca oleh model.

Desain REST yang ramah agen akan membuahkan hasil. Gunakan nama sumber daya yang jelas dan perilaku yang konsisten. Kembalikan pesan kesalahan yang bermanfaat yang memberi tahu pemanggil apa yang salah dan bagaimana memperbaikinya. Dukung paginasi dan pemfilteran sehingga agen tidak menarik respons yang sangat besar ke dalam konteksnya. Buat operasi penulisan bersifat idempoten jika memungkinkan, sehingga panggilan yang dicoba ulang tidak membuat duplikat, dan perlukan konfirmasi untuk tindakan yang merusak. Terapkan otentikasi dan izin hak akses minimal, karena agen bertindak dengan kredensial apa pun yang kita berikan. Ingatlah bahwa respons yang kita kembalikan menjadi bagian dari konteks model, jadi ringkas dan relevan lebih baik daripada lengkap dan bertele-tele.


GraphQL


GraphQL memungkinkan klien untuk meminta bidang yang tepat yang dibutuhkannya dalam satu permintaan terhadap skema bertipe. Bagi agen, ini menarik. Skema bertipe kuat mudah dijelaskan ke model, dan satu kueri fleksibel dapat menggantikan beberapa panggilan REST. Beberapa tim mengekspos skema GraphQL melalui sejumlah kecil alat yang dibatasi sehingga agen dapat mengkueri data tanpa memerlukan lusinan endpoint.

Namun, ada juga jebakannya. Kueri terbuka dapat mahal, jadi kita memerlukan batasan kedalaman, kontrol biaya, dan otorisasi pada tingkat bidang. Memberikan agen akses tak terbatas ke bahasa kueri yang ampuh dapat mengejutkan kita. Pola yang lebih aman adalah membungkus GraphQL dalam alat dengan kueri yang telah ditentukan dan divalidasi daripada membiarkan model menulis kueri sembarangan.


MCP, Model Context Protocol


Setiap integrasi dulunya bersifat kustom, yaitu lapisan penghubung yang berbeda untuk setiap kombinasi model dan layanan. Model Context Protocol, atau MCP, menstandarkan hal ini. Server MCP mengekspos kemampuan dalam format umum, host yang kompatibel dapat menemukan dan menggunakannya, dan kita membangun integrasi sekali saja, bukan sekali per aplikasi.

MCP mendefinisikan tiga jenis kemampuan. Alat adalah fungsi yang dapat dipanggil oleh model, sumber daya adalah data yang dapat dibaca oleh aplikasi, dan perintah adalah templat yang dapat dipanggil oleh pengguna. Pesan dikodekan sebagai JSON-RPC 2.0. Untuk transportasi, MCP mendukung stdio untuk proses lokal dan HTTP Streamable untuk server jarak jauh, dengan framework otorisasi berbasis OAuth untuk mengamankan akses jarak jauh. MCP sekarang diatur di bawah Agentic AI Foundation di dalam Linux Foundation, bersama dengan protokol Agent2Agent, yang memberikan tata kelola netral.

Untuk pengembangan agen, MCP penting dalam dua arah. Sebagai konsumen, agen kita dapat terhubung ke server MCP yang ada untuk database, sistem file, pelacak masalah, dan banyak layanan lainnya, memperoleh kemampuan tanpa kode kustom. Sebagai penyedia, kita dapat mengekspos sistem kita sendiri melalui server MCP sehingga agen yang kompatibel dapat menggunakannya. Protokol yang terkait erat, Agent2Agent, menangani komunikasi antar agen itu sendiri, sehingga model mental umum adalah bahwa MCP adalah cara agen mengambil alatnya dan A2A adalah cara agen berkomunikasi dengan rekan-rekannya.
Advertisement:

Lapisan 7: Deployment (Docker, FastAPI, Vercel, AWS)


Agen yang berfungsi di laptop kita belum dikirim. Deployment adalah tempat keandalan, keamanan, biaya, dan pengamatan menjadi nyata, dan di sinilah banyak prototipe yang menjanjikan terhenti.


Docker


Docker mengemas aplikasi kita dan semua yang dibutuhkannya ke dalam kontainer yang berjalan dengan cara yang sama di mana pun. Untuk agen, ini memecahkan banyak masalah praktis. Dependensi untuk library AI berat dan sensitif terhadap versi, dan kontainer membekukan kumpulan kerja. Citra yang sama berjalan dalam pengembangan, staging, dan produksi, yang menghilangkan "berfungsi di mesin saya." Dan kontainer memberi kita unit yang diketahui platform cloud cara menjalankannya, menskalakannya, dan menggantinya.

Kontainer minimal untuk layanan agen Python terlihat seperti ini:

FROM python:3.12-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
COPY . .
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"]

Praktik yang baik sangat penting di sini. Jalankan sebagai pengguna non-root, berikan rahasia saat runtime melalui variabel lingkungan atau pengelola rahasia daripada memasukkannya ke dalam image, jaga agar ukuran image tetap kecil, dan tambahkan endpoint pemeriksaan kesehatan. Jika agen kita menjalankan kode yang dihasilkan oleh model, jalankan kode tersebut di sandbox terisolasi, seperti kontainer terpisah dengan izin terbatas dan tanpa akses ke jaringan sensitif, karena kode yang ditulis oleh model harus diperlakukan sebagai tidak tepercaya.


FastAPI


FastAPI adalah framework Python paling populer untuk mengubah agen menjadi layanan web. Framework ini cepat, dibangun di atas Python asinkron, dan menggunakan Pydantic untuk validasi, yang sesuai dengan data terstruktur yang sudah digunakan agen. FastAPI juga secara otomatis menghasilkan dokumentasi API interaktif, yang memudahkan pengembang front-end dan layanan lain untuk mengintegrasikannya.

Bagi agen, kemampuan terpenting adalah streaming. Model menghasilkan token teks satu per satu, dan menampilkan token saat tiba membuat antarmuka terasa jauh lebih responsif. Endpoint streaming yang disederhanakan terlihat seperti ini:

from fastapi import FastAPI
from fastapi.responses import StreamingResponse
from pydantic import BaseModel

app = FastAPI()

class ChatRequest(BaseModel):
    message: str
    thread_id: str

@app.post("/chat")
async def chat(req: ChatRequest):
    async def event_stream():
        # run_agent adalah fungsi Anda sendiri yang menghasilkan potongan data dari agen
        async for chunk in run_agent(req.message, req.thread_id):
            yield f"data: {chunk}nn"
    return StreamingResponse(event_stream(), media_type="text/event-stream")

Di sekitar inti tersebut, layanan produksi membutuhkan otentikasi, pembatasan laju, validasi input, batas waktu, dan pencatatan terstruktur. Tugas agen yang berjalan lama tidak boleh menahan permintaan HTTP terbuka selama beberapa menit. Sebaliknya, terima permintaan tersebut, kembalikan pengidentifikasi tugas, jalankan pekerjaan di pekerja latar belakang atau antrian, dan biarkan klien melakukan polling, berlangganan aliran data, atau menerima webhook ketika tugas selesai.


Vercel


Vercel adalah platform yang sangat terkait dengan framework front-end, terutama Next.js, dan merupakan tempat yang sangat baik untuk sisi pengguna dari aplikasi agen: antarmuka obrolan, dasbor, dan layar persetujuan. Platform ini menawarkan fungsi serverless untuk logika backend yang ringan, pengiriman global, penerapan pratinjau untuk setiap perubahan, dan SDK AI untuk membangun antarmuka AI streaming dalam TypeScript.

Ketahui batasannya untuk agen. Fungsi serverless memiliki durasi eksekusi maksimum yang bergantung pada paket dan konfigurasi kita, yang membuatnya kurang cocok untuk agen yang berjalan selama beberapa menit atau memegang koneksi jangka panjang, jadi periksa batasan saat ini sebelum kita berkomitmen. Untuk pekerjaan agen yang berat atau berjalan lama, pola umum adalah menjaga antarmuka di Vercel dan menjalankan backend agen di tempat lain, seperti dalam kontainer di penyedia cloud. Periksa juga ketentuan paket kita: paket Hobby Vercel dibatasi untuk penggunaan pribadi non-komersial, jadi apa pun yang menghasilkan uang memerlukan paket berbayar.


AWS


AWS menawarkan banyak cara untuk menjalankan agen, dan cara yang tepat bergantung pada seberapa banyak kendali yang kita inginkan. Kita dapat menjalankan kontainer FastAPI kita pada layanan kontainer terkelola, menggunakan fungsi tanpa server untuk tugas-tugas singkat, atau menggunakan layanan terkelola untuk lapisan model. AWS juga menawarkan opsi yang dirancang khusus, Amazon Bedrock AgentCore, yang tersedia secara umum pada Oktober 2025. Runtime-nya menyediakan lingkungan hosting tanpa server untuk agen yang dibangun dengan framework apa pun, termasuk LangGraph dan CrewAI, dan bekerja dengan model apa pun, baik dari Amazon Bedrock, Anthropic, Google, atau OpenAI. Setiap sesi pengguna berjalan dalam microVM terisolasi yang dihentikan dan dibersihkan setelahnya, beban kerja dapat berjalan hingga delapan jam, dan runtime mendukung komunikasi melalui MCP dan A2A. Layanan AgentCore terkait mencakup memori, identitas, browser terkelola, dan interpreter kode.

Platform agen terkelola dapat menghemat upaya yang signifikan pada isolasi, identitas, dan penskalaan, dengan mengorbankan keterikatan kita pada layanan vendor, jadi terapkan pemikiran portabilitas yang sama seperti yang dibahas sebelumnya. Simpan logika agen kita dalam kode framework yang kita kendalikan dan perlakukan platform sebagai tempat untuk menjalankannya. Selalu periksa harga terkini, karena penetapan harga berbasis konsumsi untuk agen yang berjalan lama dapat berperilaku berbeda dari yang kita harapkan.


Mengoperasikan Agen dalam Lingkungan Produksi


Deployment adalah awal dari operasi, bukan akhir. Beberapa praktik memisahkan agen yang dapat diandalkan dari agen yang rapuh.

Observabilitas adalah yang utama. Rekam jejak setiap langkah: panggilan model, panggilan alat dengan argumen dan hasil, latensi, token, dan biaya. Alat seperti LangSmith dan sistem berbasis OpenTelemetry ada untuk ini, dan tanpa jejak, debugging sistem nondeterministik hanyalah tebakan. Evaluasi adalah langkah selanjutnya: bangun serangkaian tugas realistis, jalankan secara teratur, dan terutama sebelum mengubah prompt, alat, atau model, sehingga regresi dapat terdeteksi sebelum pengguna menemukannya. Pengamanan sangat penting: batasi izin secara ketat, perlukan persetujuan manusia untuk tindakan yang tidak dapat dibatalkan, batasi langkah, token, dan pengeluaran, dan perlakukan konten apa pun dari luar sebagai tidak tepercaya, karena injeksi prompt adalah serangan nyata pada agen yang membaca halaman web, email, dan dokumen. Dan kendalikan biaya dengan caching, perutean model, dan anggaran, karena agen yang berulang dapat dengan cepat menghabiskan biaya yang besar.


Jadi, pengembangan AI agent tampak menakutkan sebagai daftar alat, tetapi sebenarnya ini adalah satu ide yang diekspresikan di beberapa lapisan. Model bahasa berjalan dalam siklus, menggunakan alat, memanfaatkan data, mengingat apa yang penting, dan dibungkus dalam perangkat lunak yang membuatnya andal dan aman. Python dan JavaScript memungkinkan kita membangunnya, Git menjaganya tetap terkendali, model menyediakan kecerdasan, kerangka kerja mengatur pekerjaan, keterampilan agen membentuk perilaku, basis data menyimpan pengetahuan, API dan MCP menghubungkannya ke dunia, dan Docker, FastAPI, Vercel, dan AWS menempatkannya di hadapan pengguna.
Artikel Terkait: