View a markdown version of this page

技能評估者 - Amazon Bedrock AgentCore

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

技能評估者

技能是一種可重複使用的SKILL.md指令檔案,代理程式會在執行時間載入該檔案,以協助處理任務。技能遵循技能檔案結構的開啟客服人員技能標準。如需術語,請參閱技能。

AgentCore Evaluations 為使用技能的客服人員提供兩個內建評估程式。兩者都是工具層級評估器。AgentCore Evaluations 會為每個技能調用發出一個結果,並將每個結果錨定到載入技能的工具呼叫範圍。具有三個技能調用的工作階段會為每個評估器產生三個結果。

您可以將這些評估器與隨需、批次和線上評估搭配使用。如需確切的提示內文,請參閱提示範本頁面上下列的技能選擇準確性和技能指示。

builtin.SkillSelectionAccuracy

技能選擇準確性評估器 (Builtin.SkillSelectionAccuracy) 會根據可用技能的目錄,判斷客服人員載入的技能是否符合任務。它傳回 Yes(1.0) 或 No(0.0)。

評估者使用的預留位置:

  • invoked_skill – 客服人員在此工具呼叫中載入的技能名稱。

  • available_skills – 代理程式可在執行時間選擇的技能目錄。並非每個架構都會公開目錄。當目錄不在追蹤中時,此預留位置是空的,評估者會根據使用者請求和對話內容單獨判斷調用的技能。

  • user_message – 使用者請求輪流觸發了技能調用。

  • context – 先前的 會變成正在評估的工具呼叫。

評估器會在 AgentCore Evaluations 偵測到技能調用時執行。它著重於選擇決策,而不是客服人員接著執行技能的程度。

builtin.SkillInstructionFollowing

評估器之後的技能指示 (Builtin.SkillInstructionFollowing) 會判斷代理程式完全遵循所載入技能的指定步驟。它傳回 Fully Followed(1.0)、Mostly Followed(0.75)、Partially Followed(0.5)、Minimally Followed(0.25) 或 Not Followed(0.0)。

評估者使用的預留位置:

  • invoked_skill – 客服人員在此工具呼叫中載入的技能名稱。

  • skill_content – 所載入技能SKILL.md指示的完整內文。

  • context – 完整的工作階段內容 – 從工作階段開始到工作階段結束的每個回合。由於代理程式可能會在載入技能之後的任何時間點執行規定的步驟,因此判斷器需要整個工作階段,而不只是 變成工具呼叫。

只有在調用的技術及其SKILL.md內文都出現在追蹤中時,評估器才會執行。判斷器會識別技能內文中規定的步驟,然後針對每個步驟,從對話記錄中判斷步驟是否完全執行、部分執行或略過,並產生與每個步驟明細一致的整體評分。

架構支援

AgentCore Evaluations 會偵測兩種追蹤訊號的技能調用:檔案的檔案系統讀取SKILL.md,以及架構的原生技能載入工具。檔案系統讀取訊號適用於任何架構。原生工具訊號適用於下表第二列中的特定架構。

偵測方法

架構

SKILL.md 檔案讀取 (通用)

LlamaIndex、OpenAI 代理程式,以及SKILL.md透過一般檔案讀取工具讀取的任何代理程式。

原生技能載入工具 (除了檔案讀取之外)

Strands Agents、LangGraph Deep Agents、Google ADK、Claude Agent SDK。

對於檔案讀取路徑,AgentCore Evaluations 在其參數包含結尾為 的路徑,/SKILL.md且工具結果內文是格式良好的SKILL.md檔案 (具有 name和 description 欄位的前綴,後面接著指示內文) 時,會比對工具呼叫做為技能負載。

可用的技能目錄由 Strands Agents、LangGraph Deep Agents 和 Google ADK 原生發出。Claude Agent SDK 和檔案讀取代理程式不會發出目錄。 Builtin.SkillSelectionAccuracy仍會在這些代理程式上執行,預留available_skills位置為空。

如需一般檢測設定和每個影格範圍名稱,請參閱支援的代理程式架構。

略過行為

AgentCore Evaluations 會在追蹤公開invoked_skill或skill_content針對該呼叫時,將工具呼叫分類為技能調用。如果兩個訊號都不存在,AgentCore Evaluations 會略過該呼叫的兩個技能評估器,而不會發出任何結果。如果您的代理程式未載入任何技能,則兩個評估器都會產生工作階段的零結果,這是預期的,而不是錯誤。

如果您的代理程式確實有載入技能,但評估者仍然未傳回任何結果,請在診斷技能來源中執行診斷技能,以確認追蹤具有預期的訊號。

自訂評估者的技能預留位置

您可以撰寫自訂 TOOL_CALL 評估器,其原因在於代理程式載入的技能。上述技能預留位置 (invoked_skill、available_skills、、user_message) skill_content可用於任何自訂 TOOL_CALL 評估器,以及標準工具層級預留位置 (context、available_tools、tool_turn)。工作階段層級和追蹤層級自訂評估者無法使用這些預留位置。

AgentCore Evaluations 的行為方式取決於自訂評估器參考的技能預留位置:

  • 參考invoked_skill行為類似 的評估器Builtin.SkillSelectionAccuracy:僅在技能調用工具呼叫時執行,並{context}轉譯標準呼叫前快照。

  • 參考類似 skill_content行為的評估器Builtin.SkillInstructionFollowing:它僅在內SKILL.md文可用的技能調用工具呼叫上執行,並{context}轉譯完整的工作階段內容 - 從工作階段開始到工作階段結束的每個回合。這與標準工具層級 不同context。

在任何一種情況下,AgentCore Evaluations 都會為每個技能調用發出一個結果。如需自訂評估器撰寫,請參閱建立評估器。