Alat: create_agent
Membuat agen baru di aplikasi yang diberikan.
Contoh kode berikut menunjukkan cara menggunakan curl untuk memanggil alat MCP create_agent.
| 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_agent", "arguments": { // Provide these details according to the MCP tool specification. } }, "jsonrpc": "2.0", "id": 1 }' |
Skema Input
CreateAgentRequest
| Representasi JSON |
|---|
{
"parent": string,
"agentId": string,
"agent": {
object ( |
| Kolom | |
|---|---|
parent |
Wajib. Nama resource aplikasi untuk membuat agen. |
agentId |
Opsional. ID yang akan digunakan untuk agen, yang akan menjadi komponen akhir dari nama resource agen. Jika tidak diberikan, ID unik akan otomatis ditetapkan untuk agen. |
agent |
Wajib. Agen yang akan dibuat. |
Agen
| Representasi JSON |
|---|
{ "name": string, "displayName": string, "description": string, "modelSettings": { object ( |
| Kolom | |
|---|---|
name |
ID. ID unik agen. Format: |
displayName |
Wajib. Nama tampilan agen. |
description |
Opsional. Deskripsi agen yang dapat dibaca manusia. |
modelSettings |
Opsional. Konfigurasi untuk model LLM. |
instruction |
Opsional. Petunjuk untuk model LLM guna memandu perilaku agen. |
tools[] |
Opsional. Daftar alat yang tersedia untuk agen. Format: |
childAgents[] |
Opsional. Daftar agen turunan di struktur agen. Format: |
beforeAgentCallbacks[] |
Opsional. Callback yang akan dieksekusi sebelum agen dipanggil. Callback yang diberikan dieksekusi secara berurutan dalam urutan persis seperti yang diberikan dalam daftar. Jika callback menampilkan respons yang diganti, eksekusi akan berhenti dan callback yang tersisa akan dilewati. |
afterAgentCallbacks[] |
Opsional. Callback yang akan dieksekusi setelah agen dipanggil. Callback yang diberikan dieksekusi secara berurutan dalam urutan persis seperti yang diberikan dalam daftar. Jika callback menampilkan respons yang diganti, eksekusi akan berhenti dan callback yang tersisa akan dilewati. |
beforeModelCallbacks[] |
Opsional. Callback yang akan dieksekusi sebelum model dipanggil. Jika ada beberapa panggilan ke model, callback akan dieksekusi beberapa kali. Callback yang diberikan dieksekusi secara berurutan dalam urutan persis seperti yang diberikan dalam daftar. Jika callback menampilkan respons yang diganti, eksekusi akan berhenti dan callback yang tersisa akan dilewati. |
afterModelCallbacks[] |
Opsional. Callback yang akan dijalankan setelah model dipanggil. Jika ada beberapa panggilan ke model, callback akan dieksekusi beberapa kali. Callback yang diberikan dieksekusi secara berurutan dalam urutan persis seperti yang diberikan dalam daftar. Jika callback menampilkan respons yang diganti, eksekusi akan berhenti dan callback yang tersisa akan dilewati. |
beforeToolCallbacks[] |
Opsional. Callback yang akan dieksekusi sebelum alat dipanggil. Jika ada beberapa pemanggilan alat, callback akan dieksekusi beberapa kali. Callback yang diberikan dieksekusi secara berurutan dalam urutan persis seperti yang diberikan dalam daftar. Jika callback menampilkan respons yang diganti, eksekusi akan berhenti dan callback yang tersisa akan dilewati. |
afterToolCallbacks[] |
Opsional. Callback yang akan dieksekusi setelah alat dipanggil. Jika ada beberapa pemanggilan alat, callback akan dieksekusi beberapa kali. Callback yang diberikan dieksekusi secara berurutan dalam urutan persis seperti yang diberikan dalam daftar. Jika callback menampilkan respons yang diganti, eksekusi akan berhenti dan callback yang tersisa akan dilewati. |
createTime |
Hanya output. Stempel waktu saat agen 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: |
updateTime |
Hanya output. Stempel waktu saat agen 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: |
guardrails[] |
Opsional. Daftar batasan untuk agen. Format: |
etag |
ETag yang digunakan untuk memastikan objek tidak berubah selama operasi baca-ubah-tulis. Jika etag kosong, pembaruan akan menimpa perubahan serentak. |
toolsets[] |
Opsional. Daftar toolset untuk agen. |
generatedSummary |
Hanya output. Jika agen dibuat oleh asisten LLM, kolom ini berisi ringkasan deskriptif dari pembuatan tersebut. |
transferRules[] |
Opsional. Aturan transfer agen. Jika ada beberapa aturan yang cocok, aturan pertama dalam daftar akan digunakan. |
validationErrors[] |
Hanya output. Kesalahan konfigurasi atau error pada agen yang dapat memengaruhi kualitas agen. |
Kolom union agent_type. Jenis agen. agent_type hanya ada berupa salah satu diantara berikut: |
|
llmAgent |
Opsional. Jenis agen default. |
remoteDialogflowAgent |
Opsional. Agen Dialogflow jarak jauh yang akan digunakan untuk eksekusi agen. Jika kolom ini ditetapkan, semua properti tingkat agen lainnya akan diabaikan. Catatan: Jika agen Dialogflow berada dalam project yang berbeda dari aplikasi, Anda harus memberikan |
remoteA2aAgent |
Opsional. Agen A2A jarak jauh yang akan digunakan untuk eksekusi agen. |
RemoteDialogflowAgent
| Representasi JSON |
|---|
{ "agent": string, "flowId": string, "environmentId": string, "inputVariableMapping": { string: string, ... }, "outputVariableMapping": { string: string, ... }, "respectResponseInterruptionSettings": boolean, "languageCodeVariable": string } |
| Kolom | |
|---|---|
agent |
Wajib. Nama resource agen Dialogflow. Format: |
flowId |
Opsional. ID alur untuk alur di agen Dialogflow. |
environmentId |
Opsional. ID lingkungan agen Dialogflow yang akan digunakan untuk eksekusi agen. Jika tidak ditentukan, lingkungan draf akan digunakan. |
inputVariableMapping |
Opsional. Pemetaan nama variabel aplikasi ke nama parameter sesi Dialogflow yang akan dikirim ke agen Dialogflow sebagai input. Objek yang berisi daftar pasangan |
outputVariableMapping |
Opsional. Pemetaan nama parameter sesi Dialogflow ke nama variabel aplikasi yang akan dikirim kembali ke agen CES setelah eksekusi agen Dialogflow berakhir. Objek yang berisi daftar pasangan |
respectResponseInterruptionSettings |
Opsional. Menunjukkan apakah akan mematuhi setelan gangguan tingkat pesan yang dikonfigurasi di agen Dialogflow.
|
languageCodeVariable |
Opsional. Nama variabel yang berisi kode bahasa yang akan digunakan untuk sesi Dialogflow. Jika tidak ditentukan, kode bahasa default agen Dialogflow akan digunakan. |
InputVariableMappingEntry
| Representasi JSON |
|---|
{ "key": string, "value": string } |
| Kolom | |
|---|---|
key |
|
value |
|
OutputVariableMappingEntry
| Representasi JSON |
|---|
{ "key": string, "value": string } |
| Kolom | |
|---|---|
key |
|
value |
|
RemoteA2aAgent
| Representasi JSON |
|---|
{
"a2aConfig": {
object ( |
| Kolom | |
|---|---|
a2aConfig |
Wajib. Konfigurasi koneksi A2A. |
RemoteA2aConfig
| Representasi JSON |
|---|
{ "apiAuthentication": { object ( |
| Kolom | |
|---|---|
apiAuthentication |
Opsional. Konfigurasi autentikasi untuk memanggil agen jarak jauh. Opsional jika referensi registry sudah menangani autentikasi. |
inputVariableMapping |
Opsional. Pemetaan nama variabel input agen jarak jauh ke nama variabel GECX. Objek yang berisi daftar pasangan |
outputVariableMapping |
Opsional. Pemetaan nama variabel output agen jarak jauh ke nama variabel GECX. Objek yang berisi daftar pasangan |
streamingEnabled |
Opsional. Apakah streaming diaktifkan untuk agen jarak jauh. |
contextId |
Opsional. Jika tidak kosong, interaksi dengan agen A2A jarak jauh akan menggunakan ID konteks ini. Kolom context_id ini dapat merujuk ke variabel sesi seperti |
Kolom union agent_spec. Spesifikasi agen jarak jauh. agent_spec hanya ada berupa salah satu diantara berikut: |
|
agentCard |
Opsional. Kartu agen lengkap yang ditentukan secara inline. |
agentRegistry |
Opsional. Referensi ke agen di Agent Registry. Format: |
AgentCard
| Representasi JSON |
|---|
{ "name": string, "description": string, "supportedInterfaces": [ { object ( |
| Kolom | |
|---|---|
name |
Wajib. Nama agen yang dapat dibaca manusia. |
description |
Wajib. Deskripsi domain tindakan/ruang solusi agen. |
supportedInterfaces[] |
Wajib. Daftar antarmuka yang didukung dan diurutkan. Entri pertama lebih disukai. |
version |
Wajib. Versi agen. |
skills[] |
Wajib. Keahlian mewakili unit kemampuan yang dapat dilakukan agen. Hal ini mungkin agak abstrak, tetapi mewakili serangkaian tindakan yang lebih terfokus yang kemungkinan besar akan berhasil dilakukan agen. |
AgentInterface
| Representasi JSON |
|---|
{ "url": string, "protocolBinding": string, "tenant": string, "protocolVersion": string } |
| Kolom | |
|---|---|
url |
Wajib. URL tempat antarmuka ini tersedia. Harus berupa URL HTTPS absolut yang valid dalam produksi. Contoh: "https://api.example.com/a2a/v1", "https://grpc.example.com/a2a" |
protocolBinding |
Wajib. Pengikatan protokol yang didukung di URL ini. Ini adalah string formulir terbuka, yang dapat dengan mudah diperluas untuk binding protokol lainnya. Yang didukung secara resmi adalah |
tenant |
ID tenant yang akan digunakan dalam permintaan saat memanggil agen. |
protocolVersion |
Wajib. Versi protokol A2A yang diekspos oleh antarmuka ini. Gunakan versi minor terbaru yang didukung per versi utama. Contoh: "0.3", "1.0" |
AgentSkill
| Representasi JSON |
|---|
{ "id": string, "name": string, "description": string, "tags": [ string ], "examples": [ string ], "inputModes": [ string ], "outputModes": [ string ] } |
| Kolom | |
|---|---|
id |
Wajib. ID unik untuk kemampuan agen. |
name |
Wajib. Nama keahlian yang dapat dibaca manusia. |
description |
Wajib. Deskripsi mendetail tentang keahlian. |
tags[] |
Wajib. Sekumpulan kata kunci yang menjelaskan kemampuan skill. |
examples[] |
Contoh perintah atau skenario yang dapat ditangani oleh kemampuan ini. |
inputModes[] |
Kumpulan jenis media input yang didukung untuk skill ini, yang menggantikan default agen. |
outputModes[] |
Kumpulan jenis media output yang didukung untuk skill ini, yang menggantikan default agen. |
ApiAuthentication
| Representasi JSON |
|---|
{ // Union field |
| Kolom | |
|---|---|
Kolom union auth_config. Konfigurasi autentikasi. auth_config hanya ada berupa salah satu diantara berikut: |
|
apiKeyConfig |
Opsional. Konfigurasi untuk autentikasi kunci API. |
oauthConfig |
Opsional. Konfigurasi untuk OAuth. |
serviceAgentIdTokenAuthConfig |
Opsional. Konfigurasi untuk autentikasi token ID yang dibuat dari agen layanan CES. |
serviceAccountAuthConfig |
Opsional. Konfigurasi untuk autentikasi akun layanan. |
bearerTokenConfig |
Opsional. Konfigurasi untuk autentikasi token pembawa. |
ApiKeyConfig
| Representasi JSON |
|---|
{
"keyName": string,
"apiKeySecretVersion": string,
"requestLocation": enum ( |
| Kolom | |
|---|---|
keyName |
Wajib. Nama parameter atau nama header kunci API. Misalnya, Jika permintaan API adalah "https://example.com/act?X-Api-Key= |
apiKeySecretVersion |
Wajib. Nama resource versi secret SecretManager yang menyimpan kunci API. Format: Catatan: Anda harus memberikan peran |
requestLocation |
Wajib. Lokasi kunci dalam permintaan. |
OAuthConfig
| Representasi JSON |
|---|
{
"oauthGrantType": enum ( |
| Kolom | |
|---|---|
oauthGrantType |
Wajib. Jenis pemberian izin OAuth. |
clientId |
Wajib. Client ID dari penyedia OAuth. |
clientSecretVersion |
Wajib. Nama resource versi secret SecretManager yang menyimpan rahasia klien. Format: Catatan: Anda harus memberikan peran |
tokenEndpoint |
Wajib. Endpoint token di penyedia OAuth untuk ditukar dengan token akses. |
scopes[] |
Opsional. Cakupan OAuth yang akan diberikan. |
ServiceAccountAuthConfig
| Representasi JSON |
|---|
{ "serviceAccount": string, "scopes": [ string ] } |
| Kolom | |
|---|---|
serviceAccount |
Wajib. Alamat email akun layanan yang digunakan untuk autentikasi. CES menggunakan akun layanan ini untuk menukar token akses dan token akses tersebut kemudian dikirim di header Akun layanan harus memiliki peran |
scopes[] |
Opsional. Cakupan OAuth yang akan diberikan. Jika tidak ditentukan, cakupan default |
BearerTokenConfig
| Representasi JSON |
|---|
{ "token": string } |
| Kolom | |
|---|---|
token |
Wajib. Token pemilik. Harus dalam format |
InputVariableMappingEntry
| Representasi JSON |
|---|
{ "key": string, "value": string } |
| Kolom | |
|---|---|
key |
|
value |
|
OutputVariableMappingEntry
| Representasi JSON |
|---|
{ "key": string, "value": string } |
| Kolom | |
|---|---|
key |
|
value |
|
ModelSettings
| Representasi JSON |
|---|
{ "model": string, "thinkingLevel": enum ( |
| Kolom | |
|---|---|
model |
Opsional. Model LLM yang harus digunakan agen. Jika tidak disetel, agen akan mewarisi model dari agen induknya. |
thinkingLevel |
Opsional. Tingkat penalaran model. |
Kolom union
|
|
temperature |
Opsional. Jika disetel, suhu ini akan digunakan untuk model LLM. Temperatur mengontrol keacakan respons model. Temperatur yang lebih rendah menghasilkan respons yang lebih dapat diprediksi. Temperatur yang lebih tinggi menghasilkan respons yang lebih kreatif. |
Callback
| Representasi JSON |
|---|
{ "description": string, "disabled": boolean, "proactiveExecutionEnabled": boolean, // Union field |
| Kolom | |
|---|---|
description |
Opsional. Deskripsi callback yang dapat dibaca manusia. |
disabled |
Opsional. Apakah panggilan balik dinonaktifkan. Callback yang dinonaktifkan akan diabaikan oleh agen. |
proactiveExecutionEnabled |
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 dieksekusi setelah menerima semua respons model. Mengaktifkan eksekusi proaktif dapat berimplikasi 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 |
Wajib. Kode python yang akan dieksekusi untuk callback. |
Stempel waktu
| Representasi JSON |
|---|
{ "seconds": string, "nanos": integer } |
| Kolom | |
|---|---|
seconds |
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 |
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 nanos non-negatif yang dihitung maju dalam waktu. Harus antara 0 dan 999.999.999 inklusif. |
AgentToolset
| Representasi JSON |
|---|
{ "toolset": string, "toolIds": [ string ] } |
| Kolom | |
|---|---|
toolset |
Wajib. Nama resource toolset. Format: |
toolIds[] |
Opsional. ID alat untuk memfilter set alat. |
TransferRule
| Representasi JSON |
|---|
{ "childAgent": string, "direction": enum ( |
| Kolom | |
|---|---|
childAgent |
Wajib. Nama resource agen turunan tempat aturan diterapkan. Format: |
direction |
Wajib. Arah transfer. |
Kolom union rule_type. Jenis aturan. rule_type hanya ada berupa salah satu diantara berikut: |
|
deterministicTransfer |
Opsional. Aturan yang segera ditransfer ke agen target saat kondisi terpenuhi. |
disablePlannerTransfer |
Opsional. Aturan yang mencegah perencana berpindah ke agen target. |
DeterministicTransfer
| Representasi JSON |
|---|
{ // Union field |
| Kolom | |
|---|---|
Kolom union condition_type. Kondisi yang akan dievaluasi. condition_type hanya ada berupa salah satu diantara berikut: |
|
expressionCondition |
Opsional. Aturan yang mengevaluasi kondisi status sesi. Jika kondisi bernilai benar, transfer akan terjadi. |
pythonCodeCondition |
Opsional. Aturan yang menggunakan blok kode Python untuk mengevaluasi kondisi. Jika kondisi bernilai benar, transfer akan terjadi. |
ExpressionCondition
| Representasi JSON |
|---|
{ "expression": string } |
| Kolom | |
|---|---|
expression |
Wajib. Representasi string dari kondisi cloud.api.Expression. |
PythonCodeCondition
| Representasi JSON |
|---|
{ "pythonCode": string } |
| Kolom | |
|---|---|
pythonCode |
Wajib. Kode python yang akan dieksekusi. |
DisablePlannerTransfer
| Representasi JSON |
|---|
{
"expressionCondition": {
object ( |
| Kolom | |
|---|---|
expressionCondition |
Wajib. Jika kondisi bernilai benar, perencana tidak akan diizinkan untuk ditransfer ke agen target. |
RequestLocation
Lokasi kunci API dalam permintaan.
| Enum | |
|---|---|
REQUEST_LOCATION_UNSPECIFIED |
Tidak ditentukan. Nilai ini tidak boleh digunakan. |
HEADER |
Mewakili kunci di header http. |
QUERY_STRING |
Mewakili kunci dalam string kueri. |
OauthGrantType
Jenis pemberian izin OAuth. Hanya pemberian kredensial klien yang didukung.
| Enum | |
|---|---|
OAUTH_GRANT_TYPE_UNSPECIFIED |
Tidak ditentukan. Nilai defaultnya adalah CLIENT_CREDENTIAL. |
CLIENT_CREDENTIAL |
Mewakili alur kredensial klien. |
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 pemikiran tinggi. |
Arah
Arah transfer.
| Enum | |
|---|---|
DIRECTION_UNSPECIFIED |
Arah tidak ditentukan. |
PARENT_TO_CHILD |
Transfer dari agen induk ke agen turunan. |
CHILD_TO_PARENT |
Transfer dari agen anak ke agen induk. |
Skema Output
Agen bertindak sebagai elemen penyusun dasar yang memberikan petunjuk ke Model Bahasa Besar (LLM) untuk menjalankan tugas tertentu.
Agen
| Representasi JSON |
|---|
{ "name": string, "displayName": string, "description": string, "modelSettings": { object ( |
| Kolom | |
|---|---|
name |
ID. ID unik agen. Format: |
displayName |
Wajib. Nama tampilan agen. |
description |
Opsional. Deskripsi agen yang dapat dibaca manusia. |
modelSettings |
Opsional. Konfigurasi untuk model LLM. |
instruction |
Opsional. Petunjuk untuk model LLM guna memandu perilaku agen. |
tools[] |
Opsional. Daftar alat yang tersedia untuk agen. Format: |
childAgents[] |
Opsional. Daftar agen turunan di struktur agen. Format: |
beforeAgentCallbacks[] |
Opsional. Callback yang akan dieksekusi sebelum agen dipanggil. Callback yang diberikan dieksekusi secara berurutan dalam urutan persis seperti yang diberikan dalam daftar. Jika callback menampilkan respons yang diganti, eksekusi akan berhenti dan callback yang tersisa akan dilewati. |
afterAgentCallbacks[] |
Opsional. Callback yang akan dieksekusi setelah agen dipanggil. Callback yang diberikan dieksekusi secara berurutan dalam urutan persis seperti yang diberikan dalam daftar. Jika callback menampilkan respons yang diganti, eksekusi akan berhenti dan callback yang tersisa akan dilewati. |
beforeModelCallbacks[] |
Opsional. Callback yang akan dieksekusi sebelum model dipanggil. Jika ada beberapa panggilan ke model, callback akan dieksekusi beberapa kali. Callback yang diberikan dieksekusi secara berurutan dalam urutan persis seperti yang diberikan dalam daftar. Jika callback menampilkan respons yang diganti, eksekusi akan berhenti dan callback yang tersisa akan dilewati. |
afterModelCallbacks[] |
Opsional. Callback yang akan dijalankan setelah model dipanggil. Jika ada beberapa panggilan ke model, callback akan dieksekusi beberapa kali. Callback yang diberikan dieksekusi secara berurutan dalam urutan persis seperti yang diberikan dalam daftar. Jika callback menampilkan respons yang diganti, eksekusi akan berhenti dan callback yang tersisa akan dilewati. |
beforeToolCallbacks[] |
Opsional. Callback yang akan dieksekusi sebelum alat dipanggil. Jika ada beberapa pemanggilan alat, callback akan dieksekusi beberapa kali. Callback yang diberikan dieksekusi secara berurutan dalam urutan persis seperti yang diberikan dalam daftar. Jika callback menampilkan respons yang diganti, eksekusi akan berhenti dan callback yang tersisa akan dilewati. |
afterToolCallbacks[] |
Opsional. Callback yang akan dieksekusi setelah alat dipanggil. Jika ada beberapa pemanggilan alat, callback akan dieksekusi beberapa kali. Callback yang diberikan dieksekusi secara berurutan dalam urutan persis seperti yang diberikan dalam daftar. Jika callback menampilkan respons yang diganti, eksekusi akan berhenti dan callback yang tersisa akan dilewati. |
createTime |
Hanya output. Stempel waktu saat agen 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: |
updateTime |
Hanya output. Stempel waktu saat agen 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: |
guardrails[] |
Opsional. Daftar batasan untuk agen. Format: |
etag |
ETag yang digunakan untuk memastikan objek tidak berubah selama operasi baca-ubah-tulis. Jika etag kosong, pembaruan akan menimpa perubahan serentak. |
toolsets[] |
Opsional. Daftar toolset untuk agen. |
generatedSummary |
Hanya output. Jika agen dibuat oleh asisten LLM, kolom ini berisi ringkasan deskriptif dari pembuatan tersebut. |
transferRules[] |
Opsional. Aturan transfer agen. Jika ada beberapa aturan yang cocok, aturan pertama dalam daftar akan digunakan. |
validationErrors[] |
Hanya output. Kesalahan konfigurasi atau error pada agen yang dapat memengaruhi kualitas agen. |
Kolom union agent_type. Jenis agen. agent_type hanya ada berupa salah satu diantara berikut: |
|
llmAgent |
Opsional. Jenis agen default. |
remoteDialogflowAgent |
Opsional. Agen Dialogflow jarak jauh yang akan digunakan untuk eksekusi agen. Jika kolom ini ditetapkan, semua properti tingkat agen lainnya akan diabaikan. Catatan: Jika agen Dialogflow berada dalam project yang berbeda dari aplikasi, Anda harus memberikan |
remoteA2aAgent |
Opsional. Agen A2A jarak jauh yang akan digunakan untuk eksekusi agen. |
RemoteDialogflowAgent
| Representasi JSON |
|---|
{ "agent": string, "flowId": string, "environmentId": string, "inputVariableMapping": { string: string, ... }, "outputVariableMapping": { string: string, ... }, "respectResponseInterruptionSettings": boolean, "languageCodeVariable": string } |
| Kolom | |
|---|---|
agent |
Wajib. Nama resource agen Dialogflow. Format: |
flowId |
Opsional. ID alur untuk alur di agen Dialogflow. |
environmentId |
Opsional. ID lingkungan agen Dialogflow yang akan digunakan untuk eksekusi agen. Jika tidak ditentukan, lingkungan draf akan digunakan. |
inputVariableMapping |
Opsional. Pemetaan nama variabel aplikasi ke nama parameter sesi Dialogflow yang akan dikirim ke agen Dialogflow sebagai input. Objek yang berisi daftar pasangan |
outputVariableMapping |
Opsional. Pemetaan nama parameter sesi Dialogflow ke nama variabel aplikasi yang akan dikirim kembali ke agen CES setelah eksekusi agen Dialogflow berakhir. Objek yang berisi daftar pasangan |
respectResponseInterruptionSettings |
Opsional. Menunjukkan apakah akan mematuhi setelan gangguan tingkat pesan yang dikonfigurasi di agen Dialogflow.
|
languageCodeVariable |
Opsional. Nama variabel yang berisi kode bahasa yang akan digunakan untuk sesi Dialogflow. Jika tidak ditentukan, kode bahasa default agen Dialogflow akan digunakan. |
InputVariableMappingEntry
| Representasi JSON |
|---|
{ "key": string, "value": string } |
| Kolom | |
|---|---|
key |
|
value |
|
OutputVariableMappingEntry
| Representasi JSON |
|---|
{ "key": string, "value": string } |
| Kolom | |
|---|---|
key |
|
value |
|
RemoteA2aAgent
| Representasi JSON |
|---|
{
"a2aConfig": {
object ( |
| Kolom | |
|---|---|
a2aConfig |
Wajib. Konfigurasi koneksi A2A. |
RemoteA2aConfig
| Representasi JSON |
|---|
{ "apiAuthentication": { object ( |
| Kolom | |
|---|---|
apiAuthentication |
Opsional. Konfigurasi autentikasi untuk memanggil agen jarak jauh. Opsional jika referensi registry sudah menangani autentikasi. |
inputVariableMapping |
Opsional. Pemetaan nama variabel input agen jarak jauh ke nama variabel GECX. Objek yang berisi daftar pasangan |
outputVariableMapping |
Opsional. Pemetaan nama variabel output agen jarak jauh ke nama variabel GECX. Objek yang berisi daftar pasangan |
streamingEnabled |
Opsional. Apakah streaming diaktifkan untuk agen jarak jauh. |
contextId |
Opsional. Jika tidak kosong, interaksi dengan agen A2A jarak jauh akan menggunakan ID konteks ini. Kolom context_id ini dapat merujuk ke variabel sesi seperti |
Kolom union agent_spec. Spesifikasi agen jarak jauh. agent_spec hanya ada berupa salah satu diantara berikut: |
|
agentCard |
Opsional. Kartu agen lengkap yang ditentukan secara inline. |
agentRegistry |
Opsional. Referensi ke agen di Agent Registry. Format: |
AgentCard
| Representasi JSON |
|---|
{ "name": string, "description": string, "supportedInterfaces": [ { object ( |
| Kolom | |
|---|---|
name |
Wajib. Nama agen yang dapat dibaca manusia. |
description |
Wajib. Deskripsi domain tindakan/ruang solusi agen. |
supportedInterfaces[] |
Wajib. Daftar antarmuka yang didukung dan diurutkan. Entri pertama lebih disukai. |
version |
Wajib. Versi agen. |
skills[] |
Wajib. Keahlian mewakili unit kemampuan yang dapat dilakukan agen. Hal ini mungkin agak abstrak, tetapi mewakili serangkaian tindakan yang lebih terfokus yang kemungkinan besar akan berhasil dilakukan agen. |
AgentInterface
| Representasi JSON |
|---|
{ "url": string, "protocolBinding": string, "tenant": string, "protocolVersion": string } |
| Kolom | |
|---|---|
url |
Wajib. URL tempat antarmuka ini tersedia. Harus berupa URL HTTPS absolut yang valid dalam produksi. Contoh: "https://api.example.com/a2a/v1", "https://grpc.example.com/a2a" |
protocolBinding |
Wajib. Pengikatan protokol yang didukung di URL ini. Ini adalah string formulir terbuka, yang dapat dengan mudah diperluas untuk binding protokol lainnya. Yang didukung secara resmi adalah |
tenant |
ID tenant yang akan digunakan dalam permintaan saat memanggil agen. |
protocolVersion |
Wajib. Versi protokol A2A yang diekspos oleh antarmuka ini. Gunakan versi minor terbaru yang didukung per versi utama. Contoh: "0.3", "1.0" |
AgentSkill
| Representasi JSON |
|---|
{ "id": string, "name": string, "description": string, "tags": [ string ], "examples": [ string ], "inputModes": [ string ], "outputModes": [ string ] } |
| Kolom | |
|---|---|
id |
Wajib. ID unik untuk kemampuan agen. |
name |
Wajib. Nama keahlian yang dapat dibaca manusia. |
description |
Wajib. Deskripsi mendetail tentang keahlian. |
tags[] |
Wajib. Sekumpulan kata kunci yang menjelaskan kemampuan skill. |
examples[] |
Contoh perintah atau skenario yang dapat ditangani oleh kemampuan ini. |
inputModes[] |
Kumpulan jenis media input yang didukung untuk skill ini, yang menggantikan default agen. |
outputModes[] |
Kumpulan jenis media output yang didukung untuk skill ini, yang menggantikan default agen. |
ApiAuthentication
| Representasi JSON |
|---|
{ // Union field |
| Kolom | |
|---|---|
Kolom union auth_config. Konfigurasi autentikasi. auth_config hanya ada berupa salah satu diantara berikut: |
|
apiKeyConfig |
Opsional. Konfigurasi untuk autentikasi kunci API. |
oauthConfig |
Opsional. Konfigurasi untuk OAuth. |
serviceAgentIdTokenAuthConfig |
Opsional. Konfigurasi untuk autentikasi token ID yang dibuat dari agen layanan CES. |
serviceAccountAuthConfig |
Opsional. Konfigurasi untuk autentikasi akun layanan. |
bearerTokenConfig |
Opsional. Konfigurasi untuk autentikasi token pembawa. |
ApiKeyConfig
| Representasi JSON |
|---|
{
"keyName": string,
"apiKeySecretVersion": string,
"requestLocation": enum ( |
| Kolom | |
|---|---|
keyName |
Wajib. Nama parameter atau nama header kunci API. Misalnya, Jika permintaan API adalah "https://example.com/act?X-Api-Key= |
apiKeySecretVersion |
Wajib. Nama resource versi secret SecretManager yang menyimpan kunci API. Format: Catatan: Anda harus memberikan peran |
requestLocation |
Wajib. Lokasi kunci dalam permintaan. |
OAuthConfig
| Representasi JSON |
|---|
{
"oauthGrantType": enum ( |
| Kolom | |
|---|---|
oauthGrantType |
Wajib. Jenis pemberian izin OAuth. |
clientId |
Wajib. Client ID dari penyedia OAuth. |
clientSecretVersion |
Wajib. Nama resource versi secret SecretManager yang menyimpan rahasia klien. Format: Catatan: Anda harus memberikan peran |
tokenEndpoint |
Wajib. Endpoint token di penyedia OAuth untuk ditukar dengan token akses. |
scopes[] |
Opsional. Cakupan OAuth yang akan diberikan. |
ServiceAccountAuthConfig
| Representasi JSON |
|---|
{ "serviceAccount": string, "scopes": [ string ] } |
| Kolom | |
|---|---|
serviceAccount |
Wajib. Alamat email akun layanan yang digunakan untuk autentikasi. CES menggunakan akun layanan ini untuk menukar token akses dan token akses tersebut kemudian dikirim di header Akun layanan harus memiliki peran |
scopes[] |
Opsional. Cakupan OAuth yang akan diberikan. Jika tidak ditentukan, cakupan default |
BearerTokenConfig
| Representasi JSON |
|---|
{ "token": string } |
| Kolom | |
|---|---|
token |
Wajib. Token pemilik. Harus dalam format |
InputVariableMappingEntry
| Representasi JSON |
|---|
{ "key": string, "value": string } |
| Kolom | |
|---|---|
key |
|
value |
|
OutputVariableMappingEntry
| Representasi JSON |
|---|
{ "key": string, "value": string } |
| Kolom | |
|---|---|
key |
|
value |
|
ModelSettings
| Representasi JSON |
|---|
{ "model": string, "thinkingLevel": enum ( |
| Kolom | |
|---|---|
model |
Opsional. Model LLM yang harus digunakan agen. Jika tidak disetel, agen akan mewarisi model dari agen induknya. |
thinkingLevel |
Opsional. Tingkat penalaran model. |
Kolom union
|
|
temperature |
Opsional. Jika disetel, suhu ini akan digunakan untuk model LLM. Temperatur mengontrol keacakan respons model. Temperatur yang lebih rendah menghasilkan respons yang lebih dapat diprediksi. Temperatur yang lebih tinggi menghasilkan respons yang lebih kreatif. |
Callback
| Representasi JSON |
|---|
{ "description": string, "disabled": boolean, "proactiveExecutionEnabled": boolean, // Union field |
| Kolom | |
|---|---|
description |
Opsional. Deskripsi callback yang dapat dibaca manusia. |
disabled |
Opsional. Apakah panggilan balik dinonaktifkan. Callback yang dinonaktifkan akan diabaikan oleh agen. |
proactiveExecutionEnabled |
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 dieksekusi setelah menerima semua respons model. Mengaktifkan eksekusi proaktif dapat berimplikasi 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 |
Wajib. Kode python yang akan dieksekusi untuk callback. |
Stempel waktu
| Representasi JSON |
|---|
{ "seconds": string, "nanos": integer } |
| Kolom | |
|---|---|
seconds |
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 |
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 nanos non-negatif yang dihitung maju dalam waktu. Harus antara 0 dan 999.999.999 inklusif. |
AgentToolset
| Representasi JSON |
|---|
{ "toolset": string, "toolIds": [ string ] } |
| Kolom | |
|---|---|
toolset |
Wajib. Nama resource toolset. Format: |
toolIds[] |
Opsional. ID alat untuk memfilter set alat. |
TransferRule
| Representasi JSON |
|---|
{ "childAgent": string, "direction": enum ( |
| Kolom | |
|---|---|
childAgent |
Wajib. Nama resource agen turunan tempat aturan diterapkan. Format: |
direction |
Wajib. Arah transfer. |
Kolom union rule_type. Jenis aturan. rule_type hanya ada berupa salah satu diantara berikut: |
|
deterministicTransfer |
Opsional. Aturan yang segera ditransfer ke agen target saat kondisi terpenuhi. |
disablePlannerTransfer |
Opsional. Aturan yang mencegah perencana berpindah ke agen target. |
DeterministicTransfer
| Representasi JSON |
|---|
{ // Union field |
| Kolom | |
|---|---|
Kolom union condition_type. Kondisi yang akan dievaluasi. condition_type hanya ada berupa salah satu diantara berikut: |
|
expressionCondition |
Opsional. Aturan yang mengevaluasi kondisi status sesi. Jika kondisi bernilai benar, transfer akan terjadi. |
pythonCodeCondition |
Opsional. Aturan yang menggunakan blok kode Python untuk mengevaluasi kondisi. Jika kondisi bernilai benar, transfer akan terjadi. |
ExpressionCondition
| Representasi JSON |
|---|
{ "expression": string } |
| Kolom | |
|---|---|
expression |
Wajib. Representasi string dari kondisi cloud.api.Expression. |
PythonCodeCondition
| Representasi JSON |
|---|
{ "pythonCode": string } |
| Kolom | |
|---|---|
pythonCode |
Wajib. Kode python yang akan dieksekusi. |
DisablePlannerTransfer
| Representasi JSON |
|---|
{
"expressionCondition": {
object ( |
| Kolom | |
|---|---|
expressionCondition |
Wajib. Jika kondisi bernilai benar, perencana tidak akan diizinkan untuk ditransfer ke agen target. |
RequestLocation
Lokasi kunci API dalam permintaan.
| Enum | |
|---|---|
REQUEST_LOCATION_UNSPECIFIED |
Tidak ditentukan. Nilai ini tidak boleh digunakan. |
HEADER |
Mewakili kunci di header http. |
QUERY_STRING |
Mewakili kunci dalam string kueri. |
OauthGrantType
Jenis pemberian izin OAuth. Hanya pemberian kredensial klien yang didukung.
| Enum | |
|---|---|
OAUTH_GRANT_TYPE_UNSPECIFIED |
Tidak ditentukan. Nilai defaultnya adalah CLIENT_CREDENTIAL. |
CLIENT_CREDENTIAL |
Mewakili alur kredensial klien. |
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 pemikiran tinggi. |
Arah
Arah transfer.
| Enum | |
|---|---|
DIRECTION_UNSPECIFIED |
Arah tidak ditentukan. |
PARENT_TO_CHILD |
Transfer dari agen induk ke agen turunan. |
CHILD_TO_PARENT |
Transfer dari agen anak ke agen induk. |
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 ini dapat digunakan untuk memutuskan kapan perintah konfirmasi dapat dikirim ke pengguna.
Selain string judul, petunjuk boolean berikut ditentukan sebagai berikut:
readOnlyHint: Jika benar, alat tidak akan mengubah lingkungannya. Default: salah.destructiveHint: Jika benar, alat dapat melakukan tindakan yang merusak. Jika salah (false), alat hanya dapat melakukan tindakan tambahan. Default: true.idempotentHint: Jika benar (true), memanggil alat berulang kali dengan argumen yang sama tidak akan memberikan efek tambahan pada lingkungannya. Default: salah.openWorldHint: Jika benar, alat dapat berinteraksi dengan 'dunia terbuka' entitas eksternal. Jika salah (false), alat hanya dapat berinteraksi dengan entitas internal. Misalnya, alat penelusuran web akan menjadi open world, sedangkan alat memori tidak akan menjadi open world.
Petunjuk Destruktif: ✅ | Petunjuk Idempoten: ❌ | Petunjuk Hanya Baca: ❌ | Petunjuk Dunia Terbuka: ❌