Bagaimana konten ini?
- Pelajari
- Bangun Agen AI yang Menskalakan: Arsitektur Nirserver di AWS
Bangun Agen AI yang Menskalakan: Arsitektur Nirserver di AWS
Membangun perangkat lunak di era AI generatif menghadirkan sebuah paradoks. Di satu sisi, model pengetahuan terdepan telah menjadi sangat canggih sehingga pembuatan versi awal aplikasi yang ditenagai AI mungkin hanya melibatkan sedikit lebih banyak pemanggilan API obrolan sederhana (dan agen pengodean menulis sebagian besar kode!). Di sisi lain, tingkat akurasi, performa, dan optimisasi biaya yang diperlukan oleh aplikasi AI tingkat produksi sering kali melibatkan arsitektur teknis yang kompleks.
Kompleksitas ini muncul sebagian karena algoritma AI generatif bersifat probabilistik, alih-alih deterministik. Untuk mengurangi varians dalam output model dan meningkatkan keandalan, developer menggunakan teknik seperti memberikan contoh seperti apa respons yang 'baik' atau termasuk informasi tambahan ('konteks'), yang dapat dipertimbangkan model saat menghasilkan output. Akibatnya, kode aplikasi yang ditenagai AI dengan cepat menjadi jauh lebih kompleks dibandingkan panggilan sederhana ke API obrolan model. Minimal, developer perlu menambahkan setidaknya satu lapisan penyajian data yang mencakup panggilan ke basis data khusus untuk membangun konteks yang akan ditunjukkan ke model.
Namun, kompleksitas tidak berhenti di situ. Ketika developer menambahkan kemampuan lainnya ke aplikasi yang ditenagai AI mereka, mereka akan sering menemukan bahwa hal ini membutuhkan konteks yang berbeda dan serangkaian prompt yang berbeda. Jadi developer—yang tertarik pada abstraksi—akan mengatur kode yang mendukung kemampuan yang berbeda ini menjadi modul mandiri. Dalam AI, tipe pola desain ini dikenal sebagai ‘agen.’
Agen berkumpul: mengatasi kompleksitas dalam AI generatif
Agen adalah modul kode yang menggunakan model AI generatif untuk melakukan tugas tertentu secara otonom. Agen dapat bertindak sendiri atau bersama dengan agen lain. Mereka juga dapat memanggil 'alat' yang biasanya berupa API atau fungsi yang disertakan dalam konteks yang tersedia untuk agen. Hasil bersih dari pendekatan agentik untuk desain perangkat lunak ini adalah rekayasa konteks—proses pengambilan data relevan yang dibutuhkan agen untuk menyelesaikan tugasnya—menjadi lebih kompleks. Selanjutnya, agen itu sendiri sering kali perlu berjalan secara asinkron di luar aplikasi utama (ini terutama berlaku untuk agen yang memerlukan akses ke data sensitif). Hal ini dapat memerlukan pengelolaan lingkungan runtime serta kredensial yang sepenuhnya terpisah.
Aplikasi AI agentik yang tipikal dapat dibagi menjadi komponen-komponen berikut:
- Model AI generatif, yang biasanya mencakup model bahasa besar (LLM) dan API yang menyediakan akses ke sana.
- Kerangka kerja perangkat lunak, yang menyediakan abstraksi yang nyaman ke API model tingkat rendah, dan kit pengembangan perangkat lunak untuk membangun agen dan melakukan banyak operasi akses data yang diperlukan untuk rekayasa konteks.
- Komponen penyajian data, yang menyediakan informasi yang termasuk dalam konteks yang diberikan kepada agen. Hal ini dapat terdiri dari berbagai penyimpanan data yang berbeda (sistem manajemen basis data relasional, basis data NoSQL, dll.), tetapi akan hampir selalu menyertakan beberapa bentuk layanan pencarian semantik. Untuk aplikasi agentik, ini biasanya dipindahkan ke penyimpanan vektor, yang menyimpan representasi numerik dari data teks yang disebut sematan.
- Lingkungan runtime untuk agen. Untuk aplikasi agentik sederhana, agen dapat berjalan dalam proses dengan kode aplikasi. Namun, dalam kebanyakan kasus, agen perlu berjalan di ruang proses mereka sendiri, sandbox dari aplikasi utama.
Seperti halnya semua arsitektur perangkat lunak yang membutuhkan banyak komponen yang bekerja bersama, ada sejumlah besar pekerjaan berat yang tidak terdiferensiasi yang diperlukan untuk memastikan komponen-komponen ini tangguh, redundan, dan beperforma tinggi. Untungnya, aplikasi AI agentik mendapat manfaat dari arsitektur native cloud yang sama dengan aplikasi tradisional. Arsitektur nirserver sangat menarik untuk aplikasi AI agentik, dan AWS menawarkan berbagai penawaran nirserver yang memungkinkan developer membangun aplikasi AI agentik dengan cepat, mudah, serta hemat biaya.
Inferensi dalam bertindak
Mari kita mulai dengan komponen yang paling terkenal: model AI generatif itu sendiri. Istilah untuk penyajian model adalah 'inferensi' dan untuk inferensi nirserver, Amazon Bedrock menyediakan layanan terkelola untuk menjalankan serta mengakses model fondasi AI generatif. Hal ini berkisar dari LLM pengetahuan terdepan seperti Claude Anthropic, model berbasis ucapan seperti Amazon Nova Sonic, hingga model bobot terbuka dari OpenAI dan Mistral, yang semuanya dapat diakses melalui API terpadu.
Berikutnya, inferensi. Ini biasanya kompleks dan membutuhkan perangkat keras khusus seperti GPU dan pemahaman mendalam tentang kerangka kerja jaringan tingkat rendah yang memungkinkan klaster GPU untuk berkomunikasi satu sama lain. Secara tradisional, hal ini telah menciptakan tantangan operasional serta penghalang aksesibilitas, terutama bagi startups. Amazon Bedrock membantu memecahkan hambatan ini, karena pengguna hanya perlu mempelajari cara menggunakan API solusi.
Sematan yang cerdas: Basis Pengetahuan dan penyimpanan vektor
Selain inferensi dan penyajian model, Amazon Bedrock juga memiliki dukungan penuh untuk komponen penyajian data yang paling umum dalam tumpukan AI agentik. Basis Pengetahuan Amazon Bedrock, misalnya, dapat digunakan untuk pencarian semantik, yang melibatkan pencarian kumpulan dokumen yang secara semantik mirip dengan teks dalam kueri. Hal ini sangat penting dalam kasus ketika agen AI membutuhkan informasi tambahan dalam konteksnya.
Misalnya, agen layanan pelanggan mungkin perlu berkonsultasi dengan dokumen FAQ yang sesuai dengan informasi yang diminta pelanggan, misalnya 'Bagaimana cara mengubah alamat yang terkait dengan akun saya?’ Menggunakan Basis Pengetahuan Amazon Bedrock, dokumen FAQ dapat diindeks untuk pencarian semantik dengan menyimpannya di bucket Amazon S3 dan mengonfigurasi bucket tersebut sebagai sumber data untuk Basis Pengetahuan Bedrock. Layanan menangani 'potongan' dokumen (memecah dokumen menjadi bagian-bagian yang lebih kecil), 'vektorisasi' setiap potongan (membuat sematan numerik teks), serta menyimpan dan menghubungkan potongan dan sematan satu sama lain sehingga potongan yang relevan dapat dikembalikan dalam kueri semantik.
Setelah sematan-sematan ini dibuat, mereka perlu disimpan dalam basis data khusus untuk sematan, atau penyimpanan vektor. Basis Pengetahuan Amazon Bedrock mendukung beberapa opsi penyimpanan vektor, termasuk Amazon S3 Vectors, basis data vektor nirserver yang dibuat ke dalam Amazon S3. Tipe lapisan penyajian data ini dikenal sebagai Retrieval Augmented Generation (RAG), dan mudah diimplementasikan menggunakan Basis Pengetahuan Amazon Bedrock, S3, dan S3 Vectors. Hal ini memungkinkan developer untuk fokus pada fungsionalitas agen AI mereka, alih-alih mengelola infrastruktur penyajian data yang kompleks.
Membangun, menjalankan, menskalakan
Setelah sematan disimpan dan dapat diakses melalui penyimpanan vektor, langkah berikutnya adalah menjalankan agen AI yang menggunakan data ini. Amazon Bedrock AgentCore menyediakan lingkungan runtime nirserver untuk developer. Agen dapat dibangun menggunakan kerangka kerja seperti LangChain, Strands, atau bahkan sesuatu yang dibuat sendiri. Developer kemudian dapat mengemas agen dalam arsip zip dan memuatnya ke S3. Alternatifnya, mereka dapat membuat gambar kontainer serta mendorongnya ke Amazon Elastic Container Registry (ECR). Setelah kode mereka berada di S3 atau ECR, mereka dapat mengonfigurasi AgentCore untuk menjalankan agen mereka di cloud, tanpa perlu mengelola server. AgentCore juga menangani proses operasional seperti autentikasi, mendukung peran AWS Identity and Access Management bawaan, atau Token Web JSON untuk masuk melalui penyedia identitas korporat.
Amazon Bedrock dan AgentCore menawarkan banyak kemampuan nirserver lainnya, tetapi tiga kemampuan yang dirinci dalam artikel ini memberikan titik awal yang ideal untuk mengembangkan aplikasi AI agentik dengan dukungan penuh untuk RAG. Pertama, Amazon Bedrock untuk inferensi dengan berbagai pilihan model; kedua, Basis Pengetahuan Amazon Bedrock dan S3 Vectors untuk pengindeksan dokumen serta pencarian semantik; dan terakhir, Amazon AgentCore untuk menjalankan agen dengan cara yang aman dan hemat biaya.
Mengembangkan aplikasi AI agentik secara tradisional merupakan hal yang kompleks dan menantang, terutama bagi startups yang sering beroperasi dengan sumber daya terbatas. Arsitektur nirserver mengurangi kompleksitas ini dengan menghilangkan kebutuhan para rekayasawan untuk membangun dan mengelola infrastruktur yang mendasarinya. Baik Anda seorang developer AI agentik berpengalaman maupun baru memulai, Amazon Bedrock menyediakan serangkaian alat serta layanan komprehensif untuk membantu Anda membangun dan menskalakan dengan keyakinan.
Siap untuk mulai membangun AI agentik di AWS? AWS Activate menawarkan akses ke Kredit AWS yang dapat digunakan untuk menutupi biaya solusi yang tercakup dalam artikel ini, serta berbagai layanan lainnya. Sejak didirikan pada tahun 2013, AWS Activate telah memberikan kredit lebih dari 8 miliar USD untuk startups di seluruh dunia. Para pendiri juga mendapat manfaat dari program dan sumber daya, dukungan teknis, bimbingan bisnis, dan koneksi yang lebih dekat dengan komunitas startup global. Bergabunglah dengan jutaan orang lainnya serta temukan cara untuk mewujudkan ide Anda dari konsep hingga siap cloud.
Bagaimana konten ini?