Meningkatkan Agen AI: Pergeseran ke MCP Stateful pada Amazon Bedrock
Agen AI berkembang pesat, namun potensi penuhnya seringkali terhambat oleh implementasi stateless, terutama dalam skenario yang menuntut interaksi pengguna real-time, pembuatan konten dinamis, atau pembaruan kemajuan berkelanjutan. Pengembang yang membangun agen AI canggih sering menghadapi tantangan ketika alur kerja perlu dijeda, mengumpulkan klarifikasi, atau melaporkan status selama operasi yang berjalan lama. Sifat eksekusi stateless yang kaku dan satu arah membatasi pengembangan aplikasi AI yang benar-benar interaktif dan responsif.
Kini, Amazon Bedrock AgentCore Runtime memperkenalkan kemampuan klien Model Context Protocol (MCP) stateful yang inovatif, mengubah cara agen AI berinteraksi dengan pengguna dan model bahasa besar (LLM). Pembaruan penting ini membebaskan agen dari batasan komunikasi stateless, memungkinkan alur kerja yang kompleks, multi-giliran, dan sangat interaktif. Dengan mengintegrasikan fitur klien MCP yang krusial – Elicitation, Sampling, dan Notifikasi Kemajuan – Runtime AgentCore Bedrock memfasilitasi percakapan dua arah antara server dan klien MCP, membuka jalan bagi solusi AI yang lebih cerdas dan berpusat pada pengguna.
Dari Stateless ke Stateful: Membuka Kunci Alur Kerja Agen Interaktif
Sebelumnya, dukungan server MCP pada AgentCore beroperasi dalam mode stateless, di mana setiap permintaan HTTP berfungsi secara independen, tanpa konteks bersama. Meskipun ini menyederhanakan deployment untuk server alat dasar, ini sangat membatasi skenario yang membutuhkan kesinambungan percakapan, klarifikasi pengguna di tengah alur kerja, atau pelaporan kemajuan real-time. Server tidak dapat mempertahankan alur percakapan di seluruh permintaan yang terpisah, menghambat pengembangan agen yang benar-benar interaktif.
Kedatangan kemampuan klien MCP stateful secara fundamental mengubah paradigma ini. Dengan mengatur stateless_http=False selama startup server, Runtime AgentCore menyediakan microVM khusus untuk setiap sesi pengguna. MicroVM ini bertahan selama durasi sesi—hingga 8 jam, atau 15 menit tidak aktif per pengaturan idleRuntimeSessionTimeout—memastikan isolasi CPU, memori, dan sistem berkas antar sesi. Kontinuitas dipertahankan melalui header Mcp-Session-Id, yang disediakan server selama inisialisasi dan disertakan klien dalam semua permintaan berikutnya untuk diarahkan kembali ke sesi yang sama. Lingkungan khusus dan persisten ini memungkinkan agen untuk mengingat konteks, meminta masukan pengguna, menghasilkan konten LLM dinamis, dan memberikan pembaruan berkelanjutan.
Tabel berikut merangkum perbedaan utama antara mode stateless dan stateful:
| Mode stateless | Mode stateful | |
|---|---|---|
Pengaturan stateless_http | TRUE | FALSE |
| Isolasi sesi | MicroVM khusus per sesi | MicroVM khusus per sesi |
| Masa pakai sesi | Hingga 8 jam; batas waktu idle 15 menit | Hingga 8 jam; batas waktu idle 15 menit |
| Kemampuan klien | Tidak didukung | Elicitation, sampling, notifikasi kemajuan |
| Direkomendasikan untuk | Layanan alat sederhana | Alur kerja interaktif, multi-giliran |
Ketika sesi berakhir atau server dimulai ulang, permintaan berikutnya dengan ID sesi awal akan mengembalikan 404. Pada saat itu, klien harus menginisialisasi ulang koneksi untuk mendapatkan ID sesi baru dan memulai sesi baru. Perubahan konfigurasi untuk mengaktifkan mode stateful adalah satu flag dalam startup server Anda:
mcp.run( transport="streamable-http", host="0.0.0.0", port=8000, stateless_http=False # Aktifkan mode stateful)
Di luar flag ini, ketiga kemampuan klien akan tersedia secara otomatis setelah klien MCP menyatakan dukungannya untuk kemampuan tersebut selama jabat tangan inisialisasi.
Pembahasan Mendalam Kemampuan Klien Baru: Elicitation, Sampling, dan Progress
Dengan transisi ke mode stateful, Runtime AgentCore Amazon Bedrock membuka tiga kemampuan klien yang kuat dari spesifikasi MCP, masing-masing dirancang untuk mengatasi pola interaksi berbeda yang krusial untuk agen AI canggih. Kemampuan ini mengubah eksekusi perintah satu arah yang kaku menjadi dialog dua arah yang lancar antara server MCP dan klien yang terhubung. Penting untuk dicatat bahwa fitur-fitur ini bersifat opt-in, artinya klien mendeklarasikan dukungan mereka selama inisialisasi, dan server hanya boleh menggunakan kemampuan yang telah diiklankan oleh klien yang terhubung.
Elicitation: Mengaktifkan Masukan Pengguna Dinamis pada Agen AI
Elicitation menjadi fondasi AI interaktif, memungkinkan server MCP untuk secara bijaksana menghentikan eksekusinya dan meminta masukan terstruktur dan spesifik dari pengguna melalui klien. Kemampuan ini memberdayakan alat untuk mengajukan pertanyaan yang tepat pada saat-saat yang tepat dalam alur kerjanya, baik untuk mengkonfirmasi keputusan, mengumpulkan preferensi pengguna, atau mengumpulkan nilai yang berasal dari operasi sebelumnya. Server memulai ini dengan mengirimkan permintaan JSON-RPC elicitation/create, yang menyertakan pesan yang mudah dibaca manusia dan requestedSchema opsional yang menggambarkan struktur respons yang diharapkan.
Spesifikasi MCP menyediakan dua mode yang kuat untuk elicitation:
- Mode Form: Ini ideal untuk mengumpulkan data terstruktur langsung melalui klien MCP, seperti parameter konfigurasi, preferensi pengguna, atau konfirmasi sederhana di mana data sensitif tidak terlibat.
- Mode URL: Untuk interaksi yang memerlukan proses out-of-band yang aman, seperti alur OAuth, pemrosesan pembayaran, atau masukan kredensial sensitif, mode URL mengarahkan pengguna ke URL eksternal. Ini memastikan bahwa informasi sensitif melewati klien MCP sepenuhnya, meningkatkan keamanan dan kepatuhan.
Setelah menerima permintaan elicitation, klien merender antarmuka masukan yang sesuai. Tindakan pengguna selanjutnya memicu model respons tiga tindakan kembali ke server: accept (pengguna memberikan data yang diminta), decline (pengguna secara eksplisit menolak permintaan), atau cancel (pengguna menutup prompt tanpa membuat pilihan). Server yang cerdas dirancang untuk menangani setiap skenario ini dengan anggun, memastikan pengalaman yang tangguh dan ramah pengguna. Misalnya, alat add_expense_interactive, seperti yang ditunjukkan dalam materi sumber, dapat memandu pengguna melalui serangkaian pertanyaan—jumlah, deskripsi, kategori, dan konfirmasi akhir—sebelum menyimpan data ke backend seperti Amazon DynamoDB. Setiap langkah memanfaatkan model Pydantic untuk mendefinisikan masukan yang diharapkan, yang kemudian secara mulus diubah oleh FastMCP menjadi Skema JSON yang diperlukan untuk permintaan elicitation/create.
Sampling dan Notifikasi Kemajuan: Meningkatkan Interaksi dan Transparansi LLM
Selain interaksi langsung pengguna, Sampling membekali server MCP dengan kemampuan untuk meminta konten yang dihasilkan LLM langsung dari klien melalui sampling/createMessage. Ini adalah mekanisme krusial karena memungkinkan logika alat di server untuk memanfaatkan kemampuan model bahasa yang kuat tanpa perlu mengelola kredensial LLM-nya sendiri atau integrasi API langsung. Server hanya menyediakan prompt dan preferensi model opsional, dan klien, bertindak sebagai perantara, meneruskan permintaan tersebut ke LLM yang terhubung dan mengembalikan respons yang dihasilkan. Ini membuka segudang aplikasi praktis, termasuk membuat ringkasan yang dipersonalisasi, menghasilkan penjelasan bahasa alami dari data terstruktur yang kompleks, atau menghasilkan rekomendasi yang sadar konteks berdasarkan percakapan yang sedang berlangsung.
Untuk operasi yang memakan waktu, Notifikasi Kemajuan menjadi sangat berharga. Kemampuan ini memungkinkan server MCP untuk melaporkan pembaruan inkremental selama tugas yang berjalan lama. Dengan memanfaatkan ctx.report_progress(progress, total), server dapat memancarkan pembaruan berkelanjutan yang dapat diterjemahkan klien menjadi umpan balik visual, seperti bilah kemajuan atau indikator status. Baik itu mencari di seluruh sumber data yang luas atau mengeksekusi tugas komputasi yang kompleks, pembaruan kemajuan yang transparan memastikan pengguna tetap terinformasi, mencegah frustrasi dan meningkatkan pengalaman pengguna secara keseluruhan, daripada membiarkan mereka menatap layar kosong bertanya-tanya apakah sistem masih aktif.
Mempersiapkan Masa Depan Pengembangan Agen AI dengan Runtime AgentCore Bedrock
Pengenalan kemampuan klien MCP stateful pada Runtime AgentCore Amazon Bedrock merupakan lompatan signifikan dalam pengembangan agen AI. Dengan mengubah interaksi stateless sebelumnya menjadi percakapan dinamis dan dua arah, AWS memberdayakan pengembang untuk membangun aplikasi AI yang lebih cerdas, responsif, dan ramah pengguna. Kemampuan ini – Elicitation untuk masukan pengguna terpandu, Sampling untuk generasi LLM sesuai permintaan, dan Notifikasi Kemajuan untuk transparansi real-time – secara kolektif membuka era baru alur kerja agen interaktif. Seiring dengan terus berkembangnya AI, kemampuan dasar ini akan krusial untuk menciptakan AI agentik operasional yang canggih yang dapat berintegrasi secara mulus ke dalam proses bisnis yang kompleks, beradaptasi dengan kebutuhan pengguna, dan memberikan nilai yang luar biasa.
Pertanyaan yang Sering Diajukan
What problem do stateful MCP client capabilities solve on Amazon Bedrock AgentCore Runtime?
How does the transition from stateless to stateful mode work on AgentCore Runtime?
What is Elicitation, and how does it enhance AI agent interactions?
How does Sampling capability benefit AI agents without managing LLM credentials?
Tetap Update
Dapatkan berita AI terbaru di inbox Anda.
