View a markdown version of this page

運作方式 - Amazon Bedrock AgentCore

運作方式

Amazon Bedrock AgentCore 執行期可處理擴展、工作階段管理、安全隔離和基礎設施管理,讓您專注於建置智慧型代理程式體驗,而不是操作複雜性。透過利用此處所述的功能,您可以建置、部署和管理複雜的 AI 代理器,為您的使用者提供價值,同時協助維護企業級安全性和可靠性。

關鍵元件

AgentCore 執行期

AgentCore 執行期是託管 AI 代理器或工具程式碼的基礎元件。它代表一個容器化應用程式,可處理使用者輸入、維護內容,並使用 AI 功能執行動作。建立 代理程式時,您可以定義其行為、功能和可存取的工具。例如,客戶支援客服人員可能會回答產品問題、傳回程序,並將複雜的問題呈報給人力代表。

您可以使用 AgentCore CLI、AgentCore Python SDK 或直接透過 SDK 建置和部署代理程式至 AgentCore 執行期。 AWS SDKs 使用 AgentCore Python SDK,您可以使用常用的架構來定義您的代理程式,例如 LangGraph、CrewAI 或 Strands 代理程式。開發套件可處理基礎設施複雜性,讓您專注於代理程式的邏輯和功能。

每個 AgentCore 執行時間:

  • 具有唯一的身分

  • 已進行版本控制,以支援受控制的部署和更新

版本

每個 AgentCore 執行期都會維護不可變的版本,以擷取特定時間點組態的完整快照:

  • 當您建立 AgentCore 執行期時,會自動建立第 1 版 (V1)

  • 每次更新組態 (容器映像、通訊協定設定、網路設定) 都會建立新的版本

  • 每個版本都包含執行所需的所有必要組態

此版本控制系統提供可靠的部署歷史記錄和復原功能。

端點

端點為 AgentCore 執行期的特定版本提供可定址的存取點。每個端點:

  • 具有用於調用的唯一 ARN

  • 參考代理程式執行期的特定版本

  • 即使您更新實作,也能穩定存取您的代理程式

金鑰端點詳細資訊:

  • 當您呼叫 CreateAgentRuntime 並指向最新版本時,會自動建立「DEFAULT」端點

  • 當您更新 AgentCore 執行期時,會建立新的版本,但DEFAULT端點會自動更新以參考它

  • 您可以使用 CreateAgentRuntimeEndpoint 操作為不同的環境建立自訂端點 (開發、測試、生產)

  • 當使用者向端點提出請求時,請求會解析為該端點參考的特定代理程式版本

端點具有不同的生命週期狀態:

  • CREATING - 建立端點時的初始狀態

  • CREATE_FAILED - 表示建立失敗,因為許可或其他問題

  • READY - 端點可運作且接受請求

  • UPDATING - 正在修改端點以參考新版本

  • UPDATE_FAILED - 表示更新操作失敗

您可以在不停機的情況下更新端點,實現無縫的版本轉換和轉返。

工作階段

工作階段代表使用者與 AgentCore 執行期之間的個別互動內容。每個工作階段:

  • 透過您的應用程式runtimeSessionId提供的唯一 來識別,或者如果 runtimeSessionId 保留空白,則由第一次調用中的執行時間本身識別

  • 在具有完全隔離 CPU、記憶體和檔案系統資源的專用microVM中執行

  • 在相同對話中保留多個互動的內容

  • 總執行時間最多可保留 8 小時

工作階段狀態包括:

  • 作用中 - 目前正在處理請求或執行背景任務

  • 閒置 - 不處理任何請求,但在等待下一次互動時維護內容

  • 已終止 - 工作階段因閒置 (15 分鐘)、達到生命週期上限 (8 小時) 或被視為狀況不良而結束

重要的工作階段特性:

  • 工作階段終止後,整個 microVM 會終止並清除記憶體

  • 終止runtimeSessionId後具有相同 的後續請求將建立新的執行環境

  • 工作階段隔離可防止跨工作階段資料污染並確保安全性

  • 工作階段狀態為暫時性,不應用於長期耐久性 (使用 AgentCore 記憶體作為內容耐久性)

工作階段之間的完全隔離對於企業安全至關重要,特別是在處理非確定性 AI 程序時。

身分驗證和安全性

傳入身分驗證控制誰可以透過 AWS Identity and Access Management 或 OAuth 2.0 存取您的代理程式,在允許請求繼續之前驗證來自身分提供者的承載字符。傳出身分驗證可讓您的代理程式使用 OAuth 或 API 金鑰安全地存取第三方服務,並使用 AgentCore Identity 在使用者委派或自主模式下管理登入資料。如需詳細資訊,請參閱使用傳入身分驗證和傳出身分驗證進行身分驗證和授權

傳入身分驗證

傳入身分驗證採用 AgentCore Identity 技術,可控制誰可以在 AgentCore 執行期中存取和叫用您的代理程式或工具。

身分驗證方法

  • AWS IAM (SigV4):使用 AWS 登入資料進行身分驗證

  • OAuth 2.0 :與外部身分提供者整合

OAuth 組態選項

  • 探索 URL:您的身分提供者的 OpenID Connect 探索端點

  • 允許對象:您的權杖應包含的有效對象值清單

  • 允許用戶端 :可存取此代理程式的用戶端識別符清單

身分驗證流程

  1. 最終使用者向您的身分提供者進行身分驗證 (Amazon Cognito、Okta、Microsoft Entra ID)

  2. 您的用戶端應用程式在身分驗證成功後會收到承載字符

  3. 呼叫代理程式時,用戶端會在授權標頭中傳遞此字符

  4. AgentCore 執行期會使用授權伺服器驗證權杖

  5. 如果有效,則會處理請求;如果無效,則會拒絕請求

這可確保只有具有適當授權的已驗證使用者才能存取您的代理程式。

傳出身分驗證

採用 Amazon Bedrock AgentCore Identity 的傳出身分驗證可讓您託管在 AgentCore 執行期的代理程式安全地存取第三方服務:

身分驗證方法

  • OAuth :適用於支援 OAuth 流程的服務

  • API 金鑰 :適用於使用金鑰型身分驗證的服務

身分驗證模式

  • 使用者委派 :使用其登入資料代表最終使用者採取行動

  • 自治 :使用服務層級登入資料獨立執行

支援的服務

  • Slack、Zoom 和 GitHub 等企業系統

  • AWS 服務

  • 自訂 APIs和資料來源

AgentCore Identity 可安全地管理這些登入資料,防止您的代理程式程式碼或日誌中的登入資料暴露。

額外功能

非同步處理

AgentCore Runtime 透過下列方式支援長時間執行的工作負載:

  • 超過請求/回應週期之操作的背景任務處理

  • 透過/ping端點自動追蹤狀態

  • 支援長達 8 小時的操作

如需詳細資訊,請參閱使用 Amazon Bedrock AgentCore 執行期處理非同步和長時間執行的代理程式。

串流回應

客服人員可以在取得部分結果時串流,而不是等待完成處理。這可讓您提供更具回應性的使用者體驗,特別是對於產生大量內容或需要大量時間才能完成的操作。如需詳細資訊,請參閱串流代理程式回應

WebSocket API

AgentCore 執行期為互動式代理程式通訊的即時雙向串流連線提供 WebSocket 支援。這可讓客服人員體驗更具回應性和互動式。如需詳細資訊,請參閱使用 WebSocket 開始雙向串流

通訊協定支援

AgentCore Runtime 支援多個通訊協定:

實作概觀

以下是如何開始使用 AgentCore 執行期。如需完整範例,請參閱 AgentCore CLI 入門

準備您的代理程式或工具程式碼

  • 使用任何 AI 架構或自訂程式碼來定義您的代理程式邏輯

  • 使用 AgentCore SDK 或自訂實作新增所需的 HTTP 端點

  • requirements.txt 檔案中的套件相依性

部署您的代理程式或工具

  • 直接建置容器映像並將其推送至 Amazon ECR,或透過 AgentCore SDK

  • 使用容器映像建立 AgentCore 執行期

  • 初始版本 (V1) 和 DEFAULT 端點會自動建立

叫用您的代理程式或工具

管理和觀察工作階段,並進行更新

  • 使用相同的工作階段 ID 進行後續互動,以維護內容

  • 檢閱日誌、追蹤和可觀測性指標

  • 透過修改 AgentCore 執行期來部署更新 (建立新版本)

  • 透過更新端點以指向新版本來控制推展