MCP Tools Reference: ces.googleapis.com

Alat: create_guardrail

Membuat guardrail baru di aplikasi yang diberikan.

Contoh kode berikut menunjukkan cara menggunakan curl untuk memanggil alat MCP create_guardrail.

Permintaan Curl
curl --location 'https://ces.googleapis.com/mcp' \
--header 'content-type: application/json' \
--header 'accept: application/json, text/event-stream' \
--data '{
  "method": "tools/call",
  "params": {
    "name": "create_guardrail",
    "arguments": {
      // Provide these details according to the MCP tool specification.
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'

Skema Input

Pesan permintaan untuk AgentService.CreateGuardrail.

CreateGuardrailRequest

Representasi JSON
{
  "parent": string,
  "guardrailId": string,
  "guardrail": {
    object (Guardrail)
  }
}
Kolom
parent

string

Wajib. Nama resource aplikasi tempat membuat guardrail.

guardrailId

string

Opsional. ID yang akan digunakan untuk guardrail, yang akan menjadi komponen akhir dari nama resource guardrail. Jika tidak diberikan, ID unik akan otomatis ditetapkan untuk guardrail.

guardrail

object (Guardrail)

Wajib. Guardrail yang akan dibuat.

Guardrail

Representasi JSON
{
  "name": string,
  "displayName": string,
  "description": string,
  "enabled": boolean,
  "action": {
    object (TriggerAction)
  },
  "createTime": string,
  "updateTime": string,
  "etag": string,

  // Union field guardrail_type can be only one of the following:
  "contentFilter": {
    object (ContentFilter)
  },
  "llmPromptSecurity": {
    object (LlmPromptSecurity)
  },
  "llmPolicy": {
    object (LlmPolicy)
  },
  "modelSafety": {
    object (ModelSafety)
  },
  "codeCallback": {
    object (CodeCallback)
  },
  "supervisor": {
    object (Supervisor)
  }
  // End of list of possible types for union field guardrail_type.
}
Kolom
name

string

ID. ID unik guardrail. Format: projects/{project}/locations/{location}/apps/{app}/guardrails/{guardrail}

displayName

string

Wajib. Nama tampilan guardrail.

description

string

Opsional. Deskripsi guardrail.

enabled

boolean

Opsional. Apakah guardrail diaktifkan.

action

object (TriggerAction)

Opsional. Tindakan yang harus dilakukan saat guardrail dipicu.

createTime

string (Timestamp format)

Hanya output. Stempel waktu saat guardrail dibuat.

Menggunakan RFC 3339 yang outputnya akan selalu dinormalisasi Z dan menggunakan 0, 3, 6, atau 9 digit pecahan. Offset selain "Z" juga diterima. Contoh: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z", atau "2014-10-02T15:01:23+05:30".

updateTime

string (Timestamp format)

Hanya output. Stempel waktu saat guardrail terakhir diperbarui.

Menggunakan RFC 3339 yang outputnya akan selalu dinormalisasi Z dan menggunakan 0, 3, 6, atau 9 digit pecahan. Offset selain "Z" juga diterima. Contoh: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z", atau "2014-10-02T15:01:23+05:30".

etag

string

Etag yang digunakan untuk memastikan objek tidak berubah selama operasi baca-ubah-tulis. Jika etag kosong, update akan menimpa perubahan serentak.

Kolom union guardrail_type. Jenis guardrail. guardrail_type hanya ada berupa salah satu diantara berikut:
contentFilter

object (ContentFilter)

Opsional. Guardrail yang melarang penggunaan konten tertentu dalam percakapan.

llmPromptSecurity

object (LlmPromptSecurity)

Opsional. Guardrail yang memblokir percakapan jika perintah dianggap tidak aman berdasarkan klasifikasi LLM.

llmPolicy

object (LlmPolicy)

Opsional. Guardrail yang memblokir percakapan jika respons LLM dianggap melanggar kebijakan berdasarkan klasifikasi LLM.

modelSafety

object (ModelSafety)

Opsional. Guardrail yang memblokir percakapan jika respons LLM dianggap tidak aman berdasarkan setelan keamanan model.

codeCallback

object (CodeCallback)

Opsional. Guardrail yang berpotensi memblokir percakapan berdasarkan hasil eksekusi callback.

supervisor

object (Supervisor)

Opsional. Pedoman yang menjalankan intervensi supervisor.

ContentFilter

Representasi JSON
{
  "bannedContents": [
    string
  ],
  "bannedContentsInUserInput": [
    string
  ],
  "bannedContentsInAgentResponse": [
    string
  ],
  "matchType": enum (MatchType),
  "disregardDiacritics": boolean,
  "sensitiveWordsExemptions": [
    string
  ]
}
Kolom
bannedContents[]

string

Opsional. Daftar frasa yang dilarang. Berlaku untuk input pengguna dan respons agen.

bannedContentsInUserInput[]

string

Opsional. Daftar frasa yang dilarang. Hanya berlaku untuk input pengguna.

bannedContentsInAgentResponse[]

string

Opsional. Daftar frasa yang dilarang. Hanya berlaku untuk respons agen.

matchType

enum (MatchType)

Wajib. Jenis pencocokan untuk filter konten.

disregardDiacritics

boolean

Opsional. Jika true, diakritik akan diabaikan selama pencocokan.

sensitiveWordsExemptions[]

string

Opsional. Entri daftar kata sensitif yang diizinkan oleh guardrail ini. Hanya valid jika match_type adalah SENSITIVE_WORDS. Setiap nilai harus sama dengan entri daftar (tidak peka huruf besar/kecil, spasi kosong di sekitarnya diabaikan); nilai lainnya tidak berpengaruh. Hanya berlaku untuk guardrail ini. Maksimum 1.000 entri dengan panjang masing-masing hingga 256 karakter.

LlmPromptSecurity

Representasi JSON
{
  "failOpen": boolean,

  // Union field security_config can be only one of the following:
  "defaultSettings": {
    object (DefaultSecuritySettings)
  },
  "customPolicy": {
    object (LlmPolicy)
  }
  // End of list of possible types for union field security_config.
}
Kolom
failOpen

boolean

Opsional. Menentukan perilaku saat guardrail mengalami error LLM. - Jika true: guardrail akan diabaikan. - Jika salah (default): guardrail akan dipicu/diblokir.

Catatan: Jika kebijakan kustom disediakan, kolom ini akan diabaikan dan digantikan oleh konfigurasi 'fail_open' kebijakan.

Kolom union security_config. Menentukan mode konfigurasi keamanan. Pengguna harus memilih salah satu konfigurasi berikut. security_config hanya ada berupa salah satu diantara berikut:
defaultSettings

object (DefaultSecuritySettings)

Opsional. Menggunakan setelan keamanan default yang telah ditentukan sistem. Untuk memilih mode ini, sertakan pesan 'default_settings' kosong dalam permintaan. Kolom 'default_prompt_template' di dalamnya akan diisi oleh server dalam respons.

customPolicy

object (LlmPolicy)

Opsional. Gunakan LlmPolicy yang ditentukan pengguna untuk mengonfigurasi guardrail keamanan.

DefaultSecuritySettings

Representasi JSON
{
  "defaultPromptTemplate": string
}
Kolom
defaultPromptTemplate

string

Hanya output. Template perintah default yang digunakan oleh sistem. Kolom ini ditujukan untuk tujuan tampilan guna menunjukkan kepada pengguna perintah yang digunakan sistem secara default. Nilainya adalah OUTPUT_ONLY.

LlmPolicy

Representasi JSON
{
  "maxConversationMessages": integer,
  "modelSettings": {
    object (ModelSettings)
  },
  "prompt": string,
  "policyScope": enum (PolicyScope),
  "failOpen": boolean,
  "allowShortUtterance": boolean
}
Kolom
maxConversationMessages

integer

Opsional. Saat memeriksa kebijakan ini, pertimbangkan 'n' pesan terakhir dalam percakapan. Jika tidak ditetapkan, nilai default 10 akan digunakan.

modelSettings

object (ModelSettings)

Opsional. Setelan model.

prompt

string

Wajib. Perintah kebijakan. Mendukung placeholder variabel sesi ({var}) serta {agent_system_instruction} untuk memasukkan petunjuk sistem yang telah di-resolve agen.

policyScope

enum (PolicyScope)

Wajib. Menentukan kapan harus menerapkan pemeriksaan kebijakan selama percakapan. Jika disetel ke POLICY_SCOPE_UNSPECIFIED, kebijakan akan diterapkan ke input pengguna. Saat menerapkan kebijakan ke respons agen, latensi tambahan akan muncul sebelum agen dapat merespons.

failOpen

boolean

Opsional. Jika terjadi error selama pemeriksaan kebijakan, fail open dan jangan picu guardrail.

allowShortUtterance

boolean

Opsional. Secara default, pemeriksaan kebijakan LLM dilewati untuk ucapan singkat. Jika setelan ini diaktifkan, pemeriksaan kebijakan akan diterapkan ke semua ucapan, termasuk ucapan yang biasanya dilewati.

ModelSettings

Representasi JSON
{
  "model": string,
  "thinkingLevel": enum (ThinkingLevel),

  // Union field _temperature can be only one of the following:
  "temperature": number
  // End of list of possible types for union field _temperature.
}
Kolom
model

string

Opsional. Model LLM yang harus digunakan agen. Jika tidak ditetapkan, agen akan mewarisi model dari agen induknya.

thinkingLevel

enum (ThinkingLevel)

Opsional. Tingkat penalaran model.

Kolom union _temperature.

_temperature hanya dapat berupa salah satu dari hal berikut:

temperature

number

Opsional. Jika ditetapkan, suhu ini akan digunakan untuk model LLM. Suhu mengontrol keacakan respons model. Suhu yang lebih rendah menghasilkan respons yang lebih dapat diprediksi. Suhu yang lebih tinggi menghasilkan respons yang lebih kreatif.

ModelSafety

Representasi JSON
{
  "safetySettings": [
    {
      object (SafetySetting)
    }
  ]
}
Kolom
safetySettings[]

object (SafetySetting)

Wajib. Daftar setelan keamanan.

SafetySetting

Representasi JSON
{
  "category": enum (HarmCategory),
  "threshold": enum (HarmBlockThreshold)
}
Kolom
category

enum (HarmCategory)

Wajib. Kategori bahaya.

threshold

enum (HarmBlockThreshold)

Wajib. Batas blokir bahaya.

CodeCallback

Representasi JSON
{
  "beforeAgentCallback": {
    object (Callback)
  },
  "afterAgentCallback": {
    object (Callback)
  },
  "beforeModelCallback": {
    object (Callback)
  },
  "afterModelCallback": {
    object (Callback)
  }
}
Kolom
beforeAgentCallback

object (Callback)

Opsional. Callback yang akan dijalankan sebelum agen dipanggil. Setiap fungsi callback diharapkan menampilkan struktur (misalnya, dict atau objek) yang berisi setidaknya: - 'decision': 'OK' atau 'TRIGGER'. - 'reason': String yang menjelaskan keputusan. Keputusan 'TRIGGER' dapat menghentikan pemrosesan lebih lanjut.

afterAgentCallback

object (Callback)

Opsional. Callback yang akan dieksekusi setelah agen dipanggil. Setiap fungsi callback diharapkan menampilkan struktur (misalnya, dict atau objek) yang berisi setidaknya: - 'decision': 'OK' atau 'TRIGGER'. - 'reason': String yang menjelaskan keputusan. Keputusan 'TRIGGER' dapat menghentikan pemrosesan lebih lanjut.

beforeModelCallback

object (Callback)

Opsional. Callback yang akan dijalankan sebelum model dipanggil. Jika ada beberapa panggilan ke model, callback akan dijalankan beberapa kali. Setiap fungsi callback diharapkan menampilkan struktur (misalnya, dict atau objek) yang berisi setidaknya: - 'decision': 'OK' atau 'TRIGGER'. - 'reason': String yang menjelaskan keputusan. Keputusan 'TRIGGER' dapat menghentikan pemrosesan lebih lanjut.

afterModelCallback

object (Callback)

Opsional. Callback yang akan dieksekusi setelah model dipanggil. Jika ada beberapa panggilan ke model, callback akan dijalankan beberapa kali. Setiap fungsi callback diharapkan menampilkan struktur (misalnya, dict atau objek) yang berisi setidaknya: - 'decision': 'OK' atau 'TRIGGER'. - 'reason': String yang menjelaskan keputusan. Keputusan 'TRIGGER' dapat menghentikan pemrosesan lebih lanjut.

Callback

Representasi JSON
{
  "description": string,
  "disabled": boolean,
  "proactiveExecutionEnabled": boolean,

  // Union field callback can be only one of the following:
  "pythonCode": string
  // End of list of possible types for union field callback.
}
Kolom
description

string

Opsional. Deskripsi callback yang dapat dibaca manusia.

disabled

boolean

Opsional. Apakah callback dinonaktifkan. Callback yang dinonaktifkan akan diabaikan oleh agen.

proactiveExecutionEnabled

boolean

Opsional. Jika diaktifkan, callback juga akan dieksekusi pada output model perantara. Setelan ini hanya memengaruhi callback setelah model. AKTIFKAN DENGAN HATI-HATI. Biasanya, callback setelah model hanya perlu dijalankan setelah menerima semua respons model. Mengaktifkan eksekusi proaktif dapat berdampak negatif pada biaya dan latensi eksekusi, dan hanya boleh diaktifkan dalam situasi yang jarang terjadi.

Kolom union callback. Callback yang akan dieksekusi. callback hanya ada berupa salah satu diantara berikut:
pythonCode

string

Wajib. Kode python yang akan dieksekusi untuk callback.

Supervisor

Representasi JSON
{
  "type": enum (Type),
  "detectionMode": enum (DetectionMode)
}
Kolom
type

enum (Type)

Opsional. Jenis supervisor.

detectionMode

enum (DetectionMode)

Opsional. Mode deteksi supervisor.

TriggerAction

Representasi JSON
{

  // Union field action can be only one of the following:
  "respondImmediately": {
    object (RespondImmediately)
  },
  "transferAgent": {
    object (TransferAgent)
  },
  "generativeAnswer": {
    object (GenerativeAnswer)
  }
  // End of list of possible types for union field action.
}
Kolom
Kolom union action. Tindakan yang harus diambil. action hanya ada berupa salah satu diantara berikut:
respondImmediately

object (RespondImmediately)

Opsional. Segera merespons dengan respons yang telah dikonfigurasi sebelumnya.

transferAgent

object (TransferAgent)

Opsional. Mentransfer percakapan ke agen lain.

generativeAnswer

object (GenerativeAnswer)

Opsional. Merespons dengan jawaban generatif.

RespondImmediately

Representasi JSON
{
  "responses": [
    {
      object (Response)
    }
  ]
}
Kolom
responses[]

object (Response)

Wajib. Template pesan yang dapat dipilih agen. Respons dipilih secara acak.

Respons

Representasi JSON
{
  "text": string,
  "disabled": boolean
}
Kolom
text

string

Wajib. Teks yang akan digunakan agen untuk merespons.

disabled

boolean

Opsional. Apakah respons dinonaktifkan. Respons yang dinonaktifkan tidak digunakan oleh agen.

TransferAgent

Representasi JSON
{
  "agent": string
}
Kolom
agent

string

Wajib. Nama agen yang akan menerima transfer percakapan. Agen harus berada di aplikasi yang sama dengan agen saat ini. Format: projects/{project}/locations/{location}/apps/{app}/agents/{agent}

GenerativeAnswer

Representasi JSON
{
  "prompt": string
}
Kolom
prompt

string

Wajib. Perintah yang akan digunakan untuk jawaban generatif.

Stempel waktu

Representasi JSON
{
  "seconds": string,
  "nanos": integer
}
Kolom
seconds

string (int64 format)

Mewakili detik waktu UTC sejak epoch Unix 1970-01-01T00:00:00Z. Harus antara -62135596800 dan 253402300799 inklusif (yang sesuai dengan 0001-01-01T00:00:00Z hingga 9999-12-31T23:59:59Z).

nanos

integer

Pecahan detik non-negatif pada resolusi nanodetik. Kolom ini adalah bagian nanodetik dari durasi, bukan alternatif untuk detik. Nilai detik negatif dengan pecahan harus tetap memiliki nilai nano non-negatif yang dihitung maju dalam waktu. Harus antara 0 dan 999.999.999 inklusif.

MatchType

Jenis pencocokan untuk filter konten.

Enum
MATCH_TYPE_UNSPECIFIED Jenis pencocokan tidak ditentukan.
SIMPLE_STRING_MATCH Konten dicocokkan untuk substring karakter demi karakter.
WORD_BOUNDARY_STRING_MATCH Konten hanya cocok jika pola yang ditemukan dalam teks dikelilingi oleh pembatas kata. Frasa yang dilarang juga dapat berisi pembatas kata.
REGEXP_MATCH Konten dicocokkan menggunakan sintaksis ekspresi reguler.
SENSITIVE_WORDS Konten dicocokkan dengan daftar kata dan frasa sensitif yang dikelola sistem. Memasang guardrail dengan jenis pencocokan ini ke aplikasi atau agen akan menggantikan filter kata sensitif default untuk agen yang terpengaruh; nonaktifkan guardrail untuk memilih tidak menggunakan filter default.

ThinkingLevel

Konfigurasi tingkat penalaran untuk model.

Enum
THINKING_LEVEL_UNSPECIFIED Tingkat penalaran tidak ditentukan.
DEFAULT Tingkat penalaran default.
LOW Tingkat penalaran rendah.
MEDIUM Tingkat penalaran sedang.
HIGH Tingkat penalaran tinggi.

PolicyScope

Menentukan kapan harus menerapkan pemeriksaan kebijakan selama percakapan.

Enum
POLICY_SCOPE_UNSPECIFIED Cakupan kebijakan tidak ditentukan.
USER_QUERY Pemeriksaan kebijakan dipicu pada input pengguna.
AGENT_RESPONSE Pemeriksaan kebijakan dipicu pada respons agen. Menerapkan cakupan kebijakan ini akan menimbulkan latensi tambahan sebelum agen dapat merespons.
USER_QUERY_AND_AGENT_RESPONSE Pemeriksaan kebijakan dipicu pada input pengguna dan respons agen. Menerapkan cakupan kebijakan ini akan menimbulkan latensi tambahan sebelum agen dapat merespons.

HarmCategory

Kategori bahaya.

Enum
HARM_CATEGORY_UNSPECIFIED Kategori bahaya tidak ditentukan.
HARM_CATEGORY_HATE_SPEECH Kategori bahayanya adalah ujaran kebencian.
HARM_CATEGORY_DANGEROUS_CONTENT Kategori bahayanya adalah konten berbahaya.
HARM_CATEGORY_HARASSMENT Kategori bahayanya adalah pelecehan.
HARM_CATEGORY_SEXUALLY_EXPLICIT Kategori bahayanya adalah konten seksual vulgar.
HARM_CATEGORY_PROFANITY Kategori bahaya adalah kata-kata tidak sopan.
HARM_CATEGORY_TOXIC Kategori bahayanya adalah beracun.

HarmBlockThreshold

Tingkat nilai minimum berbasis probabilitas untuk pemblokiran.

Enum
HARM_BLOCK_THRESHOLD_UNSPECIFIED Batas blokir bahaya yang tidak ditentukan.
BLOCK_LOW_AND_ABOVE Blokir nilai minimum rendah dan yang lebih tinggi (yaitu, blokir lebih banyak).
BLOCK_MEDIUM_AND_ABOVE Blokir nilai minimum sedang dan yang lebih tinggi.
BLOCK_ONLY_HIGH Blokir hanya nilai minimum tinggi (yaitu, blokir lebih sedikit).
BLOCK_NONE Jangan blokir.
OFF Nonaktifkan filter keamanan.

Jenis

Jenis pengawas.

Enum
TYPE_UNSPECIFIED Jenis tidak ditentukan.
INVALID_TEXT Jenis masalah teks tidak valid.
LANGUAGE_SHIFT Jenis masalah peralihan bahasa.
SPEAKER_SHIFT Jenis masalah pergantian speaker.
AUDIO_MISMATCH Jenis masalah ketidakcocokan audio.
MISSING_TOOL_CALL Jenis masalah panggilan alat tidak ada.
CUSTOM Jenis masalah kustom.
CHOPPY_AUDIO Jenis masalah audio terputus-putus.
PROFANITY Jenis masalah kata-kata tidak sopan agen.

DetectionMode

Mode deteksi supervisor.

Enum
DETECTION_MODE_UNSPECIFIED Mode deteksi tidak ditentukan. Defaultnya adalah NON_BLOCKING.
NON_BLOCKING Mode deteksi tanpa pemblokiran. Respons tidak diblokir saat deteksi pengawas sedang berlangsung.
BLOCKING Mode deteksi pemblokiran. Respons diblokir saat deteksi pengawas sedang berlangsung.

Skema Output

Pembatasan berisi daftar pemeriksaan dan keseimbangan untuk menjaga keamanan dan keselamatan agen.

Guardrail

Representasi JSON
{
  "name": string,
  "displayName": string,
  "description": string,
  "enabled": boolean,
  "action": {
    object (TriggerAction)
  },
  "createTime": string,
  "updateTime": string,
  "etag": string,

  // Union field guardrail_type can be only one of the following:
  "contentFilter": {
    object (ContentFilter)
  },
  "llmPromptSecurity": {
    object (LlmPromptSecurity)
  },
  "llmPolicy": {
    object (LlmPolicy)
  },
  "modelSafety": {
    object (ModelSafety)
  },
  "codeCallback": {
    object (CodeCallback)
  },
  "supervisor": {
    object (Supervisor)
  }
  // End of list of possible types for union field guardrail_type.
}
Kolom
name

string

ID. ID unik guardrail. Format: projects/{project}/locations/{location}/apps/{app}/guardrails/{guardrail}

displayName

string

Wajib. Nama tampilan guardrail.

description

string

Opsional. Deskripsi guardrail.

enabled

boolean

Opsional. Apakah guardrail diaktifkan.

action

object (TriggerAction)

Opsional. Tindakan yang harus dilakukan saat guardrail dipicu.

createTime

string (Timestamp format)

Hanya output. Stempel waktu saat guardrail dibuat.

Menggunakan RFC 3339 yang outputnya akan selalu dinormalisasi Z dan menggunakan 0, 3, 6, atau 9 digit pecahan. Offset selain "Z" juga diterima. Contoh: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z", atau "2014-10-02T15:01:23+05:30".

updateTime

string (Timestamp format)

Hanya output. Stempel waktu saat guardrail terakhir diperbarui.

Menggunakan RFC 3339 yang outputnya akan selalu dinormalisasi Z dan menggunakan 0, 3, 6, atau 9 digit pecahan. Offset selain "Z" juga diterima. Contoh: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z", atau "2014-10-02T15:01:23+05:30".

etag

string

Etag yang digunakan untuk memastikan objek tidak berubah selama operasi baca-ubah-tulis. Jika etag kosong, update akan menimpa perubahan serentak.

Kolom union guardrail_type. Jenis guardrail. guardrail_type hanya ada berupa salah satu diantara berikut:
contentFilter

object (ContentFilter)

Opsional. Guardrail yang melarang penggunaan konten tertentu dalam percakapan.

llmPromptSecurity

object (LlmPromptSecurity)

Opsional. Guardrail yang memblokir percakapan jika perintah dianggap tidak aman berdasarkan klasifikasi LLM.

llmPolicy

object (LlmPolicy)

Opsional. Guardrail yang memblokir percakapan jika respons LLM dianggap melanggar kebijakan berdasarkan klasifikasi LLM.

modelSafety

object (ModelSafety)

Opsional. Guardrail yang memblokir percakapan jika respons LLM dianggap tidak aman berdasarkan setelan keamanan model.

codeCallback

object (CodeCallback)

Opsional. Guardrail yang berpotensi memblokir percakapan berdasarkan hasil eksekusi callback.

supervisor

object (Supervisor)

Opsional. Pedoman yang menjalankan intervensi supervisor.

ContentFilter

Representasi JSON
{
  "bannedContents": [
    string
  ],
  "bannedContentsInUserInput": [
    string
  ],
  "bannedContentsInAgentResponse": [
    string
  ],
  "matchType": enum (MatchType),
  "disregardDiacritics": boolean,
  "sensitiveWordsExemptions": [
    string
  ]
}
Kolom
bannedContents[]

string

Opsional. Daftar frasa yang dilarang. Berlaku untuk input pengguna dan respons agen.

bannedContentsInUserInput[]

string

Opsional. Daftar frasa yang dilarang. Hanya berlaku untuk input pengguna.

bannedContentsInAgentResponse[]

string

Opsional. Daftar frasa yang dilarang. Hanya berlaku untuk respons agen.

matchType

enum (MatchType)

Wajib. Jenis pencocokan untuk filter konten.

disregardDiacritics

boolean

Opsional. Jika true, diakritik akan diabaikan selama pencocokan.

sensitiveWordsExemptions[]

string

Opsional. Entri daftar kata sensitif yang diizinkan oleh guardrail ini. Hanya valid jika match_type adalah SENSITIVE_WORDS. Setiap nilai harus sama dengan entri daftar (tidak peka huruf besar/kecil, spasi kosong di sekitarnya diabaikan); nilai lainnya tidak berpengaruh. Hanya berlaku untuk guardrail ini. Maksimum 1.000 entri dengan panjang masing-masing hingga 256 karakter.

LlmPromptSecurity

Representasi JSON
{
  "failOpen": boolean,

  // Union field security_config can be only one of the following:
  "defaultSettings": {
    object (DefaultSecuritySettings)
  },
  "customPolicy": {
    object (LlmPolicy)
  }
  // End of list of possible types for union field security_config.
}
Kolom
failOpen

boolean

Opsional. Menentukan perilaku saat guardrail mengalami error LLM. - Jika true: guardrail akan diabaikan. - Jika salah (default): guardrail akan dipicu/diblokir.

Catatan: Jika kebijakan kustom disediakan, kolom ini akan diabaikan dan digantikan oleh konfigurasi 'fail_open' kebijakan.

Kolom union security_config. Menentukan mode konfigurasi keamanan. Pengguna harus memilih salah satu konfigurasi berikut. security_config hanya ada berupa salah satu diantara berikut:
defaultSettings

object (DefaultSecuritySettings)

Opsional. Menggunakan setelan keamanan default yang telah ditentukan sistem. Untuk memilih mode ini, sertakan pesan 'default_settings' kosong dalam permintaan. Kolom 'default_prompt_template' di dalamnya akan diisi oleh server dalam respons.

customPolicy

object (LlmPolicy)

Opsional. Gunakan LlmPolicy yang ditentukan pengguna untuk mengonfigurasi guardrail keamanan.

DefaultSecuritySettings

Representasi JSON
{
  "defaultPromptTemplate": string
}
Kolom
defaultPromptTemplate

string

Hanya output. Template perintah default yang digunakan oleh sistem. Kolom ini ditujukan untuk tujuan tampilan guna menunjukkan kepada pengguna perintah yang digunakan sistem secara default. Nilainya adalah OUTPUT_ONLY.

LlmPolicy

Representasi JSON
{
  "maxConversationMessages": integer,
  "modelSettings": {
    object (ModelSettings)
  },
  "prompt": string,
  "policyScope": enum (PolicyScope),
  "failOpen": boolean,
  "allowShortUtterance": boolean
}
Kolom
maxConversationMessages

integer

Opsional. Saat memeriksa kebijakan ini, pertimbangkan 'n' pesan terakhir dalam percakapan. Jika tidak ditetapkan, nilai default 10 akan digunakan.

modelSettings

object (ModelSettings)

Opsional. Setelan model.

prompt

string

Wajib. Perintah kebijakan. Mendukung placeholder variabel sesi ({var}) serta {agent_system_instruction} untuk memasukkan petunjuk sistem yang telah di-resolve agen.

policyScope

enum (PolicyScope)

Wajib. Menentukan kapan harus menerapkan pemeriksaan kebijakan selama percakapan. Jika disetel ke POLICY_SCOPE_UNSPECIFIED, kebijakan akan diterapkan ke input pengguna. Saat menerapkan kebijakan ke respons agen, latensi tambahan akan muncul sebelum agen dapat merespons.

failOpen

boolean

Opsional. Jika terjadi error selama pemeriksaan kebijakan, fail open dan jangan picu guardrail.

allowShortUtterance

boolean

Opsional. Secara default, pemeriksaan kebijakan LLM dilewati untuk ucapan singkat. Jika setelan ini diaktifkan, pemeriksaan kebijakan akan diterapkan ke semua ucapan, termasuk ucapan yang biasanya dilewati.

ModelSettings

Representasi JSON
{
  "model": string,
  "thinkingLevel": enum (ThinkingLevel),

  // Union field _temperature can be only one of the following:
  "temperature": number
  // End of list of possible types for union field _temperature.
}
Kolom
model

string

Opsional. Model LLM yang harus digunakan agen. Jika tidak ditetapkan, agen akan mewarisi model dari agen induknya.

thinkingLevel

enum (ThinkingLevel)

Opsional. Tingkat penalaran model.

Kolom union _temperature.

_temperature hanya dapat berupa salah satu dari hal berikut:

temperature

number

Opsional. Jika ditetapkan, suhu ini akan digunakan untuk model LLM. Suhu mengontrol keacakan respons model. Suhu yang lebih rendah menghasilkan respons yang lebih dapat diprediksi. Suhu yang lebih tinggi menghasilkan respons yang lebih kreatif.

ModelSafety

Representasi JSON
{
  "safetySettings": [
    {
      object (SafetySetting)
    }
  ]
}
Kolom
safetySettings[]

object (SafetySetting)

Wajib. Daftar setelan keamanan.

SafetySetting

Representasi JSON
{
  "category": enum (HarmCategory),
  "threshold": enum (HarmBlockThreshold)
}
Kolom
category

enum (HarmCategory)

Wajib. Kategori bahaya.

threshold

enum (HarmBlockThreshold)

Wajib. Batas blokir bahaya.

CodeCallback

Representasi JSON
{
  "beforeAgentCallback": {
    object (Callback)
  },
  "afterAgentCallback": {
    object (Callback)
  },
  "beforeModelCallback": {
    object (Callback)
  },
  "afterModelCallback": {
    object (Callback)
  }
}
Kolom
beforeAgentCallback

object (Callback)

Opsional. Callback yang akan dijalankan sebelum agen dipanggil. Setiap fungsi callback diharapkan menampilkan struktur (misalnya, dict atau objek) yang berisi setidaknya: - 'decision': 'OK' atau 'TRIGGER'. - 'reason': String yang menjelaskan keputusan. Keputusan 'TRIGGER' dapat menghentikan pemrosesan lebih lanjut.

afterAgentCallback

object (Callback)

Opsional. Callback yang akan dieksekusi setelah agen dipanggil. Setiap fungsi callback diharapkan menampilkan struktur (misalnya, dict atau objek) yang berisi setidaknya: - 'decision': 'OK' atau 'TRIGGER'. - 'reason': String yang menjelaskan keputusan. Keputusan 'TRIGGER' dapat menghentikan pemrosesan lebih lanjut.

beforeModelCallback

object (Callback)

Opsional. Callback yang akan dijalankan sebelum model dipanggil. Jika ada beberapa panggilan ke model, callback akan dijalankan beberapa kali. Setiap fungsi callback diharapkan menampilkan struktur (misalnya, dict atau objek) yang berisi setidaknya: - 'decision': 'OK' atau 'TRIGGER'. - 'reason': String yang menjelaskan keputusan. Keputusan 'TRIGGER' dapat menghentikan pemrosesan lebih lanjut.

afterModelCallback

object (Callback)

Opsional. Callback yang akan dieksekusi setelah model dipanggil. Jika ada beberapa panggilan ke model, callback akan dijalankan beberapa kali. Setiap fungsi callback diharapkan menampilkan struktur (misalnya, dict atau objek) yang berisi setidaknya: - 'decision': 'OK' atau 'TRIGGER'. - 'reason': String yang menjelaskan keputusan. Keputusan 'TRIGGER' dapat menghentikan pemrosesan lebih lanjut.

Callback

Representasi JSON
{
  "description": string,
  "disabled": boolean,
  "proactiveExecutionEnabled": boolean,

  // Union field callback can be only one of the following:
  "pythonCode": string
  // End of list of possible types for union field callback.
}
Kolom
description

string

Opsional. Deskripsi callback yang dapat dibaca manusia.

disabled

boolean

Opsional. Apakah callback dinonaktifkan. Callback yang dinonaktifkan akan diabaikan oleh agen.

proactiveExecutionEnabled

boolean

Opsional. Jika diaktifkan, callback juga akan dieksekusi pada output model perantara. Setelan ini hanya memengaruhi callback setelah model. AKTIFKAN DENGAN HATI-HATI. Biasanya, callback setelah model hanya perlu dijalankan setelah menerima semua respons model. Mengaktifkan eksekusi proaktif dapat berdampak negatif pada biaya dan latensi eksekusi, dan hanya boleh diaktifkan dalam situasi yang jarang terjadi.

Kolom union callback. Callback yang akan dieksekusi. callback hanya ada berupa salah satu diantara berikut:
pythonCode

string

Wajib. Kode python yang akan dieksekusi untuk callback.

Supervisor

Representasi JSON
{
  "type": enum (Type),
  "detectionMode": enum (DetectionMode)
}
Kolom
type

enum (Type)

Opsional. Jenis supervisor.

detectionMode

enum (DetectionMode)

Opsional. Mode deteksi supervisor.

TriggerAction

Representasi JSON
{

  // Union field action can be only one of the following:
  "respondImmediately": {
    object (RespondImmediately)
  },
  "transferAgent": {
    object (TransferAgent)
  },
  "generativeAnswer": {
    object (GenerativeAnswer)
  }
  // End of list of possible types for union field action.
}
Kolom
Kolom union action. Tindakan yang harus diambil. action hanya ada berupa salah satu diantara berikut:
respondImmediately

object (RespondImmediately)

Opsional. Segera merespons dengan respons yang telah dikonfigurasi sebelumnya.

transferAgent

object (TransferAgent)

Opsional. Mentransfer percakapan ke agen lain.

generativeAnswer

object (GenerativeAnswer)

Opsional. Merespons dengan jawaban generatif.

RespondImmediately

Representasi JSON
{
  "responses": [
    {
      object (Response)
    }
  ]
}
Kolom
responses[]

object (Response)

Wajib. Template pesan yang dapat dipilih agen. Respons dipilih secara acak.

Respons

Representasi JSON
{
  "text": string,
  "disabled": boolean
}
Kolom
text

string

Wajib. Teks yang akan digunakan agen untuk merespons.

disabled

boolean

Opsional. Apakah respons dinonaktifkan. Respons yang dinonaktifkan tidak digunakan oleh agen.

TransferAgent

Representasi JSON
{
  "agent": string
}
Kolom
agent

string

Wajib. Nama agen yang akan menerima transfer percakapan. Agen harus berada di aplikasi yang sama dengan agen saat ini. Format: projects/{project}/locations/{location}/apps/{app}/agents/{agent}

GenerativeAnswer

Representasi JSON
{
  "prompt": string
}
Kolom
prompt

string

Wajib. Perintah yang akan digunakan untuk jawaban generatif.

Stempel waktu

Representasi JSON
{
  "seconds": string,
  "nanos": integer
}
Kolom
seconds

string (int64 format)

Mewakili detik waktu UTC sejak epoch Unix 1970-01-01T00:00:00Z. Harus antara -62135596800 dan 253402300799 inklusif (yang sesuai dengan 0001-01-01T00:00:00Z hingga 9999-12-31T23:59:59Z).

nanos

integer

Pecahan detik non-negatif pada resolusi nanodetik. Kolom ini adalah bagian nanodetik dari durasi, bukan alternatif untuk detik. Nilai detik negatif dengan pecahan harus tetap memiliki nilai nano non-negatif yang dihitung maju dalam waktu. Harus antara 0 dan 999.999.999 inklusif.

MatchType

Jenis pencocokan untuk filter konten.

Enum
MATCH_TYPE_UNSPECIFIED Jenis pencocokan tidak ditentukan.
SIMPLE_STRING_MATCH Konten dicocokkan untuk substring karakter demi karakter.
WORD_BOUNDARY_STRING_MATCH Konten hanya cocok jika pola yang ditemukan dalam teks dikelilingi oleh pembatas kata. Frasa yang dilarang juga dapat berisi pembatas kata.
REGEXP_MATCH Konten dicocokkan menggunakan sintaksis ekspresi reguler.
SENSITIVE_WORDS Konten dicocokkan dengan daftar kata dan frasa sensitif yang dikelola sistem. Memasang guardrail dengan jenis pencocokan ini ke aplikasi atau agen akan menggantikan filter kata sensitif default untuk agen yang terpengaruh; nonaktifkan guardrail untuk memilih tidak menggunakan filter default.

ThinkingLevel

Konfigurasi tingkat penalaran untuk model.

Enum
THINKING_LEVEL_UNSPECIFIED Tingkat penalaran tidak ditentukan.
DEFAULT Tingkat penalaran default.
LOW Tingkat penalaran rendah.
MEDIUM Tingkat penalaran sedang.
HIGH Tingkat penalaran tinggi.

PolicyScope

Menentukan kapan harus menerapkan pemeriksaan kebijakan selama percakapan.

Enum
POLICY_SCOPE_UNSPECIFIED Cakupan kebijakan tidak ditentukan.
USER_QUERY Pemeriksaan kebijakan dipicu pada input pengguna.
AGENT_RESPONSE Pemeriksaan kebijakan dipicu pada respons agen. Menerapkan cakupan kebijakan ini akan menimbulkan latensi tambahan sebelum agen dapat merespons.
USER_QUERY_AND_AGENT_RESPONSE Pemeriksaan kebijakan dipicu pada input pengguna dan respons agen. Menerapkan cakupan kebijakan ini akan menimbulkan latensi tambahan sebelum agen dapat merespons.

HarmCategory

Kategori bahaya.

Enum
HARM_CATEGORY_UNSPECIFIED Kategori bahaya tidak ditentukan.
HARM_CATEGORY_HATE_SPEECH Kategori bahayanya adalah ujaran kebencian.
HARM_CATEGORY_DANGEROUS_CONTENT Kategori bahayanya adalah konten berbahaya.
HARM_CATEGORY_HARASSMENT Kategori bahayanya adalah pelecehan.
HARM_CATEGORY_SEXUALLY_EXPLICIT Kategori bahayanya adalah konten seksual vulgar.
HARM_CATEGORY_PROFANITY Kategori bahaya adalah kata-kata tidak sopan.
HARM_CATEGORY_TOXIC Kategori bahayanya adalah beracun.

HarmBlockThreshold

Tingkat nilai minimum berbasis probabilitas untuk pemblokiran.

Enum
HARM_BLOCK_THRESHOLD_UNSPECIFIED Batas blokir bahaya yang tidak ditentukan.
BLOCK_LOW_AND_ABOVE Blokir nilai minimum rendah dan yang lebih tinggi (yaitu, blokir lebih banyak).
BLOCK_MEDIUM_AND_ABOVE Blokir nilai minimum sedang dan yang lebih tinggi.
BLOCK_ONLY_HIGH Blokir hanya nilai minimum tinggi (yaitu, blokir lebih sedikit).
BLOCK_NONE Jangan blokir.
OFF Nonaktifkan filter keamanan.

Jenis

Jenis pengawas.

Enum
TYPE_UNSPECIFIED Jenis tidak ditentukan.
INVALID_TEXT Jenis masalah teks tidak valid.
LANGUAGE_SHIFT Jenis masalah peralihan bahasa.
SPEAKER_SHIFT Jenis masalah pergantian speaker.
AUDIO_MISMATCH Jenis masalah ketidakcocokan audio.
MISSING_TOOL_CALL Jenis masalah panggilan alat tidak ada.
CUSTOM Jenis masalah kustom.
CHOPPY_AUDIO Jenis masalah audio terputus-putus.
PROFANITY Jenis masalah kata-kata tidak sopan agen.

DetectionMode

Mode deteksi supervisor.

Enum
DETECTION_MODE_UNSPECIFIED Mode deteksi tidak ditentukan. Defaultnya adalah NON_BLOCKING.
NON_BLOCKING Mode deteksi tanpa pemblokiran. Respons tidak diblokir saat deteksi pengawas sedang berlangsung.
BLOCKING Mode deteksi pemblokiran. Respons diblokir saat deteksi pengawas sedang berlangsung.

Anotasi Alat

Anotasi alat dikirim ke klien MCP untuk menjelaskan risiko dasar alat tertentu. Sebagian besar klien memperlakukan petunjuk ini sebagai tidak tepercaya, tetapi petunjuk tersebut dapat digunakan untuk memutuskan kapan perintah konfirmasi dapat dikirim kepada pengguna.

Bersama dengan string judul, petunjuk boolean berikut ditentukan sebagai berikut:

  • readOnlyHint: Jika benar, alat tidak akan mengubah lingkungannya. Default: false.
  • destructiveHint: Jika benar, alat dapat melakukan tindakan destruktif. Jika salah, alat hanya dapat melakukan tindakan aditif. Default: true.
  • idempotentHint: Jika benar, memanggil alat berulang kali dengan argumen yang sama tidak akan memberikan efek tambahan pada lingkungannya. Default: false.
  • openWorldHint: Jika benar, alat dapat berinteraksi dengan 'open world' entitas eksternal. Jika salah, alat hanya dapat berinteraksi dengan entity internal. Misalnya, alat penelusuran web akan bersifat open world, sedangkan alat memori tidak akan bersifat open world.

Destructive Hint: ✅ | Idempotent Hint: ❌ | Read Only Hint: ❌ | Open World Hint: ❌