本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
microVMs
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 程序時。
平台版本
平台版本控制 AgentCore 執行期如何啟動您的代理程式。您可以在每個代理程式執行時間上以 platformVersion 欄位 (V1 或 V2) 設定它。V1 是預設值。平台版本適用於代理程式執行期本身;它與擷取組態歷史記錄的執行期版本不同。
Amazon Bedrock AgentCore 執行期 V2 會從快照啟動您的代理程式,無論並行或影像大小如何,它都能保持冷啟動速度和一致性。AgentCore 執行期會準備您的環境一次,並拍攝其快照,然後還原每個新執行個體的快照,而不是在每次啟動時初始化您的環境。
- 一致的冷啟動
-
無論並行或影像大小為何,V2 都會保持冷啟動延遲一致,因為每個執行個體都會還原準備好的快照,而不是初始化您的環境。這對於大型容器映像最為重要,否則每次冷啟動時載入速度會變慢。
- 永遠上線或高載代理程式的成本較低
-
V2 費用會根據您的代理程式主動使用的內容而定。AgentCore Runtime 會在您的代理程式釋出記憶體時回收記憶體,並減少平台額外負荷。
注意
從快照還原會變更您建構客服人員程式碼的方式。若要了解如何最佳化您的代理程式並充分利用平台版本 V2,請參閱最佳化 AgentCore 執行期 V2 的代理程式。
支援的區域
V2 可在下列 AWS 區域使用:
-
美國東部 (維吉尼亞北部)、
us-east-1 -
美國東部 (俄亥俄)、
us-east-2 -
美國西部 (奧勒岡)、
us-west-2 -
歐洲 (愛爾蘭)、
eu-west-1 -
亞太區域 (東京)、
ap-northeast-1
啟用 V2
您可以為每個代理程式執行時間設定平台版本。當您建立執行時間時加以設定,或更新現有的執行時間以在平台版本之間移動。如果您在建立執行時間platformVersion時省略 ,則執行時間會使用 V1。如果您在更新執行時間時省略它,執行時間會保留其目前的平台版本。
範例
預期事項
V2 建立或更新操作會準備和快照您的環境,因此其行為與 V1 不同。
- 建立和更新需要幾分鐘的時間
-
在 V1 上,執行時間以秒
READY為單位達到 。在 V2 上,準備快照會增加一次性成本,並在執行時間達到 之前建立和更新執行幾分鐘READY。 - 您的容器必須在 120 秒內報告運作狀態良好
-
AgentCore 執行期會在第一個運作狀態良好的
/ping回應上取得快照。/ping只有在初始化完成後才會報告 的運作狀態,以便快照擷取完全初始化的代理程式。如果執行時間在啟動後 120 秒內未報告運作狀態良好,則建立會失敗,並顯示運作狀態檢查錯誤。 - 輪詢終端機狀態
-
create和update操作會在執行時間仍為CREATING或 時傳回UPDATING。如果您在執行時間達到結束狀態delete之前呼叫update或 ,操作會傳回ConflictException。輪詢get_agent_runtime直到狀態為READY或結束於FAILED,並等待幾分鐘讓 V2 執行時間達到READY。import time def wait_until_ready(client, agent_runtime_id): while True: status = client.get_agent_runtime(agentRuntimeId=agent_runtime_id)["status"] if status == "READY" or status.endswith("FAILED"): return status time.sleep(5)
注意
V2 目前將代理程式環境變數的總大小限制為直接程式碼部署 1.5 KB 和容器代理程式 2.5 KB,相較於 V1 上的 4 KB。如果您的組態超過此限制,請求會因 而失敗ValidationException。AgentCore 執行期會提高此限制以符合 V1。
快照生命週期
在 V2 上,AgentCore 執行期會管理端點指向的每個執行期版本的快照。您不會直接建立或刪除快照。它們會遵循您的執行時間和端點變更。
- 已建立
-
AgentCore 執行期會在端點指向版本時準備快照。當您建立執行期時,AgentCore 執行期會將您的版本託管在預設端點上,並準備其快照。執行時間可以有多個指向不同版本的端點,因此執行時間一次可以有多個快照。
- Updated
-
當您更新執行時間時,AgentCore 執行時間會在預設端點上託管新版本,並準備新的快照。先前託管的版本不再參考,因此 AgentCore 執行期會標記其快照以供刪除,並在現有工作階段結束後將其移除。
- 已刪除
-
AgentCore 執行期會在沒有端點指向快照時刪除快照。當您更新執行時間、移除端點對版本的參考,或刪除執行時間或執行時間端點時,就會發生這種情況。刪除最多可能需要 8 小時,這是工作階段生命週期上限,因為已在快照上執行的工作階段會持續到結束為止。
基礎設施即程式碼
AWS CloudFormation 和 AWS CDK 目前不支援設定 platformVersion。
身分驗證和安全性
傳入身分驗證控制誰可以透過 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 執行期來部署更新 (建立新版本)
-
透過更新端點以指向新版本來控制推展