

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

# 事件驅動型架構：無伺服器 AI 的骨幹
<a name="event-driven-architecture"></a>

上的無伺服器 AI AWS 是以[事件驅動型架構](https://aws.amazon.com/what-is/eda/) (EDA) 為基礎，這是一種架構風格，其中事件是整合和控制的主要機制。事件是系統內的狀態變更或明顯出現，例如檔案上傳、使用者請求、感應器訊號或模型推論結果。事件可做為觸發條件，導致下游服務或代理程式回應，而不會在元件之間緊密耦合。

在 EDA 中，系統會以非同步方式即時回應事件，而不是直接叫用服務或輪詢變更。此方法可建立高度解耦、可擴展且具反應的應用程式。

## 為什麼 EDA 對 AI 系統很重要
<a name="section-eda-importance"></a>

EDA 為 AI 系統提供下列重要優勢：
+ **解耦系統設計 – **事件生產者 （例如，Amazon S3 和 Amazon API Gateway) 不需要了解消費者 （例如 AWS Lambda，Amazon Bedrock 和 AWS Step Functions)。此解耦可實現快速反覆運算、獨立擴展，並降低層疊失敗的風險。在 AI 系統中，資料收集服務不需要知道哪個模型正在執行，或回應的處理方式。服務只會發出事件。
+ **AI 工作流程的無縫整合** – EDA 允許 AI 函數成為由事件觸發的模組化服務，例如預先處理、推論、接地、摘要或動作。這些服務可以在沒有集中式協調邏輯的情況下獨立擴展和發展。
+ **彈性和事件驅動擴展** – AI 工作負載通常會爆量。EDA 可以透過下列擴展功能消除閒置資源並改善成本效益：
  + AWS Lambda 會根據事件磁碟區自動擴展。
  + Amazon Bedrock API 操作可以從 Lambda 函數呼叫，以回應觸發事件。
  + AWS Step Functions 只能在需要時協調多步驟管道。
+ **即時決策** – 事件可讓 AI 服務立即對系統或使用者輸入做出反應，如下列範例所示：
  + 聊天機器人訊息會觸發 Amazon Bedrock 代理程式。
  + 交易事件會觸發詐騙偵測模型。
  + 文件上傳會觸發摘要管道。

## EDA 和軟體代理程式模型
<a name="section-eda-agent-model"></a>

EDA 不只是解耦。EDA 符合軟體代理程式範例，其中自主代理程式會感知事件、其原因，並對其環境採取行動。

在代理式 AI 系統中，事件會被視為觀察，觸發目標設定、規劃和動作的認知循環。EDA 提供代理程式環境互動的受質：
+ **感知** – 透過各種事件來訂閱 或 的客服人員 AWS 服務。其中包括 Amazon EventBridge、Amazon S3 事件通知，以及其他服務事件觸發和通訊基礎設施，包括 Amazon Simple Notification Service (Amazon SNS)、Amazon Simple Queue Service (Amazon SQS) 或 Amazon Bedrock AgentCore [閘道調用](https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/gateway-using-mcp-call.html)。
+ **決策** – AI 邏輯 （例如，透過 [Amazon Bedrock 代理程式](https://docs.aws.amazon.com/bedrock/latest/userguide/agents-how.html)、[AgentCore 執行期](https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/agents-tools-runtime.html)、Amazon SageMaker 託管模型或符號邏輯的 Lambda 函數） 會解釋事件內容。
+ **動作** – 代理程式叫用工具 （使用 AWS Lambda Amazon Bedrock [代理程式叫用](https://docs.aws.amazon.com/bedrock/latest/userguide/agents-invoke-agent.html)或 AgentCore 閘道叫用） 或發出新事件以繼續週期。

由於 Lambda、EventBridge 和 Amazon Bedrock 等無伺服器服務本質上是無狀態、被動和隨需的，因此它們形成代理式 AI 架構的理想基礎設施。

## AWS 服務 支援 EDA
<a name="section-eda-aws-services"></a>

事件驅動型架構是現代 AI 系統的連線基礎。它可啟用非同步、被動和高度解耦的工作流程，以彈性方式擴展並即時回應。EDA 是軟體代理程式模型的操作基礎，使其成為無伺服器環境中代理程式 AI 的自然架構。

下列 AWS 服務 支援事件驅動型架構：
+ [Amazon EventBridge](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-what-is.html) 提供事件路由和結構描述管理功能。
+ [Amazon S3 事件通知](https://docs.aws.amazon.com/AmazonS3/latest/userguide/EventNotifications.html)功能會在檔案或物件更新時觸發 AI 流程。
+ [AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/concepts-event-driven-architectures.html) 會執行邏輯以回應事件。
+ [Amazon SNS](https://docs.aws.amazon.com/sns/latest/dg/welcome.html) 和 [Amazon SQS](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/welcome.html) 處理 [pub/sub 訊息](https://aws.amazon.com/what-is/pub-sub-messaging/)和訊息緩衝。
+ [AWS Step Functions](https://docs.aws.amazon.com/step-functions/latest/dg/welcome.html) 在收到事件時協調 AI 工作流程。
+ [Amazon Kinesis Data Streams](https://docs.aws.amazon.com/streams/latest/dev/introduction.html) 可讓您擷取和即時處理高輸送量串流資料。
+ [Amazon API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/welcome.html) (webhook 和事件觸發） 可以透過 REST 或 WebSocket 接收和轉換外部事件，並將其發佈到 EventBridge 或 Lambda。
+ [AWS AppSync](https://docs.aws.amazon.com/appsync/latest/devguide/graphql-overview.html) 即時事件驅動 GraphQL APIs GraphQL 訂閱。
+ [Amazon Bedrock Agents](https://docs.aws.amazon.com/bedrock/latest/userguide/agents.html) 提供由目標或事件觸發的代理程式協同運作。
+ Amazon Bedrock AgentCore：
  + [AgentCore 執行期](https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/agents-tools-runtime.html) – 託管和執行代理程式邏輯的執行環境。與 AWS Lambda 或 Amazon Elastic Container Service (Amazon ECS) 整合以獲得彈性，並根據事件觸發自動擴展。
  + [AgentCore 記憶體](https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/memory.html) – 提供持久性記憶體，用於儲存對話內容、任務結果和客服人員特定狀態。可以根據延遲和大小需求，以特定模式補充或取代 Amazon DynamoDB。
  + [AgentCore Gateway](https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/gateway.html) – 可讓客服人員透過受管整合叫用外部 APIs AWS 服務和資料來源，減少自訂連接器程式碼並改善可觀測性。
  + [AgentCore 內建工具](https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/built-in-tools.html) – 提供在 AgentCore 環境中執行程式碼和瀏覽 Web 的功能。