Agen dapat mengakses berbagai alat menggunakan server Model Context Protocol (MCP), API perusahaan, atau skrip kustom. Mengekspos agen ke sejumlah besar deskripsi alat sekaligus dapat menyebabkan pembengkakan konteks, yang meningkatkan biaya token, latensi, dan dapat menurunkan performa penalaran LLM.
Untuk mengoptimalkan performa, Anda dapat menggunakan Keterampilan Agen (standar untuk alat pengemasan dan deskripsi prosedur) untuk menerapkan pengungkapan progresif alat. Alih-alih menempatkan seluruh katalog alat dalam konteks, agen akan diekspos ke sejumlah kecil keterampilan pada awalnya. LLM mengarahkan agen untuk memuat paket keterampilan tertentu secara dinamis saat paket tersebut menjadi relevan.
Mengatur siklus proses skill
Karena pemuatan dan pengelolaan keahlian menggunakan panggilan alat, kebijakan tata kelola Semantik dapat mengatur seluruh siklus proses keahlian. Jika agen Anda dibuat menggunakan Google Agent Development Kit (ADK), agen tersebut akan menggunakan alat inti berikut untuk mengelola keahlian:
| Alat Keterampilan ADK | Deskripsi |
|---|---|
list_skills |
Menampilkan semua paket keterampilan yang tersedia untuk model. |
load_skill |
Mengimpor skill tertentu dan alat terkaitnya ke dalam konteks saat ini secara dinamis. |
load_skill_resource |
Mengambil data atau aset yang diperlukan untuk pengoperasian skill. |
run_skill_script |
Menjalankan logika dasar yang ditentukan dalam skill. |
Kebijakan tata kelola semantik mencegat panggilan alat pengelolaan keterampilan ini dan mengevaluasinya berdasarkan Batasan Bahasa Alami (NLC) Anda. Hal ini memungkinkan Anda menerapkan batasan untuk mengontrol keterampilan mana yang dimuat dalam kondisi tertentu.
Contoh: Kebijakan siklus proses keterampilan dan alat
Contoh berikut menunjukkan cara kebijakan tata kelola Semantik dapat melindungi dari risiko keamanan dalam siklus proses keahlian, seperti injeksi perintah atau kompromi supply chain.
Mencegah pemuatan alat dalam sesi yang tercemar
Skenario: Agen diizinkan untuk memuat dan menjalankan keahlian. Administrator ingin mencegah agen memuat alat yang melakukan tindakan keluar jika histori chat berisi konteks yang tidak tepercaya yang dapat berisi petunjuk yang disisipkan. Misalnya, agen dapat memuat alat send_email
setelah meng-scraping konten web.
- Batasan: "Jangan memuat skill apa pun yang dapat mengirim pesan atau menulis ke sistem eksternal jika histori chat saat ini berisi konten yang diambil dari email masuk, halaman web, atau dokumen yang diupload."
- Logika: Saat LLM menyarankan untuk memanggil
load_skill(skill_name='send_email'), kebijakan Tata kelola semantik akan memeriksa histori percakapan. Jika belokan sebelumnya mengambil data yang tidak tepercaya (misalnya, konten email), kebijakan akan menolak panggilanload_skill. Akibatnya, alat keluar yang dikemas dalam keahlian tersebut tidak pernah tersedia bagi agen selama sesi tersebut.
Membatasi penginstalan dependensi (supply chain)
Skenario: Agen pengembangan menggunakan skill untuk menginstal paket. Penyerang dengan akses ke repositori skill memodifikasi petunjuk untuk selalu menginstal paket berbahaya bersama dengan dependensi yang diminta.
- Batasan: "Hanya izinkan alat npm_install berjalan untuk paket dalam daftar yang disetujui: react, express, lodash, atau axios."
- Logika: Saat LLM mengusulkan panggilan alat seperti
npm_install(packages=['lodash', 'malicious-agent-helper']), kebijakan Tata kelola semantik akan memeriksa argumen. Karenamalicious-agent-helpertidak ada dalam daftar yang diizinkan, kebijakan akan mengeluarkan putusanDENY, sehingga memblokir tindakan sebelum dieksekusi.
Langkah berikutnya
- Buat aturan yang efektif di Praktik terbaik untuk menggunakan Kebijakan tata kelola semantik.
- Konfigurasi kebijakan di Mengonfigurasi kebijakan tata kelola semantik.