

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

# 编排
<a name="actions-orchestration"></a>

Orchestration 使您能够自动执行复杂的 end-to-end流程，在需要时将自动化任务与人工决策进行协调。Amazon Quick Automate 中的编排功能包括用于跟踪工作项目的案例管理和用于 human-in-the-loop整合人工判断的集成。

## 案例管理
<a name="case-management"></a>

案例跟踪各个工作项目以供您自动化处理，例如新的索赔、IT 支持请求单、客户投诉或新发票。每个案例都有：
+ 唯一的参考名称（例如，“订单-12345”）
+ 用于对相关工作进行分组的案例类型（例如，“销售订单”）
+ 以键值对的形式存储的自定义数据
+ 具有状态跟踪和审计跟踪功能的定义生命周期
+ 关联 human-in-the-loop任务（如果适用）

### 案例状态生命周期
<a name="case-status-lifecycle"></a>

为了通过自动化跟踪工作进度，案例遵循定义的生命周期，并进行特定的状态转换：
+ `Ready`-案例已创建，正等待受理处理。这是所有新病例的初始状态。
+ `In Progress`-自动化系统正在积极处理该案件。您可以通过日志监控实时进度。
+ `Pending Resolution`-案例正在等待 human-in-the-loop任务完成后才能继续处理。任务解决后，案例会自动恢复为 “就绪” 状态。
+ `Successful`-该案例已完成所有处理步骤，没有任何例外。
+ `Failed`-该案例遇到了以下异常类型之一：
  + 业务异常-该案例遇到了已处理的业务规则违规行为并停止了处理。日志中提供了详细的异常信息。
  + 系统异常-问题出现技术错误并停止处理。日志中提供了详细的错误信息。

### 操作
<a name="case-actions"></a>

Amazon Quick Automate 提供以下操作，用于在案例的整个生命周期中创建、处理和管理案例。

创建新案例  
创建单个案例来跟踪工作。每个案例都有一个参考名称（例如，“Order-12345”），并将自定义数据存储为键值对。案例按类型（例如 “销售订单”）分组，以便组织和报告。属性：  
+ `Title`（可选）-流程可视化中显示的操作名称（例如，“创建销售订单案例”）
+ `Reference name`（必填）-用于在监控仪表板中搜索和跟踪案例的业务标识符（例如，“Order-12345”）
+ `Case type`（必填）-按业务目的对相关案例进行分组的标签。提供组织和指标跟踪（例如 “销售订单”、“Support ticket”）
+ `Custom data`（必填）-以键值对形式存储的其他案例信息。用户可以看到这些数据，并且可以在案例处理过程中对其进行检索、更新或追加（例如，\$1“产品”：“ABC-12345”、“数量”：“100”、“优先级”：“高”\$1）

创建多个案例  
从数据表中批量创建案例。每行都变成一个新的大小写，继承指定的大小写类型并使用指定的列作为引用名称。所有其他列都将成为自定义数据字段。属性：  
+ `Title`（可选）-流程可视化中显示的操作名称（例如，“从发票批次创建案例”）
+ `Case type`（必填）-按业务目的对相关案例进行分组的标签（例如，“发票处理”）
+ `Cases data table`（必填）-数据表，其中每行都创建一个新案例。所有列都存储为自定义数据（例如 cases\$1table）
+ `Reference column name`（必填）-包含每个案例的参考名称标识符的列名称（例如，“发票编号”）

处理案例  
循环浏览处于 “就绪” 状态的案例。通过在处理过程中将案例移至 “处理中”，并在完成后将其标记为成功或失败，从而自动管理案例状态。在 Process cases 循环中添加操作时，系统会为您处理未捕获的异常，将案例标记为失败，并附上相关的错误详细信息，然后移至下一个案例。该操作还允许在处理期间访问案例数据。属性：  
+ `Title`（可选）-流程可视化中显示的操作名称（例如，“处理待处理发票”）
+ `Case type`（必填）-要处理的案例类型（例如，“发票处理”）
+ `Current case`（输出）-包含每个循环中正在处理的案例的变量。使用 current\$1case ["custom\$1data"] ["key\$1name"] 访问案例数据

更新案例数据  
保存处理期间对案例信息的更改。可以添加新字段或修改现有数据。仅在案例 “处理中” 时可用。用于跟踪处理结果和管理案例生命周期。属性：  
+ `Title`（可选）-流程可视化中显示的操作名称（例如，“更新案例状态”）
+ `Case ID`（必填）-要更新的案例的唯一标识符（例如，current\$1case ["case\$1id"]）
+ `Data to update`（必填）-要存储为键值对的新信息或修改过的信息（例如，\$1“状态”：“已批准”、“：“2024-0 ProcessedDate 1-20"\$1）
+ `Updated case`（输出）-包含修改后大小写的变量。使用 updated\$1case ["custom\$1data"] ["key\$1name"] 访问更新的数据

搜索案例  
检索案例以进行报告和分析。按案例类型、状态或参考名称进行筛选。以包含案例信息和自定义数据的数据表形式返回结果。属性：  
+ `Title`（可选）-流程可视化中显示的操作名称（例如，“查找逾期案例”）
+ `Case type`（必填）-要搜索的案例类型（例如，“Support ticket”）
+ `Filter by status`（可选）-根据案例的当前状态筛选案例（例如，“待解决”）
+ `Filter by reference name`（可选）-筛选具有特定参考名称的案例（例如，“Ticket-12345”）
+ `Maximum results`（可选）-限制要返回的案例数量。留空则返回所有不超过 10,000 的案例（例如 100）
+ `Search results`（输出）-用于存储搜索检索到的案例数据表的变量名（例如，cases\$1table）

## Human-in-the-Loop (HITL)
<a name="human-in-the-loop"></a>

虽然许多决策可以实现自动化，但有些场景需要人工判断。Amazon Quick Automate 的 HITL 功能使您可以将人工决策无缝整合到自动化流程中。有两种创建 HITL 任务的方法：
+ 使用 “创建用户” 任务操作
+ 通过自定义代理使用 HITL 聊天

### 创建用户任务
<a name="create-user-task"></a>

创建供人工输入的任务。任务显示在列表中，供用户查看、做出决定或提供信息。只有在案例处理循环中，才能创建任务。创建任务会将案例移至 “待处理任务” 状态，自动处理下一个案例。任务解决后，问题将返回 “就绪” 状态以供进一步处理。属性：
+ `Title`（必填）-出现在用户任务列表中的主题行。应清楚地描述需要做什么（例如，“审查贷款申请”、“批准支出报告”）
+ `Description`（必填）-为完成任务的用户提供的详细说明和背景信息（例如，“请查看随附的申请详情，并根据以下标准批准或拒绝...”）
+ `Form`（必填）-用于收集用户结构化输入的接口
+ `Severity`（必填）-帮助用户对任务进行分类的优先级：
  + 严重-需要紧急关注，最高优先级
  + 中等-普通优先级（默认）
  + 低-非紧急任务
+ `Due in`（必填）：
  + 数字-时间单位的数量（例如，24）
  + 单位-小时或天
+ `Case ID`（必填）-此任务所针对的案例的唯一标识符（例如，current\$1case ["case\$1id"]）

**重要**  
创建 HITL 任务时：  
“处理案例” 循环会自动将案例状态更新为 “待解决”，然后进入下一个案例
在 Process cases 循环中创建任务后不要添加操作，因为它们不会在当前案例中执行

#### 建筑表格
<a name="building-forms"></a>

创建 HITL 任务时，您可以构建自定义表单，以准确收集人工审阅者所需的信息。以下组件可用于表单设计：
+ 文本字段-用于收集用户输入的单行或多行文本输入（例如，“请详细提供拒绝理由”）
+ 下拉列表-从预定义的选项中进行选择（例如，[“批准”、“拒绝”、“上报”]）
+ 日期/时间选择器-基于日历的输入
+ 媒体-显示图像或文档以供审阅
+ 显示文本-提供背景信息的只读信息（例如，案例详情、政策参考）

### HITL 聊天
<a name="hitl-chat"></a>

对于需要更多动态互动的场景，Amazon Quick Automate 还支持通过自定义代理进行 HITL 聊天。这使代理人和人工审阅者之间能够进行自然语言对话。代理可以在需要人工输入时创建 HITL 任务。当代理人与人工审阅者聊天时，案件将继续进行中。一旦提供了足够的输入，代理将继续。

```
# Example agent prompt for HITL chat
"""
Review the data and if any values are outside normal ranges,
create a HITL task for human review. Include the specific
values and acceptable ranges in the task description.
"""
```

**注意**  
HITL 聊天任务将采用默认严重性（中等），并在（24 小时）后到期。

### 任务解决和案例重新输入
<a name="task-resolution-case-reentry"></a>

在人类完成 HITL 任务后，您的自动化需要处理案例的恢复处理。了解如何处理任务解决数据是实施有效 human-in-the-loop工作流程的关键。任务解决后：
+ 关联的案例会自动恢复为 “就绪” 状态
+ 通过处理案例，可以再次处理该案例
+ latest\$1task\$1resolution 字段包含所有表单输入和决策

检查 HITL 解决方案并相应处理案例的示例：

```
# Example handling HITL resolution
if current_case["latest_task_resolution"]:
    # Handle case returning from HITL
    resolution_data = current_case["latest_task_resolution"]["form_data"]
    if resolution_data["decision"] == "Approve":
        # Process approved case
    else:
        # Handle rejected case
else:
    # First time processing this case
```

处理 HITL 解析的最佳实践：
+ 处理案例时，请务必检查最新的任务分辨率
+ 构建逻辑以处理新案例和从 HITL 返回的案例
+ 考虑根据人工决策实施不同的处理路径
+ 包括分辨率数据缺失或无效的错误处理