REST Resource: projects.locations.apps.agents

Resource: Agent

Agen bertindak sebagai elemen penyusun dasar yang memberikan petunjuk ke Model Bahasa Besar (LLM) untuk menjalankan tugas tertentu.

Representasi JSON
{
  "name": string,
  "displayName": string,
  "description": string,
  "modelSettings": {
    object (ModelSettings)
  },
  "instruction": string,
  "tools": [
    string
  ],
  "childAgents": [
    string
  ],
  "beforeAgentCallbacks": [
    {
      object (Callback)
    }
  ],
  "afterAgentCallbacks": [
    {
      object (Callback)
    }
  ],
  "beforeModelCallbacks": [
    {
      object (Callback)
    }
  ],
  "afterModelCallbacks": [
    {
      object (Callback)
    }
  ],
  "beforeToolCallbacks": [
    {
      object (Callback)
    }
  ],
  "afterToolCallbacks": [
    {
      object (Callback)
    }
  ],
  "createTime": string,
  "updateTime": string,
  "guardrails": [
    string
  ],
  "etag": string,
  "toolsets": [
    {
      object (Agent.AgentToolset)
    }
  ],
  "generatedSummary": string,
  "transferRules": [
    {
      object (TransferRule)
    }
  ],
  "validationErrors": [
    string
  ],

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "llmAgent": {
    object (Agent.LlmAgent)
  },
  "remoteDialogflowAgent": {
    object (Agent.RemoteDialogflowAgent)
  },
  "remoteA2aAgent": {
    object (Agent.RemoteA2aAgent)
  }
  // End of mutually exclusive fields.
}
Kolom
name

string

ID. ID unik agen. Format: projects/{project}/locations/{location}/apps/{app}/agents/{agent}

displayName

string

Wajib. Nama tampilan agen.

description

string

Opsional. Deskripsi agen yang dapat dibaca manusia.

modelSettings

object (ModelSettings)

Opsional. Konfigurasi untuk model LLM.

instruction

string

Opsional. Petunjuk untuk model LLM guna memandu perilaku agen.

tools[]

string

Opsional. Daftar alat yang tersedia untuk agen. Format: projects/{project}/locations/{location}/apps/{app}/tools/{tool}

childAgents[]

string

Opsional. Daftar agen turunan di struktur agen. Format: projects/{project}/locations/{location}/apps/{app}/agents/{agent}

beforeAgentCallbacks[]

object (Callback)

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[]

object (Callback)

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[]

object (Callback)

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[]

object (Callback)

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[]

object (Callback)

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[]

object (Callback)

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

string (Timestamp format)

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: "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 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: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z", atau "2014-10-02T15:01:23+05:30".

guardrails[]

string

Opsional. Daftar batasan untuk agen. Format: projects/{project}/locations/{location}/apps/{app}/guardrails/{guardrail}

etag

string

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

toolsets[]

object (Agent.AgentToolset)

Opsional. Daftar toolset untuk agen.

generatedSummary

string

Hanya output. Jika agen dibuat oleh asisten LLM, kolom ini berisi ringkasan deskriptif dari pembuatan tersebut.

transferRules[]

object (TransferRule)

Opsional. Aturan transfer agen. Jika ada beberapa aturan yang cocok, aturan pertama dalam daftar akan digunakan.

validationErrors[]

string

Hanya output. Kesalahan konfigurasi atau error pada agen yang dapat memengaruhi kualitas agen.

Jenis agen. Berikut adalah daftar kolom yang bersifat eksklusif satu sama lain. Maksimal satu kolom akan ditetapkan dalam respons:
llmAgent

object (Agent.LlmAgent)

Opsional. Jenis agen default.

remoteDialogflowAgent

object (Agent.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 roles/dialogflow.client ke agen layanan CES service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com.

remoteA2aAgent

object (Agent.RemoteA2aAgent)

Opsional. Agen A2A jarak jauh yang akan digunakan untuk eksekusi agen.

Akhir kolom yang saling eksklusif.

Agent.LlmAgent

Jenis ini tidak memiliki kolom.

Jenis agen default. Agen menggunakan petunjuk dan callback yang ditentukan di agen untuk melakukan tugas menggunakan model bahasa besar.

Agent.RemoteDialogflowAgent

Agen yang akan mentransfer eksekusi ke agen Dialogflow CX jarak jauh. Agen Dialogflow akan memproses kueri pengguna berikutnya hingga sesi berakhir atau alur berakhir, dan kontrol ditransfer kembali ke agen CES induk.

Representasi JSON
{
  "agent": string,
  "flowId": string,
  "environmentId": string,
  "inputVariableMapping": {
    string: string,
    ...
  },
  "outputVariableMapping": {
    string: string,
    ...
  },
  "respectResponseInterruptionSettings": boolean,
  "languageCodeVariable": string
}
Kolom
agent

string

Wajib. Nama resource agen Dialogflow. Format: projects/{project}/locations/{location}/agents/{agent}

flowId

string

Opsional. ID alur untuk alur di agen Dialogflow.

environmentId

string

Opsional. ID lingkungan agen Dialogflow yang akan digunakan untuk eksekusi agen. Jika tidak ditentukan, lingkungan draf akan digunakan.

inputVariableMapping

map (key: string, value: string)

Opsional. Pemetaan nama variabel aplikasi ke nama parameter sesi Dialogflow yang akan dikirim ke agen Dialogflow sebagai input.

Objek yang berisi daftar pasangan "key": value. Contoh: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

outputVariableMapping

map (key: string, value: string)

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 "key": value. Contoh: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

respectResponseInterruptionSettings

boolean

Opsional. Menunjukkan apakah akan mematuhi setelan gangguan tingkat pesan yang dikonfigurasi di agen Dialogflow.

  • Jika salah (false): semua pesan respons dari agen Dialogflow mengikuti setelan interupsi tingkat aplikasi.
  • Jika benar: hanya pesan respons dengan allow_playback_interruption yang disetel ke benar yang dapat disela, semua pesan lainnya mengikuti setelan sela di tingkat aplikasi.
languageCodeVariable

string

Opsional. Nama variabel yang berisi kode bahasa yang akan digunakan untuk sesi Dialogflow. Jika tidak ditentukan, kode bahasa default agen Dialogflow akan digunakan.

Agent.RemoteA2aAgent

Agen yang akan mentransfer eksekusi ke agen A2A jarak jauh.

Representasi JSON
{
  "a2aConfig": {
    object (RemoteA2aConfig)
  }
}
Kolom
a2aConfig

object (RemoteA2aConfig)

Wajib. Konfigurasi koneksi A2A.

RemoteA2aConfig

Konfigurasi bersama untuk terhubung ke agen A2A jarak jauh.

Representasi JSON
{
  "apiAuthentication": {
    object (ApiAuthentication)
  },
  "inputVariableMapping": {
    string: string,
    ...
  },
  "outputVariableMapping": {
    string: string,
    ...
  },
  "streamingEnabled": boolean,
  "contextId": string,

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "agentCard": {
    object (AgentCard)
  },
  "agentRegistry": string
  // End of mutually exclusive fields.
}
Kolom
apiAuthentication

object (ApiAuthentication)

Opsional. Konfigurasi autentikasi untuk memanggil agen jarak jauh. Opsional jika referensi registry sudah menangani autentikasi.

inputVariableMapping

map (key: string, value: string)

Opsional. Pemetaan nama variabel input agen jarak jauh ke nama variabel GECX.

Objek yang berisi daftar pasangan "key": value. Contoh: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

outputVariableMapping

map (key: string, value: string)

Opsional. Pemetaan nama variabel output agen jarak jauh ke nama variabel GECX.

Objek yang berisi daftar pasangan "key": value. Contoh: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

streamingEnabled

boolean

Opsional. Apakah streaming diaktifkan untuk agen jarak jauh.

contextId

string

Opsional. Jika tidak kosong, interaksi dengan agen A2A jarak jauh akan menggunakan ID konteks ini. Kolom contextId ini dapat merujuk ke variabel sesi seperti $context.variables.order_agent_session_id.

Spesifikasi agen jarak jauh. Berikut adalah daftar kolom yang bersifat eksklusif satu sama lain. Maksimal satu kolom akan ditetapkan dalam respons:
agentCard

object (AgentCard)

Opsional. Kartu agen lengkap yang ditentukan secara inline.

agentRegistry

string

Opsional. Referensi ke agen di Agent Registry. Format: projects/{project}/locations/{location}/agents/{agent}

Akhir kolom yang saling eksklusif.

Agent.AgentToolset

Kumpulan alat dengan pilihan alatnya.

Representasi JSON
{
  "toolset": string,
  "toolIds": [
    string
  ]
}
Kolom
toolset

string

Wajib. Nama resource toolset. Format: projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}

toolIds[]

string

Opsional. ID alat untuk memfilter set alat.

TransferRule

Aturan untuk mentransfer ke agen tertentu.

Representasi JSON
{
  "childAgent": string,
  "direction": enum (TransferRule.Direction),

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "deterministicTransfer": {
    object (TransferRule.DeterministicTransfer)
  },
  "disablePlannerTransfer": {
    object (TransferRule.DisablePlannerTransfer)
  }
  // End of mutually exclusive fields.
}
Kolom
childAgent

string

Wajib. Nama resource agen turunan tempat aturan diterapkan. Format: projects/{project}/locations/{location}/apps/{app}/agents/{agent}

direction

enum (TransferRule.Direction)

Wajib. Arah transfer.

Jenis aturan. Berikut adalah daftar kolom yang bersifat eksklusif satu sama lain. Maksimal satu kolom akan ditetapkan dalam respons:
deterministicTransfer

object (TransferRule.DeterministicTransfer)

Opsional. Aturan yang segera ditransfer ke agen target saat kondisi terpenuhi.

disablePlannerTransfer

object (TransferRule.DisablePlannerTransfer)

Opsional. Aturan yang mencegah perencana berpindah ke agen target.

Akhir kolom yang saling eksklusif.

TransferRule.DeterministicTransfer

Aturan transfer deterministik. Saat kondisi bernilai benar, transfer akan terjadi.

Representasi JSON
{

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "expressionCondition": {
    object (ExpressionCondition)
  },
  "pythonCodeCondition": {
    object (PythonCodeCondition)
  }
  // End of mutually exclusive fields.
}
Kolom
Kondisi yang akan dievaluasi. Berikut adalah daftar kolom yang bersifat eksklusif satu sama lain. Maksimal satu kolom akan ditetapkan dalam respons:
expressionCondition

object (ExpressionCondition)

Opsional. Aturan yang mengevaluasi kondisi status sesi. Jika kondisi bernilai benar, transfer akan terjadi.

pythonCodeCondition

object (PythonCodeCondition)

Opsional. Aturan yang menggunakan blok kode Python untuk mengevaluasi kondisi. Jika kondisi bernilai benar, transfer akan terjadi.

Akhir kolom yang saling eksklusif.

ExpressionCondition

Kondisi ekspresi berdasarkan status sesi.

Representasi JSON
{
  "expression": string
}
Kolom
expression

string

Wajib. Representasi string dari kondisi cloud.api.Expression.

PythonCodeCondition

Blok kode Python untuk mengevaluasi kondisi.

Representasi JSON
{
  "pythonCode": string
}
Kolom
pythonCode

string

Wajib. Kode python yang akan dieksekusi.

TransferRule.DisablePlannerTransfer

Aturan yang mencegah perencana mentransfer ke agen target.

Representasi JSON
{
  "expressionCondition": {
    object (ExpressionCondition)
  }
}
Kolom
expressionCondition

object (ExpressionCondition)

Wajib. Jika kondisi bernilai benar, perencana tidak akan diizinkan untuk ditransfer ke agen target.

TransferRule.Direction

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.

Metode

create

Membuat agen baru di aplikasi yang diberikan.

delete

Menghapus agen yang ditentukan.

get

Mendapatkan detail agen yang ditentukan.

list

Mencantumkan agen di aplikasi tertentu.

patch

Memperbarui agen yang ditentukan.