寫入單一代理回合的執行軌跡,以供內部可觀測性記錄。第一方代理用戶端 (例如 Gemini Enterprise 電腦版 Cowork 代理) 會使用這個方法。記錄檔會根據引擎的 ObservabilityConfig 進行閘道處理;除非啟用記錄敏感內容功能,否則系統會遮蓋含有內容的屬性,並將軌跡以 JSON 物件的形式寫入固定的 Google 內部 GCS 值區,以利偵錯 (絕不會寫入客戶專案)。不會保留在使用者事件或推薦商店中。
HTTP 要求
POST https://discoveryengine.googleapis.com/v1beta/{parent=projects/*/locations/*/collections/*/engines/*}/agentTrajectories:write 這些網址使用 gRPC 轉碼語法。
路徑參數
| 參數 | |
|---|---|
parent |
這是必要旗標,軌跡所屬的 |
要求主體
要求主體包含下列結構的資料:
| JSON 表示法 |
|---|
{
"agentTrajectory": {
object ( |
| 欄位 | |
|---|---|
agentTrajectory |
這是必要旗標,要記錄的代理程式軌跡。 |
回應主體
UserEventService.WriteAgentTrajectory 方法的回應訊息。
如果成功,回應主體會含有以下結構的資料:
| JSON 表示法 |
|---|
{ "acceptedSpanCount": integer } |
| 欄位 | |
|---|---|
acceptedSpanCount |
接受用於觀測能力記錄的時距數量。 |
授權範圍
需要下列其中一種 OAuth 範圍:
https://www.googleapis.com/auth/cloud-platformhttps://www.googleapis.com/auth/discoveryengine.assist.readwritehttps://www.googleapis.com/auth/discoveryengine.readwritehttps://www.googleapis.com/auth/discoveryengine.serving.readwrite
詳情請參閱Authentication Overview。
IAM 權限
需要 parent 資源的下列 IAM 權限:
discoveryengine.engines.createEngineUserData
詳情請參閱 IAM 說明文件。
AgentTrajectory
AgentTrajectory 會根據 OpenTelemetry GenAI 語意慣例,擷取單一代理回合的執行追蹤記錄。這項資訊是由第一方用戶端 (例如 Gemini Enterprise 電腦版 Cowork 代理程式) 回報,僅供內部觀測能力記錄使用,不會保留在使用者事件 / 建議儲存庫中。
伺服器會根據引擎的 ObservabilityConfig 閘道記錄,除非啟用記錄機密內容,否則會遮蓋含有內容的屬性,並將軌跡以 JSON 物件的形式寫入固定的 Google 內部 GCS bucket,以利偵錯 (絕不會寫入客戶專案)。
| JSON 表示法 |
|---|
{
"spans": [
{
object ( |
| 欄位 | |
|---|---|
spans[] |
這是必要旗標,構成這個代理回合的範圍。所有範圍都必須共用相同的 |
sessionId |
選用。這個輪次所屬的代理程式工作階段專屬 ID。 |
resourceAttributes |
選用。所有時距共用的資源層級屬性,遵循 OpenTelemetry 資源語意慣例 (例如 |
時距
代理程式軌跡中的單一時距,與 OpenTelemetry 時距資料模型一致。
| JSON 表示法 |
|---|
{ "traceId": string, "spanId": string, "parentSpanId": string, "displayName": string, "spanKind": enum ( |
| 欄位 | |
|---|---|
traceId |
這是必要旗標,32 個十六進位字元 (16 位元組) 的追蹤記錄 ID,由回合的所有範圍共用。 |
spanId |
這是必要旗標,16 個十六進位字元 (8 位元組) 的範圍 ID,可明確識別追蹤記錄中的這個範圍。 |
parentSpanId |
選用。這個時距的父項時距 ID (如有)。根時距為空白。 |
displayName |
這是必要旗標,人類可讀的範圍名稱 (例如 |
spanKind |
選用。時距種類。 |
startTime |
這是必要旗標,範圍的開始時間。 使用 RFC 3339,產生的輸出內容一律會經過 Z 正規化,並使用 0、3、6 或 9 個小數位數,也接受「Z」以外的偏移量。範例: |
endTime |
這是必要旗標,時間範圍的結束時間。 使用 RFC 3339,產生的輸出內容一律會經過 Z 正規化,並使用 0、3、6 或 9 個小數位數,也接受「Z」以外的偏移量。範例: |
attributes |
選用。符合 OpenTelemetry GenAI 語意慣例的非內容時距屬性 (例如 |
contentAttributes |
選用。含有內容的屬性 (例如提示、回覆、工具引數和結果)。這些內容預設會選擇不進行觀測記錄,只有在客戶啟用私密內容記錄時才會記錄。 |
status |
選用。範圍的狀態。 |
events[] |
選用。這段時間內發生的計時事件。 |
SpanKind
時距類型,與 OpenTelemetry SpanKind 一致。
| 列舉 | |
|---|---|
SPAN_KIND_UNSPECIFIED |
不明。視為「內部」。 |
INTERNAL |
代理程式內的內部作業 (例如 invoke_agent)。 |
SERVER |
同步傳入要求處理常式。 |
CLIENT |
同步外送要求 (例如模型或工具呼叫)。 |
PRODUCER |
訊息的非同步產生者。 |
CONSUMER |
訊息的非同步消費者。 |
事件
在時間範圍內發生的計時事件 (例如串流區塊)。
| JSON 表示法 |
|---|
{ "displayName": string, "eventTime": string, "attributes": { string: string, ... } } |
| 欄位 | |
|---|---|
displayName |
這是必要旗標,人類可讀的事件名稱。 |
eventTime |
這是必要旗標,事件發生的實際時間。 使用 RFC 3339,產生的輸出內容一律會經過 Z 正規化,並使用 0、3、6 或 9 個小數位數,也接受「Z」以外的偏移量。範例: |
attributes |
選用。描述活動的非內容屬性。 |