Menghubungkan agen Agent Development Kit ke Cloud Storage

Anda dapat menghubungkan agen Agent Development Kit (ADK) ke Cloud Storage. Koneksi ini memungkinkan agen Anda menggunakan toolset ADK bawaan.

Sebagai developer AI, Anda dapat mengintegrasikan ADK dengan Cloud Storage untuk menghubungkan agen Anda ke data yang tersimpan. Integrasi ini membantu Anda menskalakan workload agentic. Anda dapat menggunakan Cloud Storage untuk mempertahankan status, memori, dan titik pemeriksaan untuk tugas yang berjalan lama. Anda juga dapat menggunakan Cloud Storage untuk membagikan file perantara di seluruh alur kerja multi-agen.

Dokumen ini menjelaskan manfaat mengintegrasikan Cloud Storage dengan ADK. Dokumen ini mencakup kasus penggunaan umum dan kemampuan set alat yang tersedia. Untuk mengetahui petunjuk penyiapan langkah demi langkah dan contoh kode, lihat panduan integrasi ADK.

Manfaat integrasi Cloud Storage dengan ADK

Saat Anda mengintegrasikan Cloud Storage dengan agen, agen dapat menangani file besar, mempertahankan histori percakapan, dan menggunakan kembali infrastruktur penyimpanan yang ada.

  • Perluasan konteks dinamis: Beri agen akses ke set data besar, manual, atau file media tanpa mencapai batas jumlah yang dapat dibaca LLM sekaligus.
  • Persistensi artefak yang andal: Simpan file sementara, log, atau item yang dihasilkan (seperti laporan atau gambar) secara andal di luar histori percakapan.
  • Dukungan untuk semua jenis artefak: Memproses dan membuat berbagai format, termasuk teks, gambar, audio, dan video, menggunakan Cloud Storage sebagai penyimpanan bersama.
  • Kontrol akses terperinci: Kontrol akses agen ke Cloud Storage secara tepat menggunakan peran IAM. ADK menggunakan autentikasi Google Cloud standar untuk memastikan agen hanya memiliki izin minimum yang diperlukan untuk mengakses data atau melakukan tugas.

Kasus penggunaan

Dengan melengkapi agen Anda dengan kemampuan Cloud Storage, Anda dapat menangani kasus penggunaan berikut:

  • Pengambilan konteks dinamis, juga dikenal sebagai Retrieval-Augmented Generation (RAG)
  • Persistensi dan pengarsipan artefak
  • Pemrosesan payload besar
  • Pengelolaan resource otomatis

Pengambilan konteks dinamis melalui RAG

Agen dapat bertindak sebagai peneliti dengan menemukan dan membaca dokumen di Cloud Storage untuk menjawab pertanyaan secara real time. Pendekatan ini berguna untuk pusat informasi internal atau bot dukungan.

  • Pencarian kebijakan: Anda dapat meminta agen mencantumkan dan membaca panduan PDF terbaru di bucket compliance-docs untuk menjawab pertanyaan pengguna tentang kebijakan perusahaan.
  • Sintesis multi-objek: Anda dapat membuat agen untuk mengambil dan menggabungkan informasi dari beberapa objek penyimpanan untuk menyintesis ringkasan terpadu.

Persistensi dan pengarsipan artefak

Simpan data dalam jumlah besar yang dihasilkan agen secara andal untuk peninjauan manual, sistem lain, atau audit.

  • Pelaporan otomatis: Anda dapat membuat agen yang menganalisis metrik database, membuat laporan ringkasan, dan menguploadnya ke bucket reports-archive.
  • Menyimpan media yang dihasilkan: Anda dapat mengonfigurasi sistem multi-agen untuk menyimpan gambar atau objek audio yang dihasilkan ke Cloud Storage dan hanya menampilkan URI penyimpanan atau URL bertanda tangan.

Pemrosesan payload besar

Desain agen untuk menggunakan URI penyimpanan (jalur file) daripada menempelkan konten file lengkap ke dalam chat. Cara ini menghindari biaya tinggi dan inefisiensi pengiriman CSV atau codebase besar ke LLM.

  • Handler pipeline data: Anda dapat membuat agen menerima URI penyimpanan, bukan menggunakan CSV berukuran besar. Agen kemudian dapat melakukan analisis dengan memproses bagian atau memeriksa metadata dan menampilkan dasbor ringkasan.
  • Alur kerja yang tidak terikat: Anda dapat mendesain agen untuk bertindak sebagai supervisor yang menerima URI penyimpanan untuk awalan, folder, atau bucket Cloud Storage. Agen dapat meneruskan URI ini ke pekerja backend untuk memproses objek dan menulis hasil akhir kembali ke penyimpanan. Pola ini kompatibel dengan layanan berbasis peristiwa seperti Cloud Run Functions atau Cloud Run untuk memproses data secara asinkron.

Pengelolaan resource otomatis

Agen dapat membantu mengoptimalkan penggunaan penyimpanan, mengotomatiskan tugas administratif, dan menerapkan tata kelola di beberapa bucket. Hal ini sangat berguna bagi tim yang mengelola infrastruktur penyimpanan yang luas.

  • Audit infrastruktur: Anda dapat membuat agen untuk memindai konfigurasi bucket (seperti lokasi atau class penyimpanan) dan menyarankan pengoptimalan atau mengidentifikasi setelan yang tidak sesuai.
  • Pembersihan resource: Anda dapat membuat agen untuk mengidentifikasi bucket yang kosong atau tidak aktif dan mengotomatiskan proses pembersihan berdasarkan kebijakan retensi Anda.

Set alat ADK untuk Cloud Storage

ADK menyediakan set alat berikut di Python untuk Cloud Storage. Memahami keduanya akan membantu Anda menentukan peran agen dan membatasi izinnya.

GCSToolset untuk pengelolaan data

Kumpulan alat GCSToolset memungkinkan agen Anda memanipulasi file dalam bucket yang ada. Gunakan untuk tugas seperti membaca dokumen, mengupload hasil, atau menghapus objek sementara.

  • Membaca objek: Ambil konten secara langsung menggunakan get_object_data.
  • Menemukan konten: Mencantumkan objek yang tersedia menggunakan list_objects.
  • Periksa properti objek: Periksa ukuran objek atau metadata Content-Type menggunakan get_object_metadata.
  • Upload dan pertahankan: Buat objek baru menggunakan create_object.
  • Menghapus objek: Hapus objek sementara menggunakan delete_objects.

GCSAdminToolset untuk infrastruktur

Gunakan toolset GCSAdminToolset untuk mengelola infrastruktur penyimpanan, seperti membuat bucket atau mengotomatiskan tugas administratif.

  • Temukan infrastruktur: Mencantumkan bucket dalam project menggunakan list_buckets.
  • Menyediakan penyimpanan: Buat bucket baru menggunakan create_bucket.
  • Mengonfigurasi ulang penyimpanan: Ubah konfigurasi menggunakan update_bucket.
  • Membatalkan penyediaan penyimpanan: Hapus bucket menggunakan delete_bucket.
  • Periksa konteks bucket: Dapatkan metadata bucket menggunakan get_bucket untuk memeriksa lokasi bucket, class penyimpanan, atau kontrol akses.

Praktik terbaik

Untuk mengoptimalkan performa dan keamanan agen saat berintegrasi dengan Cloud Storage, pertimbangkan praktik terbaik berikut:

  • Memisahkan payload besar dari histori percakapan: Hindari meneruskan file besar secara langsung ke agen. Simpan di Cloud Storage dan kirim referensi file (URI) sebagai gantinya. Hal ini mengurangi biaya token dan mencegah tercapainya batas konteks.
  • Terapkan prinsip hak istimewa terendah: Berikan hanya izin minimum yang diperlukan agen untuk melakukan tugasnya. Hindari peran luas seperti roles/storage.admin kecuali saat mengelola infrastruktur. Untuk operasi file standar, gunakan peran bertarget seperti roles/storage.objectUser atau roles/storage.objectViewer yang dibatasi untuk bucket tertentu.
  • Mengelola konfigurasi secara terpusat: Hindari hardcoding nama bucket atau jalur nama objek dalam logika agen Anda. Gunakan variabel lingkungan atau pengelola konfigurasi untuk beralih antara lingkungan penyimpanan pengembangan, pengujian, dan produksi.
  • Menerapkan strategi pengambilan yang efisien: Saat menggunakan Cloud Storage sebagai lapisan untuk pengambilan informasi, jangan memuat seluruh dokumen besar ke dalam konteks agen. Lakukan pra-pemrosesan dan bagi dokumen menjadi beberapa bagian, atau gunakan alat penelusuran khusus untuk mengambil hanya segmen yang relevan.

Batasan

Saat mengintegrasikan Cloud Storage dengan ADK, perhatikan batasan berikut:

  • Objek yang tidak dapat diubah: Objek Cloud Storage tidak dapat diubah. Anda tidak dapat menambahkan data ke objek yang sudah ada. Jika agen Anda perlu mencatat peristiwa secara terus-menerus ke satu file, agen tersebut harus mengganti objek sepenuhnya atau membuat beberapa objek kecil dan menyusun objek tersebut nanti.
  • Latensi dalam pengelolaan status frekuensi tinggi: Cloud Storage sangat cocok untuk penyimpanan artefak yang tahan lama dan payload besar. Namun, menggunakan Cloud Storage untuk pembaruan status berfrekuensi tinggi dan latensi rendah dapat menyebabkan latensi. Misalnya, melacak setiap giliran dalam pertukaran percakapan yang cepat mungkin lebih lambat daripada menggunakan cache atau database dalam memori.
  • Kurangnya atomisitas multi-objek: Operasi Cloud Storage berlaku untuk setiap objek. Jika agen Anda memerlukan update atomik di beberapa file secara bersamaan, Anda harus menerapkan logika koordinasi dalam aplikasi Anda.

Langkah berikutnya

Untuk melihat contoh kode mendetail, petunjuk penyiapan, dan referensi parameter untuk menginisialisasi toolset Cloud Storage di aplikasi Python Anda, lihat panduan integrasi ADK.