

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# オーケストレーション
<a name="actions-orchestration"></a>

オーケストレーションを使用すると、複雑なend-to-endのプロセスを自動化し、必要に応じて自動化されたタスクを人間の決定と調整できます。Amazon Quick Automate のオーケストレーション機能には、作業項目を追跡するためのケース管理と、human-in-the-loop統合が含まれます。

## ケース管理
<a name="case-management"></a>

ケースは、新しいクレーム、IT サポートチケット、顧客からの苦情、新しい請求書など、自動化が処理する個々の作業項目を追跡します。各ケースには次のものがあります。
+ 一意の参照名 (「Order-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 には、ライフサイクル全体でケースを作成、処理、管理するための以下のアクションが用意されています。

新しいケースを作成する  
作業を追跡する 1 つのケースを作成します。各ケースには参照名 (「Order-12345」など) があり、カスタムデータをキーと値のペアとして保存します。ケースは、組織とレポートのタイプ (「販売注文」など) 別にグループ化されます。プロパティ:  
+ `Title` (オプション) - プロセスの視覚化に表示されるアクション名 (「Create sales order case」など)
+ `Reference name` (必須) - モニタリングダッシュボードのケースの検索と追跡に使用されるビジネス識別子 (「Order-12345」など)
+ `Case type` (必須) - 関連するケースをビジネス目的別にグループ化するラベル。組織とメトリクスの追跡を提供します (「販売注文」、「サポートチケット」など)
+ `Custom data` (必須) - キーと値のペアとして保存される追加のケース情報。このデータはユーザーに表示され、ケース処理中に取得、更新、または に追加できます (例: \$1"Product": "ABC-12345", "Qty": "100", "Priority": "High"\$1)。

複数のケースを作成する  
データテーブルからケースを一括作成します。各行は新しいケースになり、指定されたケースタイプを継承し、参照名に指定された列を使用します。他のすべての列はカスタムデータフィールドになります。プロパティ:  
+ `Title` (オプション) - プロセスの視覚化に表示されるアクション名 (「請求書バッチからケースを作成する」など)
+ `Case type` (必須) - 関連するケースをビジネス目的別にグループ化するラベル (「請求書処理」など)
+ `Cases data table` (必須) - 各行が新しいケースを作成するデータテーブル。すべての列がカスタムデータとして保存されます (例: cases\$1table)
+ `Reference column name` (必須) - 各ケースの参照名識別子を含む列の名前 (「請求書番号」など)

プロセスケース  
「準備完了」ステータスのケースをループスルーします。処理中にケースを「進行中」に移動し、完了に基づいて成功または失敗としてマークすることで、ケースのステータスを自動的に管理します。プロセスケースループ内にアクションを追加すると、未処理の例外が処理され、関連するエラーの詳細でケースが失敗としてマークされ、次のケースに移動します。アクションは、処理中にケースデータへのアクセスも提供します。プロパティ:  
+ `Title` (オプション) - プロセスの視覚化に表示されるアクション名 (「保留中の請求書の処理」など)
+ `Case type` (必須) - 処理するケースのタイプ (「請求書処理」など)
+ `Current case` (出力) - 各ループで処理されるケースを含む変数。current\$1case["custom\$1data"]["key\$1name"] を使用してケースデータにアクセスする

ケースデータを更新する  
処理中にケース情報への変更を保存します。新しいフィールドを追加したり、既存のデータを変更したりできます。ケースが「進行中」の場合にのみ使用できます。処理結果を追跡し、ケースのライフサイクルを管理するために使用されます。プロパティ:  
+ `Title` (オプション) - プロセスの視覚化に表示されるアクション名 (「大文字と小文字のステータスの更新」など)
+ `Case ID` (必須) - 更新するケースの一意の識別子 (例: current\$1case["case\$1id"])
+ `Data to update` (必須) - キーと値のペアとして保存する新規または変更された情報 (例: \$1"Status": "Approved", "ProcessedDate": "2024-01-20"\$1)
+ `Updated case` (出力) - 変更されたケースを含む変数。updated\$1case["custom\$1data"]["key\$1name"] を使用して更新されたデータにアクセスする

ケースの検索  
レポートと分析のケースを取得します。ケースタイプ、ステータス、または参照名でフィルタリングします。ケース情報とカスタムデータを含むデータテーブルとして結果を返します。プロパティ:  
+ `Title` (オプション) - プロセスの視覚化に表示されるアクション名 (例：「遅延ケースを見つける」)
+ `Case type` (必須) - 検索するケースのタイプ (「サポートチケット」など)
+ `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 タスクを作成するには、次の 2 つの方法があります。
+ ユーザータスクの作成アクションの使用
+ カスタムエージェントを介した HITL チャットの使用

### ユーザータスクの作成
<a name="create-user-task"></a>

人間による入力のタスクを作成します。タスクは、ユーザーが確認、決定、または情報を提供するためのリストに表示されます。タスクは、ケースの処理ループ中にのみ作成できます。タスクを作成すると、ケースは「タスクの保留中」ステータスに移動し、自動化は次のケースに進みます。タスクが解決されると、ケースはさらに処理するために「準備完了」ステータスに戻ります。プロパティ:
+ `Title` (必須) - ユーザーのタスクリストに表示される件名。何をする必要があるかを明確に記述する必要があります (「ローン申請の確認」、「経費報告書の承認」など)
+ `Description` (必須) - タスクを完了するユーザーに提供される詳細な手順とコンテキスト (「添付されたアプリケーションの詳細を確認し、以下の基準に基づいて承認または拒否してください」など)
+ `Form` (必須) - ユーザーから構造化された入力を収集するためのインターフェイス
+ `Severity` (必須) - ユーザーがタスクをトリアージするのに役立つ優先度レベル:
  + 重大 - 緊急対応が必要、最優先事項
  + Moderate - 通常の優先度 (デフォルト)
  + 低 - 緊急ではないタスク
+ `Due in` (必須):
  + 数値 - 時間単位の数 (例: 24)
  + 単位 - 時間または日
+ `Case ID` (必須) - このタスクが の場合の一意の識別子 (例: current\$1case["case\$1id"])

**重要**  
HITL タスクを作成する場合:  
プロセスケースループは、ケースステータスを解決保留中に自動的に更新し、次のケースに進みます。
プロセスケースループ内でタスクを作成した後は、現在のケースでは実行されないため、アクションを追加しないでください。

#### フォームの構築
<a name="building-forms"></a>

HITL タスクを作成するときに、カスタムフォームを構築して、人間のレビューワーから必要な情報を正確に収集できます。フォーム設計には、次のコンポーネントを使用できます。
+ テキストフィールド - ユーザー入力を収集するための単一行または複数行のテキスト入力 (例：「拒否理由の詳細を記載してください」)
+ ドロップダウン - 事前定義されたオプションから選択 (例: ["Approve"、"Reject"、"Escalate"])
+ 日付/時刻ピッカー - カレンダーベースの入力
+ メディア - レビュー用にイメージまたはドキュメントを表示する
+ テキストの表示 - コンテキストを提供する読み取り専用情報 (例: ケースの詳細、ポリシーリファレンス)

### 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 解決を処理するためのベストプラクティス:
+ ケースを処理するときは、常に latest\$1task\$1resolution を確認してください。
+ 新しいケースと HITL から返されるケースの両方を処理するロジックを構築する
+ 人間の決定に基づいて異なる処理パスを実装することを検討する
+ 欠落または無効な解決データのエラー処理を含める