Daftar Isi
Pemanfaatan Model Bahasa Besar dalam Pengembangan Agen AI
Dalam diskusi ini, kita akan membahas agen yang memanfaatkan Model Bahasa Besar (LLM) untuk mengarahkan alur aplikasi. LLM menentukan langkah berikutnya, dan agen menjalankan alat sesuai arahan LLM. Saya tidak akan membahas perdebatan mengenai istilah “agen” untuk aplikasi yang memanggil LLM dan layanan hilir melalui alur kode yang telah ditentukan. Topik ini sudah dibahas dengan baik dalam literatur yang ada, seperti tulisan LangChain. Ketika saya menyebut “agen AI” atau hanya “agen,” yang dimaksud adalah aplikasi yang beroperasi dengan cara ini: Agen memiliki serangkaian alat yang telah ditentukan, yang untuk saat ini dapat dianggap sebagai API. Setiap kali LLM memberikan instruksi, agen bersiap untuk eksekusi alat. Agen mungkin mencari konfirmasi pengguna sebelum menjalankan alat. Setelah eksekusi, agen memperbarui konten yang diberikan kepada LLM untuk siklus berikutnya.
Komponen dan Antarmuka dalam Pengembangan Agen AI
Sebagai pengembang agen AI, Anda perlu membangun dan mengintegrasikan komponen-komponen ini. Ini adalah model mental saya untuk agen AI. Dalam sisa tulisan ini, saya akan membahas setiap komponen secara lebih rinci. Pada titik ini, Anda mungkin sudah memahami dasar-dasar bagaimana LLM berfungsi: ia memproses input sebagai urutan token dan menghasilkan konten, biasanya sebagai urutan token. Token output berasal dari konten luas yang telah dilatih oleh model (seperti seluruh internet). Meskipun pelatihan model ini bukan fokus kita di sini, bahasa input dan output adalah. Pertimbangkan beberapa skenario: antarmuka ke LLM adalah bahasa untuk input dan output. Sebagai pengembang agen AI, Anda menentukan antarmuka ini. Biasanya, input mencakup bahasa alami yang mengungkapkan tujuan agen—ingat poin ini. Sekarang, mari kita bahas antarmuka untuk alat. Pada akhirnya, alat menjadi pemanggilan layanan dengan input dan output yang terdefinisi dengan baik, dijelaskan melalui spesifikasi seperti OpenAPI, GraphQL SDL, atau Protobuf untuk gRPC. Namun ada lebih dari itu—bahasa memainkan peran penting. Agar LLM dapat menentukan alat mana yang akan dieksekusi dan dalam urutan apa, ia harus mengaitkan kata-kata terkait tujuan dengan alat yang sesuai. Ini dicapai dengan mengaitkan serangkaian kata dengan setiap alat—setiap alat akan memiliki deskripsi bahasa alami tentang: Protokol Konteks Model (MCP) telah menjadi standar untuk spesifikasi alat. Tujuan harus dirinci dan diekspresikan dalam bahasa yang memungkinkan LLM dengan mudah mengaitkannya dengan alat yang tersedia. Meskipun LLM unggul dalam menavigasi sinonim dan frasa alternatif—salah satu keuntungan utama sistem agenik dibandingkan pengalaman berbasis formulir yang kaku—semakin dekat bahasa tujuan Anda dengan deskripsi alat, semakin baik hasilnya.
Rekayasa Prompt dan Daya Tahan dalam Sistem Agen Chatbot AI
Untuk memulai loop agenik, tujuan, deskripsi alat, dan konteks tambahan (yang akan saya jelaskan sebentar lagi) diberikan kepada LLM, yang mengembalikan output yang menunjukkan alat mana yang akan dipanggil. Mari kita bahas persiapan output tersebut untuk pemanggilan alat. Pertimbangkan contoh konkret: tujuannya adalah mencari penerbangan, memesan satu, dan membebankan biaya kepada pengguna. Dengan tujuan yang dirancang dengan baik, setelah pemanggilan, LLM akan memutuskan bahwa langkah pertama adalah mencari penerbangan yang relevan menggunakan alat pencarian penerbangan. Alat ini memerlukan argumen seperti kota keberangkatan dan tujuan serta tanggal perjalanan. Sebelum menjalankan alat, agen harus mengumpulkan argumen ini dan menyusunnya untuk pemanggilan yang tepat. Agen menangani persiapan ini.
Proses persiapan dapat bervariasi. Jika perlu, seperti dalam contoh di atas, mungkin akan menyajikan pengguna dengan formulir untuk memberikan informasi yang diperlukan atau terlibat dalam obrolan untuk mengumpulkan data; yang terakhir digambarkan dalam diagram berikut. Bagian kiri bawah menunjukkan loop acara utama, dengan loop lain untuk persiapan eksekusi alat. Dalam loop kedua ini, LLM di sebelah kiri menghasilkan prompt untuk membimbing pengguna menuju input yang diperlukan, dan LLM di sebelah kanan (yang menyerupai alat yang saya gunakan sebagai LLM!! 👀) memvalidasi respons pengguna. Struktur agen ini tidak bersifat preskriptif—Anda memutuskan struktur agen Anda—tetapi saya menemukan model mental loop acara utama berguna untuk menjaga agen yang terstruktur dengan baik. Setelah semua input dikumpulkan, API dipanggil, memerlukan data terstruktur. Apa cara yang lebih baik untuk mengubah data tidak terstruktur (“Saya ingin pergi dari LAX ke Toronto pada 16 April”) menjadi bentuk terstruktur ({ “keberangkatan” : “LAX“, “tujuan” : “YYZ“, “tanggal” : “2025-04-16” }) daripada LLM? Anda mencapai ini dengan memberikan instruksi tambahan kepada LLM. Misalnya, loop kanan atas mungkin menyertakan instruksi seperti “setelah Anda mengumpulkan semua input yang diperlukan untuk alat saat ini, susun sebagai JSON, menggunakan nama parameter dari deskripsi alat.” Ingat remah roti sebelumnya yang menyarankan LLM akan mengambil konteks di luar tujuan dan deskripsi alat? Ini adalah contoh yang sempurna. Sebagai pengembang agen, bermanfaat untuk memiliki LLM melakukan banyak pekerjaan, dan semakin banyak instruksi dan konteks yang Anda berikan, semakin baik.