本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Amazon Bedrock 代理程式的運作方式
|
使用 Amazon Bedrock AgentCore 將代理程式加速至生產環境。AgentCore 是一種代理程式平台,可大規模安全地建置、部署和操作功能強大的代理程式。如需詳細資訊,請參閱 AgentCore 開發人員指南。 |
Amazon Bedrock 代理程式包含下列兩組主要的 API 操作,可協助您設定和執行代理程式:
-
建置時期 API 操作,用以建立、設定和管理代理程式及其相關資源
-
執行時期 API 操作,使用使用者輸入調用您的代理程式,並啟動協同運作以執行任務
建置時期組態
代理程式包含以下元件:
-
基礎模型 – 您可以選擇代理程式調用的基礎模型 (FM),以便在其協同運作過程中解譯使用者輸入和隨後提示。代理程式也會調用 FM,在其程序中產生回應和後續步驟。
-
指示 – 您撰寫指示,說明代理程式的設計目的。透過進階提示,您可以在協同運作的每個步驟進一步自訂代理程式的指示,並包含 Lambda 函數來剖析每個步驟的輸出。
-
至少下列其中一個項目:
-
動作群組 – 您可以定義代理程式應為使用者執行的動作 (透過提供下列資源):
-
下列其中一個結構描述,用於定義代理程式從使用者取得所需的參數 (每個動作群組可以使用不同的結構描述):
-
OpenAPI 結構描述,用於定義代理程式可調用以執行其任務的 API 操作。OpenAPI 結構描述包含需要從使用者取得的參數。
-
函數會詳細說明結構描述,以定義代理程式可從使用者取得的參數。然後,代理程式可以將這些參數用於進一步協同運作,或者您可以設定如何在自己的應用程式中使用這些參數。
-
-
(選用) 具有下列輸入和輸出的 Lambda 函數:
-
輸入 – 協同運作期間識別的 API 操作和/或參數。
-
輸出 – API 調用的回應或函數調用的回應。
-
-
-
知識庫 – 將知識庫與代理程式建立關聯。代理程式會查詢知識庫以取得額外的內容,以增強回應產生並輸入協同運作程序的步驟。
-
-
提示範本 – 提示範本是建立提示以提供給 FM 的基礎。Amazon Bedrock 代理程式會公開預設的四個基本提示範本,這些範本會在預先處理、協同運作、產生知識庫回應和後續處理期間使用。您也可以選擇編輯這些基本提示範本,以自訂代理程式序列中每個步驟的行為。您也可以為了進行疑難排解而關閉某些步驟,或者如果您認為某個步驟不必要也可以關閉步驟。如需詳細資訊,請參閱使用 Amazon Bedrock 中的進階提示範本提高代理程式的準確性。
在建置時期,會收集所有這些元件以建構代理程式的基本提示,以便執行協同運作,直到使用者請求完成為止。透過進階提示,您可以使用其他邏輯和少量樣本範例來修改這些基本提示,以提高每個代理程式調用步驟的準確性。基本提示範本包含指示、動作描述、知識庫描述和對話歷程記錄,您可以自訂所有這些範本,以便根據您的需求修改代理程式。然後,您可以準備代理程式,此程序會封裝代理程式的所有元件,包括安全組態。準備代理程式會使其進入可在執行時期進行測試的狀態。下圖描述建置時期 API 操作如何建構代理程式。
執行時期程序
執行時期由 InvokeAgent API 操作管理。此操作會啟動代理程式序列,其中包含下列三個主要步驟。
-
預先處理 – 管理代理程式如何對使用者輸入進行情境化和分類,並可用於驗證輸入。
-
協同運作 – 解譯使用者輸入、調用動作群組和查詢知識庫,並將輸出傳回給使用者,或做為持續協同運作的輸入。協同運作包含下列步驟:
-
代理程式會使用基礎模型解譯輸入,並產生一個理由,列出下一個步驟應採用的邏輯。
-
代理程式預測應該調用的動作群組中的哪些動作,或是應該查詢的知識庫。
-
如果代理程式預測需要調用動作,代理程式會將從使用者提示決定的參數傳送至為動作群組設定的 Lambda 函數,或透過在 InvokeAgent 回應中傳送參數來傳回控制權。如果代理程式沒有足夠的資訊來調用動作,它可能會執行下列其中一個動作:
-
查詢相關聯的知識庫 (知識庫回應產生),以擷取其他內容並摘要資料以增強其產生。
-
重新提示使用者以收集動作所需的所有必要參數。
-
-
代理程式透過調用動作和/或從知識庫彙總結果,產生稱為觀察的輸出。代理程式會使用觀察來增強基本提示,然後使用基礎模型解譯該提示。然後,代理程式會判斷是否需要重複協同運作過程。
-
這個迴圈會繼續進行,直到代理程式傳回回應給使用者,或直到它需要提示使用者提供額外資訊為止。
在協同運作過程期間,基本提示範本會增強已新增至代理程式的代理程式指示、動作群組和知識庫。然後,增強的基本提示會用於調用 FM。FM 會預測最好的步驟和軌跡,以滿足使用者的輸入。在協同運作過程的每次迭代中,FM 都會預測要調用的 API 操作或要查詢的知識庫。
-
-
後續處理 – 代理程式會格式化要傳回給使用者的最終回應。此步驟預設為關閉。
當您調用代理程式時,您可以在執行時期開啟追蹤。使用追蹤,您可以在代理程式序列的每個步驟追蹤代理程式的原理、動作、查詢和觀察。追蹤包括在每個步驟傳送到基礎模型的完整提示,以及基礎模型、API 回應和知識庫查詢的輸出。您可以使用追蹤來了解代理程式在每個步驟的推論。如需詳細資訊,請參閱使用追蹤以追蹤代理程式的逐步推理程序。
隨著代理程式的使用者工作階段繼續處理更多 InvokeAgent 請求,對話歷史記錄也會保留。對話歷史記錄會持續增強協同運作基礎提示範本與內容,協助改善代理程式的準確性和效能。下圖顯示代理程式在執行時期的處理程序: