

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 编排模型：从基于规则到人工智能原生
<a name="orchestration-models"></a>

在事件驱动的无服务器 AI 系统中，编排是决定事件如何触发和塑造系统行为的连接逻辑。在中 AWS，编排可以遵循两个主要模型：
+ **基于规则的编排**由开发人员使用工作流程和状态机定义。
+ **AI 原生编排**由代理和大型语言模型 (LLMs) 提供支持，这些模型基于意图和情境进行推理、计划和行动。

每种模型在构建灵活、反应式和智能系统方面都扮演着不同的角色。它们共同使开发人员能够从程序自动化过渡到自主的、以目标为导向的系统。

## 基于规则的编排 AWS Step Functions
<a name="section-orchestration-rule-based-sfn"></a>

[Step Fun](https://docs.aws.amazon.com/step-functions/latest/dg/welcome.html) ctions 提供了一个可视化工作流程引擎，用于编排亚马逊、亚马逊 Bedrock AWS Lambda SageMaker、亚马逊 DynamoDB 和亚马逊简单存储服务 (Amazon S3) Simple Storage Service 等服务。逻辑是确定性的，因为步骤是明确定义的，过渡是基于条件的。

使用 Step Functions 进行基于规则的编排的主要优势包括：
+ 通过可视化工作流程控制台实现强大的可审计性和可见性
+ 内置错误处理、重试和并行性
+ 非常适合具有明确定义路径的线性或分支控制流

下图显示了文档摄取和处理示例用例的工作流程。

![基于规则的文档摄取和处理编排示例。](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/agentic-ai-serverless/images/use-case-ingest.png)


在此示例中，一家律师事务所通过以下步骤自动分析已上传的合同：

1. **事件触发器** — 法律文件上传到 Amazon S3 存储桶，这会触发亚马逊 EventBridge 事件，该事件会路由到 Step Functions 工作流程。

1. **工作流程** — Step Functions 执行以下步骤：

   1. **文档处理** — Lambda 函数对文档进行清理和执行初始光学字符识别 (OCR)。

   1. **文本提取** — Amazon Textract 从文档中提取关键文本和数据。

   1. **分析** — Amazon Comprehend 分析文本，对风险等级和情绪进行分类。

   1. **摘要** — Amazon Bedrock 会生成一份简明的合同摘要。

   1. **数据存储**-将结果写入 Amazon OpenSearch 服务进行索引。

1. **检索** — 法律团队可以通过仪表板搜索、筛选和可视化合同分析。

该架构利用 Step Functions 的 AWS SDK 集成功能，直接与工作流程 AWS 服务 中的每个人进行交互。这种方法降低了复杂性，并且无需在每个处理步骤之间使用单独的 Lambda 函数。对 OpenSearch 服务的最终写入也通过 SDK 集成来处理。因此，Step Functions 可以将文档分析结果、风险分类、情绪分析和 AI 生成的摘要直接索引到 OpenSearch 服务中。法律团队可以通过仪表板访问信息，用于搜索、筛选和可视化合同分析。

每个任务都是具有内置错误处理功能的已定义状态。人工智能不会做出任何决定，而且编排是明确的。

## 使用亚马逊 Bedrock Agents 进行人工智能原生编排
<a name="section-orchestration-ai-native-bedrock"></a>

在 Step Functions 管理事情如何发生的地方，Amazon Bedrock 的代理会根据用户目标决定应该发生什么。A [mazon Bedrock 代理](https://docs.aws.amazon.com/bedrock/latest/userguide/agents.html)或在 Amazon Bedrock 上构建的代理 AgentCore 结合了以下内容：
+ [像 Claude 或 Amazon No Anthropic va 这样的法学硕士](https://docs.aws.amazon.com/nova/latest/userguide/what-is-nova.html)
+ 一组工具集成，例如 Lambda 函数（或用于执行 MCP 集成的模型上下文协议 (MCP) 客户端）
+ 用于情境基础的可选知识库
+ 内置记忆和目标追踪功能

代理解释自然语言输入及其原因，并自主调用工具来实现用户的意图，将编排逻辑转移到模型中。

使用 Amazon Bedrock Agents 进行人工智能原生编排的主要优势包括：
+ **语义灵活性** — 解释各种自然语言输入。
+ **工具自主权**-在运行时选择正确的工具。
+ **情境基础-准确**引用知识库内容。
+ **最少的开发人员维护**-定义工具，而不是流程。

下图显示了使用 Amazon Bedrock Agents 实现客户支持自动化的示例用例的工作流程。

![通过 Amazon Bedrock Agents 使用人工智能编排的工作流程。](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/agentic-ai-serverless/images/use-case-auto.png)


在此示例中，零售网站上的用户在支持聊天机器人中键入一条消息。将出现以下工作流程：

1. 事件触发器操作如下：

   1. 用户发送一条消息：“我需要退回上周订购的鞋子。你能帮忙吗？”

   1. 消息被接收并通过 EventBridge路由。

   1. EventBridge 触发 Amazon Bedrock 代理。

1. 代理推理过程如下：

   1. **意图提取**-代理将意图标识为 “退货订单”。

   1. **数据检索**-代理使用 `GetOrderHistory` Lambda 函数查询 CRM 系统。

   1. **资格检查**-代理调用 `ProcessReturn` Lambda 函数来验证退货资格。

   1. **响应生成**-代理制定适当的响应。

1. 当代理回应 “您的退货正在处理中” 时，就会发生买家沟通操作。预计很快就会收到一封确认电子邮件。”

整个工作流程演示了 Amazon Bedrock Agents 如何通过定义的操作组来协调复杂的业务逻辑。通过将客户意图与后端系统和流程联系起来，它可以提供自动化但符合情境的客户服务体验。

Amazon Bedrock AgentCore 将 Amazon Bedrock 生态系统扩展到单个代理之外，为自主、事件驱动的人工智能系统提供完整的运行时和内存架构。

Amazon Bedrock Agents 专注于为单个任务或域编排推理和操作序列。 AgentCore 提供底层基础架构，用于在分布式无服务器环境中编写、协调和保留多代理工作流程。

下图显示了使用实现客户支持自动化的示例用例的工作流程 AgentCore。

![使用 EventBridge、 AgentCore和 Lambda 实现客户支持自动化的工作流程。](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/agentic-ai-serverless/images/use-case-agentcore.png)


此示例遵循与之前的 Amazon Bedrock Agents 示例相同的操作：零售网站上的用户在支持聊天机器人中键入消息。将出现以下工作流程：

1. 用户发送一条消息：“我需要退回上周订购的鞋子。你能帮忙吗？”

1. 消息被接收并通过 EventBridge路由。

1. EventBridge 触发 AgentCore 运行时端点。

AgentCore 引入了三项关键功能，可补充现有的编排模型：
+ **AgentCore 运行时** — 用于在其中运行自定义代理逻辑的托管执行环境 AWS。它与 Amazon ECS 原生集成，可按需扩展代理行为，无需手动管理容器或函数基础设施。 AWS Lambda 
+ **AgentCore 内存**-为上下文、状态和任务历史记录提供持久的结构化存储。这使代理能够在调用和工作流程之间保持连续性，同时支持短暂和长期内存模式。内存数据可以与 DynamoDB 或亚马逊简单存储服务 (Amazon S3) 同步，以实现可观察性和合规性。
+ **AgentCore 网关** — 用于安全调用的托管接口， AWS 服务 以及 APIs 通过模型上下文协议 (MCP) 进行外部调用的托管接口。这些连接器允许代理直接与企业数据、工具和应用程序交互，无需自定义集成代码即可实现更丰富的编排。

这些组件共同构成了构建跨无服务器、事件驱动架构运行的自适应多代理系统成为可能。例如， AgentCoreRuntime 可以托管多个通过 EventBridge 或 Step Functions 进行协调的专业代理，使用 AgentCore 内存共享上下文并确保确定性、可审计的结果。

通过将客户意图与后端系统和流程联系起来， AgentCore 提供自动化且符合情境的客户服务体验。

编排不是硬编码的。LLM 动态确定工作流程，使系统对输入的变化和模糊性更具弹性。

## 基于规则还是人工智能原生：何时使用哪个？
<a name="section-orchestration-comparison"></a>

AWS Step Functions 和 Amazon Bedrock Agents 在不同的编排场景中都表现出色。最佳做法是，使用 Step Functions 进行受控流程，使用 Amazon Bedrock Agents 进行自然语言交互和灵活实现目标。下表比较了不同用例类型的这些服务。


| 
| 
| **用例类型** | Ste@@ **p Func** ti **ons（基于规则）** | **亚马逊 Bedrock Agents****（人工智能原生）** | 
| --- |--- |--- |
| 确定性工作流程 | 理想 | 不需要。 | 
| 非结构化用户输入 | 刚性 | 解释和改编。 | 
| 复杂的业务规则 | 使用条件建模 | 可以使用语义推理进行推断。 | 
| 需要精细的审计跟踪 | 完整状态跟踪 | 跟踪有限，具体取决于代理日志。但是，权重、偏差和模型调用日志等工具可以缓解这种限制。 | 
| 延迟敏感型自动化 | 实时协调 | 实时，尽管由于 LLM 处理而略高。 | 
| 以目标为导向的用户体验 | 需要明确的设计 | 代理可以推断目标并撰写流程。 | 

## 事件驱动的编排
<a name="section-orchestration-event-driven"></a>

无论是使用基于规则的编排还是 AI 原生编排，事件都是在无服务器系统中激活智能的机制。在这两个编排模型中，都会出现以下顺序：

1. 事件通过 EventBridge发出。事件的示例包括用户输入、文档上传和交易。

1. 该事件会触发相应的协调器：
   + 如果逻辑是确定性的，则为 Step Functions
   + AWS Lambda 或者订阅 AWS 原生运行时的 Amazon ECS 任务以 EventBridge 进行精心编排的设计
   + Amazon Bedrock Agents（如果逻辑是动态的还是对话式的）

1. AgentCore [代理可以使用 SDK 在本地发出和订阅 EventBridge 事件。AgentCore ](https://aws.github.io/bedrock-agentcore-starter-toolkit/)通过这种方法，代理可以直接参与无服务器工作流程，同时通过 AgentCore内存维护长期上下文。这种集成形成了*双重通信层*：
   + EventBridge 提供确定性、可审计的事件路由。
   + AgentCore Memory plus Agent2Agent 协议 (A2A) 提供语义状态共享和能力发现。

1. 每个协调器都会协调 AI 服务并发出更多事件，例如完成、错误和下游触发器。

这种反应式模型可确保可扩展性、弹性和模块化设计，使系统的各个部分能够独立发展。

## 战略视角
<a name="section-orchestration-strategy"></a>

EDA 既支持基于规则的编排模型，也支持人工智能原生编排模型，它使这两个模型能够共存。Step Functions 提供可靠、可重复的自动化，Amazon Bedrock Agents 引入了动态的情境感知情报。

它们共同为组织提供了执行以下操作的能力：
+ 自动执行重复的大批量流程
+ 提供智能、自适应的面向用户的助手
+ 在没有瓶颈或架构僵化的情况下扩展 AI

编排不再仅仅是规则，而是意图解释、工具选择和自主执行。Serverless on AWS 组合 AWS Step Functions 用于结构化工作流程，Amazon Bedrock Agents 用于语义编排。这个统一的框架支持构建下一代代理式无服务器 AI 系统。