本頁面說明如何在代理程式上啟用 Cloud Trace,以及如何查看追蹤記錄,分析查詢回應時間和執行的作業。
追蹤記錄:代理程式回應每項查詢時,會產生要求時間軸。舉例來說,下圖顯示 Agent Development Kit (ADK) 代理程式的追蹤記錄範例:

追蹤記錄是由個別範圍組成,代表單一工作單位,例如函式呼叫或與 LLM 的互動,第一個範圍代表整體要求。每個範圍都會提供特定作業的詳細資料,例如作業名稱、開始和結束時間,以及要求中的任何相關屬性。舉例來說,下列 JSON 顯示代表呼叫大型語言模型 (LLM) 的單一範圍:
{
"name": "llm",
"context": {
"trace_id": "ed7b336d-e71a-46f0-a334-5f2e87cb6cfc",
"span_id": "ad67332a-38bd-428e-9f62-538ba2fa90d4"
},
"span_kind": "LLM",
"parent_id": "f89ebb7c-10f6-4bf8-8a74-57324d2556ef",
"start_time": "2023-09-07T12:54:47.597121-06:00",
"end_time": "2023-09-07T12:54:49.321811-06:00",
"status_code": "OK",
"status_message": "",
"attributes": {
"llm.input_messages": [
{
"message.role": "system",
"message.content": "You are an expert Q&A system that is trusted around the world.\nAlways answer the query using the provided context information, and not prior knowledge.\nSome rules to follow:\n1. Never directly reference the given context in your answer.\n2. Avoid statements like 'Based on the context, ...' or 'The context information ...' or anything along those lines."
},
{
"message.role": "user",
"message.content": "Hello?"
}
],
"output.value": "assistant: Yes I am here",
"output.mime_type": "text/plain"
},
"events": [],
}
詳情請參閱 Cloud Trace 說明文件中的「追蹤記錄和時距」和「追蹤記錄內容」。
為代理程式撰寫追蹤記錄
如要為代理程式編寫追蹤記錄,請按照下列步驟操作:
ADK
如要為 AdkApp 啟用 OpenTelemetry,請在將代理部署至 Vertex AI Agent Engine 執行階段時,設定下列環境變數:
env_vars = {
"GOOGLE_CLOUD_AGENT_ENGINE_ENABLE_TELEMETRY": "true",
"OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT": "true",
}
注意事項:
GOOGLE_CLOUD_AGENT_ENGINE_ENABLE_TELEMETRY會啟用代理程式追蹤和記錄,但不包含提示和回應資料。OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT可啟用輸入提示和輸出回覆的記錄功能。如要使用追蹤記錄擷取功能,請啟用 Telemetry API。詳情請參閱「遙測 (OTLP) API 總覽」
如要使用記錄檔擷取功能,請啟用 Logging API。詳情請參閱 Cloud Logging API 總覽。
LangchainAgent
如要為 LangchainAgent 啟用追蹤功能,請在開發 LangChain 代理程式時指定 enable_tracing=True。例如:
from vertexai.agent_engines import LangchainAgent
agent = LangchainAgent(
model=model, # Required.
tools=[get_exchange_rate], # Optional.
enable_tracing=True, # [New] Optional.
)
LanggraphAgent
如要啟用 LanggraphAgent 的追蹤功能,請在開發 LangGraph 代理程式時指定 enable_tracing=True。例如:
from vertexai.agent_engines import LanggraphAgent
agent = LanggraphAgent(
model=model, # Required.
tools=[get_exchange_rate], # Optional.
enable_tracing=True, # [New] Optional.
)
LlamaIndex
如要為 LlamaIndexQueryPipelineAgent 啟用追蹤功能,請在開發 LlamaIndex 代理程式時指定 enable_tracing=True。例如:
from vertexai.preview import reasoning_engines
def runnable_with_tools_builder(model, runnable_kwargs=None, **kwargs):
from llama_index.core.query_pipeline import QueryPipeline
from llama_index.core.tools import FunctionTool
from llama_index.core.agent import ReActAgent
llama_index_tools = []
for tool in runnable_kwargs.get("tools"):
llama_index_tools.append(FunctionTool.from_defaults(tool))
agent = ReActAgent.from_tools(llama_index_tools, llm=model, verbose=True)
return QueryPipeline(modules = {"agent": agent})
agent = reasoning_engines.LlamaIndexQueryPipelineAgent(
model="gemini-2.0-flash",
runnable_kwargs={"tools": [get_exchange_rate]},
runnable_builder=runnable_with_tools_builder,
enable_tracing=True, # Optional
)
自訂
如要為自訂代理程式啟用追蹤功能,請參閱「使用 OpenTelemetry 追蹤」一文。
這會將追蹤記錄匯出至「設定專案 Google Cloud 」中專案的 Cloud Trace。
查看代理程式的追蹤記錄
如果是已部署的代理程式,您可以使用 Google Cloud 控制台查看代理程式的追蹤記錄:
- 前往 Google Cloud 控制台的「Vertex AI Agent Engine」頁面。
清單中會顯示所選專案的 Agent Engine 執行個體。您可以使用「篩選」欄位,依指定欄篩選清單。
按一下 Agent Engine 執行個體的名稱。
按一下「追蹤」分頁標籤。
您可以選取「工作階段檢視」或「跨度檢視」。
點選工作階段或時距,即可查看追蹤記錄詳細資料,包括時距的有向無環圖 (DAG)、輸入和輸出內容,以及中繼資料屬性。
配額與限制
如果屬性值達到配額限制,可能會遭到截斷。詳情請參閱「Cloud Trace 配額」。
定價
Cloud Trace 提供免費方案。詳情請參閱 Cloud Trace 定價。