Memory Bank Platform Agen

Agent Platform Memory Bank memungkinkan Anda membuat memori jangka panjang secara dinamis berdasarkan percakapan antara pengguna dan agen Anda. Memori ini adalah informasi yang dipersonalisasi dan tetap ada di beberapa sesi, sehingga agen Anda dapat beradaptasi dan mempersonalisasi respons untuk konteks dan kontinuitas.

Fitur

Memory Bank membantu Anda mengelola memori, sehingga Anda dapat mempersonalisasi cara agen berinteraksi dengan pengguna dan mengelola jendela konteks. Untuk setiap cakupan, Memory Bank mempertahankan kumpulan memori yang terisolasi. Setiap memori adalah informasi yang independen dan mandiri yang dapat digunakan untuk memperluas konteks yang tersedia bagi agen Anda. Contoh:

{
  "name": "projects/.../locations/.../reasoningEngines/.../memories/...",
  "scope": {
    "agent_name": "My agent",
    "user": "my user ID"
  },
  "fact": "I use Memory Bank to manage my memories."
}

Memory Bank mencakup fitur berikut:

  • Pembuatan memori: Membuat, menyempurnakan, dan mengelola memori menggunakan model bahasa besar (LLM).

    • Ekstraksi memori: Mengekstrak hanya informasi yang paling bermakna dari data sumber untuk dipertahankan sebagai memori.

    • Konsolidasi memori: Mengonsolidasikan informasi yang baru diekstrak dengan memori yang ada, sehingga memori dapat berkembang saat informasi baru dimasukkan. Anda juga dapat mengonsolidasikan memori yang telah diekstrak sebelumnya (seperti informasi yang dianggap bermakna oleh agen Anda atau manusia dalam loop) dengan memori yang ada.

    • Pembuatan asinkron: Membuat memori di latar belakang, sehingga agen Anda tidak perlu menunggu pembuatan memori selesai.

    • Pemasukan peristiwa berkelanjutan: Streaming dan mengelola peristiwa percakapan dengan pemasukan peristiwa, yang secara otomatis memicu pembuatan memori berdasarkan aturan batch yang Anda konfigurasi.

    • Ekstraksi yang dapat disesuaikan: Mengonfigurasi informasi yang dianggap bermakna oleh Memory Bank dengan memberikan topik tertentu dan contoh few-shot.

    • Pemahaman multimodal: Memproses informasi multimodal untuk membuat dan mempertahankan insight tekstual.

  • Penyimpanan dan pengambilan terkelola: Manfaatkan penyimpanan memori yang terkelola sepenuhnya, persisten, dan dapat diakses.

    • Isolasi data di seluruh identitas: Konsolidasi dan pengambilan memori diisolasi ke identitas tertentu.

    • Penyimpanan persisten dan dapat diakses: Menyimpan memori yang dapat diakses dari beberapa lingkungan, termasuk Agent Runtime, lingkungan lokal Anda, atau opsi deployment lainnya.

    • Penelusuran kemiripan: Mengambil memori menggunakan penelusuran kemiripan yang dicakup ke identitas tertentu.

    • Masa berlaku otomatis: Menetapkan time to live (TTL) pada memori untuk memastikan informasi yang sudah tidak berlaku akan otomatis dihapus. Konfigurasikan instance Memory Bank Anda sehingga TTL otomatis diterapkan ke memori yang dimasukkan atau dibuat.

    • Revisi memori: Membuat dan mempertahankan revisi memori secara otomatis yang memungkinkan Anda memeriksa cara memori berubah saat informasi baru dimasukkan.

    • Izin terbatas: Menggunakan kondisi IAM untuk membatasi akun utama yang dapat membaca atau menulis memori cakupan tertentu.

  • Integrasi agen: Menghubungkan Memory Bank ke agen Anda, sehingga agen dapat mengatur panggilan untuk membuat dan mengambil memori.

    • Integrasi Agent Development Kit (ADK): Mengatur panggilan dari agen berbasis ADK menggunakan alat ADK bawaan dan VertexAiMemoryBankService untuk membaca dari dan menulis ke Memory Bank.

    • Framework lainnya: Menggabungkan kode Memory Bank Anda dalam alat dan callback untuk mengatur pembuatan dan pengambilan memori.

Kasus penggunaan

Anda dapat menggunakan Memory Bank untuk mengubah interaksi agen tanpa status menjadi pengalaman kontekstual dengan status, tempat agen mengingat, mempelajari, dan beradaptasi dari waktu ke waktu. Memory Bank ideal untuk aplikasi yang memerlukan:

  • Personalisasi jangka panjang: Membuat pengalaman yang disesuaikan dengan setiap pengguna. Memory Bank mencakup memori ke identitas tertentu, sehingga agen dapat mengingat preferensi, histori, dan detail utama pengguna di beberapa sesi.

    • Contoh: Agen layanan pelanggan yang mengingat informasi penting dari tiket dukungan dan preferensi produk pengguna sebelumnya tanpa perlu bertanya lagi.
  • Ekstraksi pengetahuan berbasis LLM: Gunakan saat Anda perlu mengidentifikasi dan mempertahankan informasi terpenting dari percakapan atau konten multimodal secara otomatis tanpa intervensi manual.

    • Contoh: Agen riset yang membaca serangkaian makalah teknis dan membuat memori gabungan dari temuan, metodologi, dan kesimpulan utama.
  • Konteks dinamis & berkembang: Gunakan Memory Bank saat Anda memerlukan sumber pengetahuan yang tidak statis. Memory Bank dirancang untuk terus mengintegrasikan informasi baru dari agen Anda, menyempurnakan dan memperbarui memori yang disimpan saat data baru tersedia. Hal ini memastikan konteks yang diandalkan agen Anda selalu terbaru dan akurat. Meskipun RAG memiliki pusat informasi eksternal yang statis, Memory Bank dapat berkembang berdasarkan konteks yang diberikan oleh agen.

Contoh penggunaan

Ringkasan konseptual Memory Bank Agent Platform

Anda dapat menggunakan Memory Bank dengan Sesi Agent Platform untuk membuat memori dari sesi yang disimpan menggunakan proses berikut:

  1. (Sesi) CreateSession: Di awal setiap percakapan, buat sesi baru. Histori percakapan yang digunakan oleh agen dicakup ke sesi ini. Sesi berisi urutan kronologis pesan dan tindakan (SessionEvents) untuk interaksi antara pengguna dan agen Anda. Semua sesi harus memiliki ID pengguna; memori yang diekstrak (lihat GenerateMemories) untuk sesi ini dipetakan ke pengguna ini.

  2. (Sesi) AppendEvent: Saat pengguna berinteraksi dengan agen, peristiwa (seperti pesan pengguna, respons agen, tindakan alat) akan diupload ke Sesi. Peristiwa ini mempertahankan histori percakapan dan membuat catatan percakapan yang dapat digunakan untuk membuat memori.

  3. (Sesi) ListEvents: Saat pengguna berinteraksi dengan agen, agen akan mengambil histori percakapan.

  4. (Memory Bank) Membuat atau membuat memori:

    • GenerateMemories: Pada interval tertentu (seperti akhir setiap sesi atau akhir setiap giliran), agen dapat memicu pembuatan memori menggunakan histori percakapan. Fakta tentang pengguna akan otomatis diekstrak dari histori percakapan sehingga tersedia untuk sesi saat ini atau mendatang.

    • CreateMemory: Agen Anda dapat menulis memori langsung ke Memory Bank. Misalnya, agen dapat memutuskan kapan memori harus ditulis dan informasi apa yang harus disimpan (memori sebagai alat). Gunakan CreateMemory jika Anda ingin agen memiliki kontrol lebih besar atas fakta yang diekstrak.

  5. (Memory Bank) RetrieveMemories: Saat pengguna berinteraksi dengan agen Anda, agen dapat mengambil memori yang disimpan tentang pengguna tersebut. Anda dapat mengambil semua memori (pengambilan sederhana) atau hanya memori yang paling relevan dengan percakapan saat ini (pengambilan penelusuran kemiripan). Kemudian, Anda dapat menyisipkan memori yang diambil ke dalam perintah Anda.

Panduan Memulai

Mulai menggunakan Memory Bank dengan panduan memulai berikut:

Tata kelola Memory Bank

Bagian ini menjelaskan pertimbangan tata kelola data saat menggunakan Memory Bank, seperti tanggung jawab keamanan dan residensi data.

Risiko keamanan injeksi perintah

Selain tanggung jawab keamanan yang diuraikan dalam Agent Platform tanggung jawab bersama, pertimbangkan risiko prompt injection dan peracunan memori yang dapat memengaruhi agen Anda saat menggunakan memori jangka panjang. Peracunan memori terjadi saat informasi palsu disimpan di Memory Bank. Agen kemudian dapat mengoperasikan informasi palsu atau berbahaya ini dalam sesi mendatang.

Untuk mengurangi risiko peracunan memori, Anda dapat melakukan hal berikut:

  • Model Armor: Gunakan Model Armor untuk memeriksa perintah yang dikirim ke Memory Bank atau dari agen Anda.

  • Pengujian adversarial: Uji aplikasi LLM Anda secara proaktif untuk mengetahui kerentanan injeksi perintah dengan menyimulasikan serangan. Hal ini biasanya dikenal sebagai "red teaming".

  • Eksekusi sandbox: Jika agen memiliki kemampuan untuk menjalankan atau berinteraksi dengan sistem eksternal atau penting, tindakan ini harus dilakukan di lingkungan sandbox dengan kontrol akses yang ketat dan peninjauan manusia.

Untuk mengetahui informasi selengkapnya, lihat Pendekatan Google untuk Agen AI yang Aman.

Residensi data

Untuk mematuhi framework peraturan seperti General Data Protection Regulation (GDPR) dan persyaratan kedaulatan data regional, Anda harus memastikan bahwa memori yang dibuat dan disimpan di Memory Bank mematuhi batas residensi dan pemisahan data yang ketat.

Meskipun Memory Bank menyediakan isolasi data berbasis cakupan di seluruh identitas dalam instance, Anda harus menerapkan kontrol Akses Berbasis Peran (RBAC) dan kebijakan Identity and Access Management untuk menerapkan batas regional dan mencegah kontaminasi memori lintas batas antara instance regional yang berbeda.

Deployment instance regional dan residensi data

Saat membuat instance Memory Bank, pilih lokasi regional atau multi-regional (seperti eu untuk Uni Eropa atau us untuk Amerika Serikat) untuk memastikan data dalam penyimpanan tetap berada dalam batas geografis tertentu.

Lokasi pemrosesan machine learning (ML) bergantung pada ketersediaan regional model yang mendasarinya. Jika endpoint regional tidak tersedia untuk model atau lokasi yang Anda pilih (misalnya, model Gemini 3 atau region tunggal Asia), endpoint Gemini global akan digunakan untuk pemrosesan ML. Untuk mengetahui informasi selengkapnya, lihat Residensi data dan Endpoint multi-regional dan global.

Mencegah kontaminasi memori lintas batas

Kontaminasi lintas batas terjadi saat Agent Runtime, identitas agen, akun layanan, atau aplikasi yang beroperasi di satu wilayah hukum (misalnya, Amerika Serikat) menulis ke atau mengambil memori dari instance Memory Bank yang berlokasi di wilayah hukum lain (misalnya, Uni Eropa).

Untuk mencegah kontaminasi lintas batas dan mempertahankan kepatuhan terhadap peraturan, Anda dapat mengonfigurasi kontrol IAM berikut:

  • Identitas agen atau akun layanan regional khusus: Buat identitas agen atau akun layanan khusus region yang terpisah untuk setiap yurisdiksi (seperti agent-us@PROJECT_ID.iam.gserviceaccount.com untuk workload Amerika Serikat dan agent-eu@PROJECT_ID.iam.gserviceaccount.com untuk workload Uni Eropa). Pastikan identitas agen dan akun layanan regional hanya diberi peran IAM pada instance Memory Bank yang berada di yurisdiksi geografis yang sama, sehingga mencegah runtime regional mengakses instance lintas batas.

    • Peran khusus hak istimewa terendah: Berikan akun utama hanya peran Memory Bank tertentu yang diperlukan untuk workload mereka (seperti roles/aiplatform.memoryViewer untuk pengambilan hanya baca atau roles/aiplatform.memoryEditor untuk akses tulis dan pembuatan) yang terikat ke resource regional yang sesuai. Untuk mengetahui detail tentang peran yang tersedia, lihat Peran IAM Memory Bank khusus.
  • Kebijakan organisasi: Terapkan batasan lokasi di tingkat organisasi, folder, atau project menggunakan gcp.resourceLocations batasan kebijakan organisasi. Hal ini membatasi pembuatan dan penggunaan resource Memory Bank ke region yang disetujui dan mematuhi peraturan serta mencegah penggunaan endpoint global yang tidak sah.

Untuk mengetahui informasi selengkapnya tentang penerapan kebijakan akses bersyarat, lihat Mengontrol akses ke Agent Platform Memory Bank dengan Kondisi IAM.

Langkah berikutnya

Panduan Memulai

Mulai menggunakan Memory Bank API untuk mengelola memori jangka panjang.

Panduan Memulai

Mulai menggunakan Agent Development Kit (ADK).

Panduan

Pelajari cara menyiapkan Memory Bank.