運作方式
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 探索端點
-
允許對象:您的權杖應包含的有效對象值清單
-
允許用戶端 :可存取此代理程式的用戶端識別符清單
身分驗證流程
-
最終使用者向您的身分提供者進行身分驗證 (Amazon Cognito、Okta、Microsoft Entra ID)
-
您的用戶端應用程式在身分驗證成功後會收到承載字符
-
呼叫代理程式時,用戶端會在授權標頭中傳遞此字符
-
AgentCore 執行期會使用授權伺服器驗證權杖
-
如果有效,則會處理請求;如果無效,則會拒絕請求
這可確保只有具有適當授權的已驗證使用者才能存取您的代理程式。
傳出身分驗證
採用 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 支援多個通訊協定:
-
HTTP :傳統請求/回應模式的直接 REST API 端點。如需詳細資訊,請參閱 AgentCore CLI 入門。
-
MCP :工具和代理伺服器的模型內容通訊協定。如需詳細資訊,請參閱在 AgentCore 執行期中部署 MCP 伺服器。
-
A2A :適用於多Agent-to-Agent代理程式通訊協定。如需詳細資訊,請參閱在 AgentCore 執行期中部署 A2A 伺服器。
實作概觀
以下是如何開始使用 AgentCore 執行期。如需完整範例,請參閱 AgentCore CLI 入門。
準備您的代理程式或工具程式碼
-
使用任何 AI 架構或自訂程式碼來定義您的代理程式邏輯
-
使用 AgentCore SDK 或自訂實作新增所需的 HTTP 端點
-
requirements.txt 檔案中的套件相依性
部署您的代理程式或工具
-
直接建置容器映像並將其推送至 Amazon ECR,或透過 AgentCore SDK
-
使用容器映像建立 AgentCore 執行期
-
初始版本 (V1) 和 DEFAULT 端點會自動建立
叫用您的代理程式或工具
-
為每個使用者對話產生唯一的工作階段 ID
-
使用客服人員的 ARN 和工作階段 ID 呼叫 InvokeAgentRuntime 或 InvokeAgentRuntimeWithWebSocketStream 操作
-
在請求承載中傳遞使用者輸入
管理和觀察工作階段,並進行更新
-
使用相同的工作階段 ID 進行後續互動,以維護內容
-
檢閱日誌、追蹤和可觀測性指標
-
透過修改 AgentCore 執行期來部署更新 (建立新版本)
-
透過更新端點以指向新版本來控制推展