

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

# 設計無伺服器 AI 架構
<a name="designing-serverless-ai-architectures"></a>

將無伺服器 AI 的原則轉換為真實世界系統需要深思熟慮的架構。目標是將鬆散耦合 AWS 服務 到模組化的智慧型管道，以彈性擴展並即時回應。

本節提供有關如何使用無 AWS 伺服器服務組合雲端原生 AI 系統的規範性指導，包括生成式 AI 協同運作、即時推論和邊緣運算。每個架構模式對應於常見的企業使用案例，以確保相關性和適用性。

**本節內容**
+ [基礎架構模式](#foundational-patterns)
+ [架構設計考量事項](#arch-design-considerations)
+ [模式 1：無伺服器 ML 推論管道](pattern-serverless-ml-inference.md)
+ [模式 2：使用 Amazon Bedrock 進行代理式 AI 協調](pattern-agentic-ai-orchestration.md)
+ [模式 3：邊緣的即時推論](pattern-real-time-inference.md)
+ [模式 4：多階段 AI 工作流程](pattern-multi-stage-ai.md)
+ [模式 5：基本代理程式 AI 工作流程](pattern-grounded-agent-ai.md)

## 基礎架構模式
<a name="foundational-patterns"></a>

在傳統的事件驅動型應用程式架構中，系統分為四個邏輯層，可解耦問題，同時實現可擴展性和回應能力。在最上層，*應用程式層*會處理使用者互動、APIs和 UI 事件，通常會在系統中觸發特定網域的事件。在其下，*協同運作層*會使用狀態機器或無伺服器工作流程等工具來管理工作流程、業務規則和事件排序。*服務層*包含模組化、可重複使用的函數或微型服務，可回應事件並執行核心邏輯。在基礎上，*資料層*負責持久性、串流和事件來源。資料層利用資料庫、物件存放區或事件日誌等服務來發出和使用變更事件。這些層共同支援鬆散耦合、可擴展且可維護的架構，其中事件推動整個堆疊的流程。

無伺服器 AI 系統也同樣由鬆耦合的事件驅動服務組成，可獨立擴展、發展和復原。若要以一致性和可擴展性設計這些系統，請務必將架構檢視為五個不同的層。每個 layer 都提供特定的 函數，並直接映射到專門建置的 AWS 服務。下圖顯示每個圖層。

![傳統 AI 架構系統的邏輯層與無伺服器 AI 架構系統之間的關係。](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/agentic-ai-serverless/images/app-layers.png)


這五個層構成藍圖，用於建置彈性、可觀測且針對成本和效能最佳化的智慧型事件驅動型應用程式。

### 事件觸發或界面層
<a name="section-layer-event-trigger"></a>

*事件觸發或界面層*是無伺服器 AI 系統的進入點。它會擷取使用者互動、系統事件或資料變更，並將它們作為結構化事件發射到架構中。它啟用非同步協同運作，並從下游處理邏輯分離上游輸入。

事件觸發層的責任包括下列項目：
+ 擷取使用者動作，例如點選、訊息和上傳
+ 發出網域事件或變更通知
+ 標準化傳入資料以供下游使用

AWS 服務 通常用於此層的 包括下列項目：
+ [Amazon API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/welcome.html) 透過 REST 或 WebSocket APIs 接受使用者輸入。
+ [Amazon EventBridge](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-what-is.html) 會使用結構描述登錄檔路由內部或外部事件。
+ [Amazon Simple Storage Service](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) (Amazon S3) 會在建立物件時觸發，例如文件上傳和媒體檔案。
+ [Amazon Kinesis](https://docs.aws.amazon.com/kinesis/) 和 [Amazon Managed Streaming for Apache Kafka](https://docs.aws.amazon.com/msk/latest/developerguide/what-is-msk.html) (Amazon MSK) 會大規模擷取串流事件。

**範例：**透過 Web 表單提交的客戶支援請求會觸發 EventBridge 規則，在下游啟動 Amazon Bedrock 代理程式工作流程。

### 處理層
<a name="section-layer-processing"></a>

* 處理層*會在資料傳遞至 AI 模型之前轉換或擴充資料。它會使用查詢資料表或外部 APIs 來處理預先處理任務，例如輸入驗證、格式化、中繼資料標記、語言偵測和資料擴充。

處理層的責任包括下列項目：
+ 驗證和標準化原始輸入。
+ 擷取或插入中繼資料，例如語言和客戶 ID。
+ 以資料屬性為基礎的路由或分支邏輯。

AWS 服務 通常用於此層的 包括下列項目：
+ [AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html) 是無狀態、事件驅動的轉換邏輯運算。
+ [AWS Step Functions](https://docs.aws.amazon.com/step-functions/latest/dg/welcome.html) 協調多步驟預先處理任務。
+ [Amazon Comprehend](https://docs.aws.amazon.com/comprehend/latest/dg/what-is.html) 提供語言偵測、實體辨識或情緒分析，作為預先處理的一部分。

**範例：**上傳的保險宣告會在 AI 摘要之前使用 Lambda 和 Amazon Comprehend 掃描個人身分識別資訊 (PII) 和文件類型。

### 推論層
<a name="section-layer-inference"></a>

作為 AI 系統的核心，*推論層*會執行機器學習 (ML) 或基礎模型 (FM) 推論。視使用案例而定，它可能包含一或多個模型 — 生成、預測或分類。

推論層的責任包括下列項目：
+ 執行 ML 或 FM 模型推論。
+ 產生預測、分類或產生的內容。
+ 在適用的情況下整合擷取增強產生 (RAG) 內容。

AWS 服務 通常用於此層的 包括下列項目：
+ [Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/userguide/what-is-bedrock.html) 提供來自 Anthropic、Amazon （適用於 [Amazon Nova](https://docs.aws.amazon.com/nova/latest/userguide/what-is-nova.html))、 和 等供應商的基礎模型推論 （文字、影像Meta、多模態）Mistral。
+ [Amazon SageMaker Serverless Inference](https://docs.aws.amazon.com/sagemaker/latest/dg/serverless-endpoints.html) 會大規模執行自訂 ML 模型。
+ [Amazon Bedrock Agents](https://docs.aws.amazon.com/bedrock/latest/userguide/agents.html) 提供大型語言模型 (LLM) 驅動推理和目標型協同運作。

**範例：**Amazon Bedrock 代理程式使用 Amazon Nova Pro 產生複雜支援查詢的回應，以使用 RAG 的企業知識為基礎。

### 後製處理或決策層
<a name="section-layer-post-processing"></a>

*後製處理或決策層*會精簡或處理推論結果。它可以格式化回應、日誌輸出、叫用下游動作，或根據模型可信度、分類或外部業務規則做出決策。

後製處理或決策層的責任包括下列項目：
+ 為下游系統或顯示器格式化 AI 輸出。
+ 觸發條件式邏輯或呼叫 APIs。
+ 路由豐富的資料以進行儲存或分析。

AWS 服務 通常用於此層的 包括下列項目：
+ Lambda 可以格式化結果、套用轉換或呼叫 APIs。
+ [Amazon Simple Notification Service](https://docs.aws.amazon.com/sns/latest/dg/welcome.html) (Amazon SNS) 和 EventBridge 會根據模型輸出發出進一步的事件。
+ Step Functions 會套用鏈結邏輯，例如，如果情緒等於「憤怒」，請呈報支援案例。

**範例：**LLM 的產品建議會先使用 Lambda 函數針對即時庫存進行交叉驗證，再將建議傳送給使用者。

### 輸出或儲存層
<a name="section-layer-output-storage"></a>

最後，*輸出或儲存層*會處理將結果交付至使用者或系統，並保留結構化輸出以進行稽核、分析或回饋迴圈。

輸出或儲存層的責任包括下列項目：
+ 透過 APIs或 UIs 將 AI 結果傳回給最終使用者。
+ 持續結構化輸出和日誌。
+ 饋送至資料湖或重新訓練管道。

AWS 服務 通常用於此層的 包括下列項目：
+ Amazon S3 存放推論日誌、摘要或產生的內容。
+ [Amazon DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Introduction.html) 為工作階段特定的 AI 輸出提供低延遲金鑰值儲存。
+ [Amazon OpenSearch Service](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/what-is.html) 為搜尋和分析提供索引結構化輸出。
+ API Gateway 和 WebSocket APIs為前端或行動用戶端提供傳回回應。

**範例：**Amazon Bedrock 產生的法律文件摘要存放在 Amazon S3 中，並在 OpenSearch Service 中編製索引，以啟用語意企業搜尋。

### 跨層的設計考量事項
<a name="section-design-considerations-layers"></a>

下列關鍵設計考量事項和模式適用於所有架構層：
+ **彈性** – 每個 layer 都應獨立失敗並重試 （例如 Lambda 上的無效字母佇列 (DLQs))。
+ 可**觀測性** – 將結構化日誌、追蹤和指標從每個階段傳送至 Amazon CloudWatch，以偵測行為偏離。
+ **安全性** – 使用 [AWS Identity and Access Management](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html)(IAM) 角色分離和 [AWS Key Management Service](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html)(AWS KMS) 進行跨層的資料加密。
+ **成本最佳化** – 盡可能使用非同步執行，並選擇適當大小的模型。
+ **可擴展性 – **模組化設計允許獨立取代或升級服務。

這五個層形成模組化、可擴展且無伺服器的參考架構，適用於採用 AI 技術的工作負載 AWS。每個 layer 都可以獨立開發、部署和最佳化，實現快速反覆運算、卓越營運，以及明確區隔業務領域之間的疑慮。

透過使用此分層模式做為設計支架，企業可以標準化無伺服器 AI 的方法，並自信地加速從原型到生產的路徑。

## 架構設計考量事項
<a name="arch-design-considerations"></a>

上的無伺服器 AI 架構 AWS 可讓您建置模組化、可擴展且生產等級的智慧型應用程式。無論您是在邊緣部署模型、協調多步驟推論管道，還是建置生成式 AI 助理， AWS 服務 都可以為新一代 AI 原生應用程式提供支援。

設計無伺服器 AI 架構時，請記住下列關鍵設計重點和最佳實務：
+ **安全性** – 使用精細的 IAM 角色、加密提示和輸出，以及限制 API 存取。
+ 可**觀測性** – 整合每個管道階段的 CloudWatch AWS X-Ray、 和自訂日誌。
+ **可擴展性** – 僅使用無伺服器元件，例如 Lambda、Amazon Bedrock 和 SageMaker Serverless Inference。
+ **延遲** – 利用 Lambda@Edge、佈建並行或非同步推論。
+ **模組化** – 使用事件觸發條件和每個任務的隔離函數來設計管道。
+ **可重複使用性** – 參數化提示、使用共用 Lambda 層，以及使用 Step Functions 解耦邏輯。

 