Amazon Bedrock AgentCore
AgentCore adalah jawaban AWS saat ini untuk menjalankan agent di produksi. Layanannya modular: pakai semuanya, atau ambil satu-dua saja.
Intisari
- Bekerja dengan framework apa pun (Strands, LangGraph, CrewAI, LlamaIndex) dan model apa pun — termasuk di luar Bedrock.
- Runtime: eksekusi serverless dengan isolasi sesi sungguhan dan cold start cepat.
- Memory: memori jangka pendek untuk percakapan, jangka panjang yang bertahan lintas sesi.
- Gateway: mengubah API, Lambda, dan layanan yang ada jadi tool MCP.
- Harness: agent loop terkelola — satu panggilan API, orkestrasi dan eksekusi tool diurus AWS.
Kenapa ini ada
Membuat agent yang jalan di laptop itu mudah. Yang sulit adalah menjalankannya untuk banyak pengguna: isolasi antar sesi, memori yang bertahan, identitas dan izin, akses tool yang aman, serta pengamatan saat ia berperilaku aneh. AgentCore menyediakan potongan-potongan itu sebagai layanan terpisah yang bisa dipakai sendiri-sendiri.
| Layanan | Menjawab |
|---|---|
| Harness | Agent loop terkelola: sebutkan model, system prompt, dan tool — AWS mengurus orkestrasi, eksekusi tool, dan memori. Tiap sesi jalan di microVM terisolasi dengan akses filesystem dan shell. |
| Runtime | Di mana kode agent-ku berjalan, dengan isolasi sesi dan skala otomatis? |
| Memory | Bagaimana agent mengingat percakapan sebelumnya — dan apa yang boleh diingat? |
| Gateway | Bagaimana API dan Lambda-ku jadi tool yang bisa dipakai agent? |
| Identity | Sebagai siapa agent bertindak, dan boleh apa? |
| Observability | Apa yang sebenarnya dilakukan agent tadi? |
| Browser & Code Interpreter | Menjelajah web dan menjalankan kode di lingkungan terisolasi |
Poin arsitektural yang penting: AgentCore tidak memaksamu memilih framework. Ia bekerja dengan CrewAI, LangGraph, LlamaIndex, Strands, dan kode buatan sendiri, serta dengan model di dalam maupun di luar Bedrock. Ini berbeda dari Bedrock Agents Classic yang mengikat perilaku agent ke definisi milik AWS.
Runtime
Yang membedakannya dari sekadar menjalankan container biasa:
| Kemampuan | Kenapa penting untuk agent |
|---|---|
| Isolasi sesi sungguhan | Percakapan satu pengguna tidak bisa bocor ke pengguna lain lewat state proses |
| Cold start cepat | Agent interaktif tidak boleh menunggu beberapa detik hanya untuk mulai |
| Dukungan eksekusi panjang | Agent asinkron bisa bekerja lebih lama dari batas Lambda |
| Identitas bawaan | Agent bertindak sebagai principal tertentu, bukan sebagai "aplikasi" tanpa wajah |
| Protokol MCP dan A2A | Tool dan antar-agent memakai protokol terbuka |
Memory
| Jenis | Isi | Contoh |
|---|---|---|
| Jangka pendek | Konteks percakapan berjalan | "tadi kamu bilang bulan Maret" |
| Jangka panjang | Yang bertahan lintas sesi | Preferensi bahasa, tim pengguna, ringkasan riwayat |
Yang perlu diputuskan sadar-sadar: apa yang boleh diingat. Memori jangka panjang yang menyerap segalanya adalah masalah privasi yang menunggu terjadi — dan langsung bersinggungan dengan Domain 3. Perlakukan isi memori seperti data pribadi: ada retensi, ada penghapusan, ada audit.
Dibanding pendekatan lain
| Pendekatan | Kendali | Beban operasional | Cocok untuk |
|---|---|---|---|
| Loop tool use sendiri (materi sebelumnya) | Penuh | Kamu semua | Belajar, alur sederhana |
| Step Functions | Tinggi, deklaratif | Rendah | Alur berlangkah dengan aturan tegas |
| AgentCore Harness | Sedang | Sangat rendah | Agent umum, ingin cepat jadi |
| Framework (Strands) + AgentCore Runtime | Tinggi | Rendah | Agent kustom yang perlu naik ke produksi |
| Bedrock Agents Classic | Rendah | Rendah | Tidak untuk pelanggan baru — lihat materi terkait |
Latihan: gambarkan agent asisten internalmu sebagai kumpulan layanan AgentCore: apa yang jalan di Runtime, apa yang disimpan di Memory (jangka pendek dan panjang), tool mana yang lewat Gateway, dan identitas apa yang dipakai. Tuliskan juga satu hal yang tidak boleh masuk memori jangka panjang, beserta alasannya.
Rangkuman ini sengaja dipangkas ke bagian yang dipakai di roadmap. Buka sumber aslinya saat kamu butuh detail lengkap atau referensi parameter.