管理技能

Agent Registry 可讓您檢查、更新及管理獨立技能,控管代理可使用的技能版本和生命週期狀態。註冊獨立技能後,您可以查看詳細資料、更新說明或預設修訂版本、轉換生命週期狀態,或從代理程式註冊資料庫中刪除。您也可以列出及查看 Google 代管技能,這些技能在設定代理程式登錄檔後即可使用。

事前準備

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

  3. 註冊獨立技能。

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

必要的角色

如要取得在 Agent Registry 管理技能所需的權限,請要求管理員在已啟用 Agent Registry 的管理專案中,授予您下列 IAM 角色:

如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。

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

其他代理程式註冊資料庫角色可能也包含查看、更新及刪除技能所需的權限。詳情請參閱「Agent Registry 角色和權限」。

列出及查看技能

您可以瀏覽所有已註冊的技能,或搜尋特定功能:

控制台

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

    前往 Agent Registry

  2. 選取「技能」分頁標籤。
  3. 查看技能清單。您可以使用「Location」(位置) 或「Status」(狀態) 選單篩選顯示內容。
  4. 按一下任何技能名稱,即可開啟「Skill Details」(技能詳細資料) 頁面,其中會顯示名稱、說明、有效版本、技能 ID、上次更新時間、自訂中繼資料和修訂版本記錄。

gcloud

如要列出某個位置的所有技能,請使用 gcloud alpha agent-registry skills list 指令:

gcloud alpha agent-registry skills list \
    --project=PROJECT_ID \
    --location=LOCATION

如要查看特定技能的詳細資料,請使用 gcloud alpha agent-registry skills describe 指令:

gcloud alpha agent-registry skills describe SKILL_ID \
    --project=PROJECT_ID \
    --location=LOCATION

更改下列內容:

  • SKILL_ID:要查看的技能 ID。如果是手動註冊的技能,請加入 private- 前置字元,例如 private-my-skill。
  • PROJECT_ID:專案 ID。
  • LOCATION:登錄檔位置。

REST

如要擷取所有技能的清單,請傳送 GET 要求:

curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://agentregistry.googleapis.com/v1alpha/projects/PROJECT_ID/locations/LOCATION/skills"

如要擷取單一技能容器,請傳送 GET 要求:

curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://agentregistry.googleapis.com/v1alpha/projects/PROJECT_ID/locations/LOCATION/skills/SKILL_ID"

更改下列內容:

  • PROJECT_ID:專案 ID。
  • LOCATION:登錄檔位置。
  • SKILL_ID:要查看的技能 ID。如果是手動註冊的技能,請加入 private- 前置字元,例如 private-my-skill。

更新技能中繼資料或預設修訂版本

您可以修改技能的顯示名稱、說明,或手動變更預設修訂版本指標,部署其他版本。如要建立新的技能修訂版本,請參閱「管理技能修訂版本」。

如要更新技能中繼資料或特定技能的預設修訂版本,請按照下列步驟操作:

控制台

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

    前往 Agent Registry

  2. 選取「技能」分頁標籤。
  3. 查看技能清單。您可以使用「Location」(位置) 或「Status」(狀態) 選單篩選顯示內容。
  4. 按一下任何技能名稱,即可開啟「Skill Details」(技能詳細資料) 頁面,其中會顯示名稱、說明、有效版本、技能 ID、上次更新時間、自訂中繼資料和修訂版本記錄。
  5. 選擇下列其中一個選項:

    • 更新技能中繼資料:

      1. 按一下「Edit」(編輯)。
      2. 在「Edit skill」(編輯技能) 面板中,更新技能的顯示名稱或說明。
      3. 按一下 [儲存]。
    • 更新預設修訂版本:

      1. 找出「版本記錄」表格。
      2. 找出要設為使用中的修訂版本。
      3. 在「動作」欄中,按一下「啟用版本」。

gcloud

  • 如要更新技能的中繼資料,請使用 gcloud alpha agent-registry skills update 指令:

    gcloud alpha agent-registry skills update SKILL_ID \
        --project=PROJECT_ID \
        --location=LOCATION \
        --display-name="DISPLAY_NAME" \
        --description="DESCRIPTION"
    
  • 如要更新技能的預設服務修訂版本,請使用 gcloud alpha agent-registry skills update 指令,並指定目標修訂版本的資源名稱:

    gcloud alpha agent-registry skills update SKILL_ID \
        --project=PROJECT_ID \
        --location=LOCATION \
        --default-revision="projects/PROJECT_ID/locations/LOCATION/skills/SKILL_ID/revisions/REVISION_ID"
    

更改下列內容:

  • SKILL_ID:要更新的技能 ID。如果是手動註冊的技能,請加入 private- 前置字元,例如 private-my-skill。
  • PROJECT_ID:專案 ID。
  • LOCATION:登錄檔位置。
  • DISPLAY_NAME:更新後的顯示名稱。
  • DESCRIPTION:更新後的說明。
  • REVISION_ID:要設為預設值的技能修訂版本 ID。

REST

傳送 PATCH 要求,並指定要更新的欄位:

curl -X PATCH \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -d '{
        "displayName": "DISPLAY_NAME",
        "description": "DESCRIPTION",
        "defaultRevision": "projects/PROJECT_ID/locations/LOCATION/skills/SKILL_ID/revisions/REVISION_ID"
      }' \
    "https://agentregistry.googleapis.com/v1alpha/projects/PROJECT_ID/locations/LOCATION/skills/SKILL_ID?updateMask=displayName,description,defaultRevision"

更改下列內容:

  • DISPLAY_NAME:技能的更新顯示名稱。
  • DESCRIPTION:技能的更新說明。
  • PROJECT_ID:專案 ID。
  • LOCATION:登錄檔位置。
  • SKILL_ID:要更新的技能 ID。如果是手動註冊的技能,請加入 private- 前置字元,例如 private-my-skill。
  • REVISION_ID:要啟用的技能修訂版本 ID。

管理技能生命週期狀態

如要控制技能在執行階段的解析方式,可以變更技能的目標狀態:

  • 有效:技能已放送,且可完全解析。如要將技能設為「Active」,其 defaultRevision 欄位必須指向有效的技能修訂版本。
  • 停用:建立技能時的預設初始狀態。系統不會在執行階段提供技能,解析技能會立即失敗,且酬載下載作業會遭到封鎖。如果技能的 defaultRevision 指標遭到清除,或預設修訂版本遭到刪除,技能也會進入「Disabled」狀態。與「已停用」狀態不同,您可以設定有效的 defaultRevision,並將目標狀態更新為「有效」,藉此啟用已停用的技能。
  • 已淘汰:技能仍可載入及下載,但表示即將停用。
  • 已停用:技能已永久停用,不再提供,且無法還原為「有效」或任何其他狀態。技能必須先淘汰才能停用。請預留充足時間,完成遷移後再停用技能。由於這個狀態是終端狀態,請謹慎使用。

如要轉換技能的生命週期狀態,請按照下列步驟操作:

控制台

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

    前往 Agent Registry

  2. 選取「技能」分頁標籤。
  3. 查看技能清單。您可以使用「Location」(位置) 或「Status」(狀態) 選單篩選顯示內容。
  4. 按一下任何技能名稱,即可開啟「Skill Details」(技能詳細資料) 頁面,其中會顯示名稱、說明、有效版本、技能 ID、上次更新時間、自訂中繼資料和修訂版本記錄。
  5. 使用狀態控制按鈕轉換目標狀態。頁面顯示的按鈕取決於技能目前的狀態,例如「啟用」、「停用」、「淘汰」或「停用」。

gcloud

使用 gcloud alpha agent-registry skills update 指令和 --target-state 旗標更新技能容器:

gcloud alpha agent-registry skills update SKILL_ID \
    --project=PROJECT_ID \
    --location=LOCATION \
    --target-state=DISABLED

更改下列內容:

  • SKILL_ID:要更新的技能 ID。如果是手動註冊的技能,請加入 private- 前置字元,例如 private-my-skill。
  • PROJECT_ID:專案 ID。
  • LOCATION:登錄檔位置。

目標狀態的允許值如下:

  • ACTIVE
  • DISABLED
  • DEPRECATED
  • DECOMMISSIONED

REST

傳送 PATCH 要求,並在主體和更新遮罩中指定 targetState:

curl -X PATCH \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -d '{
      "targetState": "TARGET_STATE_DISABLED"
    }' \
    "https://agentregistry.googleapis.com/v1alpha/projects/PROJECT_ID/locations/LOCATION/skills/SKILL_ID?updateMask=targetState"

更改下列內容:

  • PROJECT_ID:專案 ID。
  • LOCATION:登錄檔位置。
  • SKILL_ID:要更新的技能 ID。如果是手動註冊的技能,請加入 private- 前置字元,例如 private-my-skill。

目標狀態的允許值如下:

  • TARGET_STATE_ACTIVE
  • TARGET_STATE_DISABLED
  • TARGET_STATE_DEPRECATED
  • TARGET_STATE_DECOMMISSIONED

刪除技能

刪除技能容器會永久刪除 Skill 資源,以及所有相關聯的不可變動 SkillRevision 資源。代理嘗試解析已刪除的技能 ID 時,會在執行階段失敗。

控制台

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

    前往 Agent Registry

  2. 選取「技能」分頁標籤。
  3. 查看技能清單。您可以使用「Location」(位置) 或「Status」(狀態) 選單篩選顯示內容。
  4. 按一下要刪除的技能名稱。
  5. 在「Skill Details」頁面中,按一下 「Delete」。
  6. 在確認對話方塊中輸入 DELETE,然後按一下「Delete」(刪除)。

gcloud

如要刪除技能,請使用 gcloud alpha agent-registry skills delete 指令:

gcloud alpha agent-registry skills delete SKILL_ID \
    --project=PROJECT_ID \
    --location=LOCATION

更改下列內容:

  • SKILL_ID:要刪除的技能 ID。如果是手動註冊的技能,請加入 private- 前置字元,例如 private-my-skill。
  • PROJECT_ID:專案 ID。
  • LOCATION:登錄檔位置。

REST

如要刪除技能,請傳送 DELETE 要求:

curl -X DELETE \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://agentregistry.googleapis.com/v1alpha/projects/PROJECT_ID/locations/LOCATION/skills/SKILL_ID?force=true"

更改下列內容:

  • PROJECT_ID:專案 ID。
  • LOCATION:登錄檔位置。
  • SKILL_ID:要刪除的技能 ID。如果是手動註冊的技能,請加入 private- 前置字元,例如 private-my-skill。

後續步驟