管理代理

您可以使用 Agent Registry 檢查、更新及移除已註冊的代理,確保登錄檔準確反映 AI 生態系統中的有效功能。您可以列出及查看所有已註冊的代理、更新手動註冊代理的中繼資料或端點,以及移除不再使用的代理。

事前準備

  1. 設定 Agent Registry。
  2. 如果是單一專案設定,請取得已啟用 Agent Registry 的管理專案ID。如果您為多個專案設定了管理邊界,請使用管理專案的 ID 進行邊界範圍的探索和註冊,或指定成員專案 ID 進行單一專案作業。

  3. 在 Agent Registry 註冊代理。

  4. 如要使用本文件中的 Google Cloud CLI 指令,請設定 gcloud CLI 環境。

必要的角色

如要取得在 Agent Registry 管理已註冊代理所需的權限,請要求管理員在已啟用 Agent Registry 的管理專案,授予您 Agent Registry API 編輯者 (roles/agentregistry.editor) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。

您或許也能透過自訂角色或其他預先定義的角色,取得必要權限。

探索可用的代理

註冊代理後,您可以在環境中探索代理,並查看詳細設定,例如端點、A2A 技能和相關聯的中繼資料。

列出及查看所有代理

您可以列出環境中註冊的所有代理,並查看詳細設定,例如端點、A2A 技能和相關聯的中繼資料。

如果您已設定管理邊界,可以從管理專案列出多個成員專案的代理。

如要列出代理程式,請按照下列步驟操作:

控制台

  1. 前往 Google Cloud 控制台的「Agent Registry」:

    前往 Agent Registry

  2. 在專案挑選器中,選取設定 Agent Registry 的 Google Cloud 專案。

  3. 選取「代理」分頁標籤。

    這個頁面會列出所有已註冊的代理。清單會列出代理程式的名稱、ID、類型、說明、版本、執行階段和位置。

  4. 如要查看代理的完整詳細資料,請按一下代理名稱。

gcloud

如要列出特定位置的所有代理,請執行 gcloud agent-registry agents list 指令:

gcloud agent-registry agents list \
    --project=PROJECT_ID \
    --location=REGION

更改下列內容:

  • PROJECT_ID:專案 ID。如果您已設定管理邊界,請指定管理專案 ID,列出邊界內所有成員專案中指定位置的代理。每個傳回的資源名稱都會保留代理 ID,並使用要求中指定的專案。
  • REGION:登錄檔位置,例如 us-central1、eu 或 global。在管理專案中指定位置,即可匯總邊界內所有成員專案中,位於該位置的代理。

篩選已註冊的代理

如果您有多個代理程式,或想確認特定代理程式的註冊狀態,可以依據代理程式的中繼資料篩選清單:

控制台

  1. 前往 Google Cloud 控制台的「Agent Registry」:

    前往 Agent Registry

  2. 在專案挑選器中,選取設定 Agent Registry 的 Google Cloud 專案。

  3. 選取「代理」分頁標籤。

    這個頁面會列出所有已註冊的代理。清單會列出代理的名稱、ID、類型、說明、版本、執行階段和位置。

  4. 依據代理程式的位置或執行階段資源篩選清單:

    • 如要依位置篩選,請按一下「Location」(位置) 選單,選取要篩選的位置,然後按一下「Apply」(套用)。
    • 如要依執行階段篩選,請按一下「Runtime」(執行階段) 選單,選取要篩選的執行階段,然後按一下「Apply」(套用)。

    頁面會根據所選條件,顯示篩選後的已註冊代理程式清單。

gcloud

將 --filter 旗標傳遞至 gcloud agent-registry agents list 指令,篩選代理程式清單,只傳回符合特定中繼資料的資源:

gcloud agent-registry agents list \
    --project=PROJECT_ID \
    --location=REGION \
    --filter="FILTER_EXPRESSION"

更改下列內容:

  • PROJECT_ID:專案 ID。
  • REGION:登錄檔區域。
  • FILTER_EXPRESSION:要篩選的代理篩選運算式。例如,您可以使用下列篩選器:
    • 如要依顯示名稱篩選,請使用 displayName='DISPLAY_NAME'。
    • 如要依全域專屬代理程式 ID (URN) 搜尋,請使用 agentId='urn:agent:AGENT_URN'。
    • 如要在查詢管理專案時,依特定成員專案篩選,請使用 project_id=MEMBER_PROJECT_ID。

Terraform

如要依中繼資料篩選,擷取特定已註冊的代理,請使用 filter 引數設定 google_agent_registry_agent 資料來源:

data "google_agent_registry_agent" "filtered_agent" {
  location = "REGION"
  filter   = "displayName=\"DISPLAY_NAME\""
}

更改下列內容:

  • REGION:登錄檔區域。
  • DISPLAY_NAME:要篩選的代理程式名稱 (人類可讀),例如 Support Agent。

查看代理詳細資料

查看特定代理的詳細資料,包括通訊協定、A2A 技能和身分:

控制台

  1. 前往 Google Cloud 控制台的「Agent Registry」:

    前往 Agent Registry

  2. 在專案挑選器中,選取設定 Agent Registry 的 Google Cloud 專案。

  3. 選取「代理」分頁標籤。

    這個頁面會列出所有已註冊的代理。清單會列出代理程式的名稱、ID、類型、說明、版本、執行階段和位置。

  4. 按一下要查看的代理程式名稱。

    詳細資料頁面包含代理詳細資料的分頁。

  5. 按一下對應的分頁標籤,即可查看特定代理程式的詳細資料。

    可用功能取決於執行階段。「Sessions」(工作階段)、「Playground」(測試環境)、「Memories」(記憶) 和「Evaluation」(評估) 等分頁,是建構於代管執行階段 (例如 Gemini Enterprise Agent Platform 的 Agent Runtime) 的代理專屬功能:

    • 總覽:代理的核心詳細資料,包括代理的名稱、ID、位置、說明和執行階段。總覽也會顯示 A2A 技能和執行階段參考資料,您需要這些資料才能在拓撲圖中建構查詢。
    • 觀測能力:以應用程式為中心的深入分析,例如延遲時間、流量、錯誤和權杖支出。這個分頁與 Google Cloud Observability 工具整合,可顯示即時成效指標和系統層級使用率,協助您管理成本和使用者體驗。詳情請參閱「觀測能力總覽」。
    • 追蹤記錄:對話的確切路徑,包括輸入和助理訊息的詳細格式,可即時偵錯複雜的多代理推論迴圈或工具叫用錯誤。詳情請參閱「查看代理追蹤記錄」。
    • 安全性:Model Armor 和 Security Command Center 的發現項目,包括違反內容政策、資料外洩風險和法規遵循評估。如要進一步瞭解安全性,請參閱「查看安全性發現項目」。
    • 拓撲:代理、指派的 Agent Gateway,以及互動的 MCP 伺服器之間的關係和流量視覺化圖。如要進一步瞭解 Agent Gateway,請參閱「Agent Gateway 總覽」。如要進一步瞭解拓撲,請參閱「查看已註冊代理程式的圖表」。
    • 身分:用於強制執行政策的代理主體。舉例來說,您可以使用這個身分,設定驗證提供者繫結,以便驗證工具和資源。
    • 工作階段:持續記錄對話,並追蹤與代理的互動。
    • 測試區:直接透過對話介面測試代理行為。
    • 記憶:長期個人化功能,可生成或回憶與代理程式過去對話的詳細資料,在互動中保留上下文。
    • 評估:所有代理評估工作的詳細資料。這個分頁可讓您建立新的評估工作、上傳指標,並根據實際流量或合成模擬,評估代理的認知效能和模型可靠性。

gcloud

如要查看特定代理的詳細中繼資料,請執行 gcloud agent-registry agents describe 指令:

gcloud agent-registry agents describe AGENT_NAME \
    --project=PROJECT_ID \
    --location=REGION

更改下列內容:

  • AGENT_NAME:代理名稱,例如 my-custom-agent。
  • PROJECT_ID:專案 ID。在管理邊界中,您可以指定管理專案 ID,或部署代理的成員專案 ID。傳回的資源名稱會保留代理程式 ID,並使用要求中指定的專案。
  • REGION:登錄檔區域。

Terraform

如要使用 ID 擷取特定註冊代理的詳細資料,請設定 google_agent_registry_agent 資料來源:

data "google_agent_registry_agent" "my_agent" {
  location = "REGION"
  agent_id = "AGENT_ID"
}

output "agent_create_time" {
  description = "The timestamp when the agent was registered."
  value       = data.google_agent_registry_agent.my_agent.create_time
}

output "agent_update_time" {
  description = "The timestamp when the agent was last updated."
  value       = data.google_agent_registry_agent.my_agent.update_time
}

更改下列內容:

  • REGION:登錄檔區域。
  • AGENT_ID:代理的專屬 ID,例如 my-custom-agent。

更新代理中繼資料和端點

如果代理的執行階段網址有變,或您想覆寫其顯示名稱、說明或規格,可以更新代理中繼資料。

在 Agent Registry 中,Agent 資源是唯讀的探索資源。如要更新手動註冊的代理程式,您必須直接更新其可寫入的 Service 資源,方法是指定註冊該 Service 資源的專案 ID。如果是自動註冊的代理,請在基礎執行階段中更新代理,讓 Agent Registry 同步處理變更。

控制台

透過 Google Cloud 控制台更新可用的代理詳細資料:

  1. 前往 Google Cloud 控制台的「Agent Registry」:

    前往 Agent Registry

  2. 在專案挑選器中,選取設定 Agent Registry 的 Google Cloud 專案。

  3. 選取「代理」分頁標籤。

    這個頁面會列出所有已註冊的代理。清單會列出代理的名稱、ID、類型、說明、版本、執行階段和位置。

  4. 按一下要更新的代理名稱。

  5. 在代理程式的「Overview」(總覽) 分頁中,按一下 「Edit」(編輯)。

  6. 在「Edit service」(編輯服務) 面板中,輸入代理程式的更新資訊,例如新名稱或說明。

  7. 按一下 [儲存]。

gcloud

執行 gcloud agent-registry services update 指令並加上特定旗標,即可修改代理的參數:

  • 更新顯示名稱和說明:使用 --display-name 和 --description 旗標,例如:

    gcloud agent-registry services update AGENT_NAME \
        --project=PROJECT_ID \
        --location=REGION \
        --display-name="New display name" \
        --description="Updated description of the agent's purpose."
    

    更改下列內容:

    • AGENT_NAME:代理名稱,例如 my-support-agent。
    • PROJECT_ID:專案 ID。
    • REGION:登錄檔區域。
  • 更新端點網址:使用 --interfaces 旗標指定新端點,例如:

    gcloud agent-registry services update AGENT_NAME \
        --project=PROJECT_ID \
        --location=REGION \
        --interfaces=url=ENDPOINT_URL,protocolBinding=PROTOCOL
    

    更改下列內容:

    • AGENT_NAME:代理名稱,例如 my-support-agent。
    • PROJECT_ID:專案 ID。
    • REGION:登錄檔區域。
    • ENDPOINT_URL:新的代理端點網址,例如 https://new-api.example.com/agent。
    • PROTOCOL:端點的通訊協定繫結。有效值為 http-json、grpc 或 jsonrpc。
  • 更新代理規格:使用 --agent-spec-content 旗標,例如您有新的代理資訊卡:

    gcloud agent-registry services update AGENT_NAME \
        --project=PROJECT_ID \
        --location=REGION \
        --agent-spec-content=AGENT_SPEC_FILE
    

    更改下列內容:

    • AGENT_NAME:代理名稱,例如 my-support-agent。
    • PROJECT_ID:專案 ID。
    • REGION:登錄檔區域。
    • AGENT_SPEC_FILE:新代理程式規格檔案的路徑,例如 new-agent-card.json。規格檔案的大小上限為 10 KB。

Terraform

如要更新已註冊代理程式的中繼資料、端點網址或規格,請修改設定中現有 google_agent_registry_service 資源的參數,然後執行 terraform apply:

resource "google_agent_registry_service" "rest_agent" {
  location     = "REGION"
  service_id   = "AGENT_NAME"
  display_name = "New Display Name"
  description  = "Updated description of the agent's purpose."

  agent_spec {
    type = "NO_SPEC"
  }

  interfaces {
    url              = "ENDPOINT_URL"
    protocol_binding = "PROTOCOL"
  }
}

更改下列內容:

  • REGION:登錄檔區域。
  • AGENT_NAME:您要為代理指定的專屬名稱,例如 my-support-agent。
  • ENDPOINT_URL:代理程式的 API 端點網址,例如 https://api.example.com/v1/agents/1234。
  • PROTOCOL:端點的通訊協定繫結。有效值為 HTTP_JSON、GRPC 或 JSONRPC。

移除代理

如要刪除自動註冊至 Agent Registry 的代理,您必須在特定 Google Cloud 執行階段中刪除基礎代理。接著,系統會自動從註冊資料庫中移除代理。

如要從登錄檔中移除手動註冊的代理,您必須指定註冊 Service 資源的專案 ID,刪除該 Service 資源。這項操作會將代理從搜尋結果中移除,其他工具也無法找到該代理:

控制台

  1. 前往 Google Cloud 控制台的「Agent Registry」:

    前往 Agent Registry

  2. 在專案挑選器中,選取設定 Agent Registry 的 Google Cloud 專案。

  3. 選取「代理」分頁標籤。

    這個頁面會列出所有已註冊的代理。清單會列出代理程式的名稱、ID、類型、說明、版本、執行階段和位置。

  4. 按一下要移除的代理名稱。

  5. 在代理的「Overview」(總覽) 分頁中,按一下 「Delete」(刪除)。

  6. 在確認對話方塊中,輸入 DELETE 確認操作。

  7. 點選「刪除」。

gcloud

請執行 gcloud agent-registry services delete 指令。

gcloud agent-registry services delete AGENT_NAME \
    --project=PROJECT_ID \
    --location=REGION

更改下列內容:

  • AGENT_NAME:要移除的代理程式名稱,例如 my-support-agent。
  • PROJECT_ID:專案 ID。
  • REGION:登錄檔區域。

Terraform

從 Terraform 設定中移除代表代理程式的 google_agent_registry_service 資源,然後執行 terraform apply。

後續步驟