1.5.2 ワークフロー作成機能(02-30以降)
ユーザーが生成AIを利用して回答を取得するために利用するフローをワークフローと呼びます。ワークフローを適切に定義することで,問い合わせに利用する機能の絞り込みや,利用するナレッジの分離などを行うことができ,適切な回答を得られるようになります。ワークフローは複数定義でき,定義したワークフローはチャット画面より選択し,利用できます。
- 〈この項の構成〉
(1) ワークフローを構成する要素
ワークフローは次の要素から構成されます。
(a) ノード
ノードとは特定の役割を遂行する単位です。ノードを組み合わせて一つのワークフローを定義します。ノードは指示を受け取り,生成AIを利用しながら決められた処理を実行し,ワークフローで定義された次のノードに成果物を渡します。
生成AI連携機能でサポートされるノードはオペレーターノードとエージェントノードに大別されます。
■ オペレーターノード
オペレーターノードはユーザーからの質問や会話履歴,エージェントノードの回答をもとに,回答または次の遷移先を決定する役割を持ちます。
■ エージェントノード
エージェントノードはオペレーターノードからのリクエストを受け取り,エージェントノードが利用できる機能を利用して調査・回答を作成する役割を持ちます。
(b) ツール
ツールとは,スキーマ(ツール名:name,説明:description,引数のJSONスキーマ情報:args)とその処理ロジックから構成されるオブジェクトです。単一あるいは複数のツールを組み合わせ,特定の機能を実現します。
ツールはノードが機能を実現するために利用されます。ノードが利用するツールは,ノードのプロンプト定義により指定されます。
(c) プロンプト
プロンプトとは,生成AIの回答の正確さを高めるために与える指示や命令です。
ユーザーの作成した質問内容だけではなく,生成AIの役割や使用可能なツールの情報をプロンプトに追加することで,より適切な回答を得られるようにします。プロンプトはノードやツールごとに指定できる情報が異なります。
(2) サポートする構成
(a) ノード
■ ノード種別
生成AI連携機能でサポートするノードは以下の通りです。
|
# |
区分 |
ノード |
説明 |
|---|---|---|---|
|
1 |
オペレーターノード |
Secretary |
問合せのエントリーポイントとなるノードです。 ユーザーの質問が簡単なあいさつなど,エージェントノードを利用した調査が不要な場合や,ワークフロー定義にSupervisorが存在しない場合は,ユーザーへ回答を返します。 ユーザーの質問がエージェントノードを利用した調査が必要でSupervisorが定義されている場合は,Supervisorに調査を依頼します。 |
|
2 |
Supervisor |
ユーザーの質問を観察して,適切なエージェントノードに処理を振り分けるノードです。問い合わせ実行処理の中で「エージェントノードが呼ばれていない状態」と「エージェントノードが呼ばれた状態」で以下の処理を行います。 ■エージェントノードが呼ばれていない状態
■エージェントノードが呼ばれた状態
|
|
|
3 |
エージェントノード |
ナレッジ検索エージェント |
ユーザーコンテンツの取得機能を実行し,ユーザーコンテンツに登録された情報を参照して回答するエージェントノードです。 運用手順書等,ユーザーコンテンツに登録している情報を利用した回答が必要な場合は,利用するワークフローにナレッジ検索エージェントを含める必要があります。 ワークフローへの設定方法は「2.2.3ワークフローの設定(02-30以降)」を参照してください。 前提となるユーザーコンテンツの取得機能の利用には連携する検索サービスの設定が必要です。検索サービスの接続設定は「2.2.2検索サービスの接続設定」を参照してください。 |
|
4 |
運用管理データ取得エージェント |
運用管理データ取得機能を実行し,システム管理マネージャーに蓄積された運用管理データを参照して回答するエージェントノードです。 JP1イベントの発生状況など,運用管理データを利用した回答が必要な場合は,利用するワークフローに運用管理データ取得エージェントを含める必要があります。 ワークフローへの設定方法は「2.2.3ワークフローの設定(02-30以降)」を参照してください。 |
|
|
5 |
カスタムエージェント |
ユーザープログラム呼び出し機能を実行し,ユーザープログラムの結果をもとに回答するエージェントノードです。02-40以降で利用可能です。 ユーザープログラムの実行により取得した情報を踏まえた回答が必要な場合は,利用するワークフローにカスタムエージェントを含める必要があります。 |
■ ノードに定義するプロンプト
ノードに適切なプロンプトを与えることで,ノードの役割の定義や,動作・利用するツールの制御,回答のフォーマット指示を指定することができます。定義できるプロンプトや設定方法は「1.5.3プロンプト作成機能」を参照してください。
(b) ツール
■ ツール種別
生成AI連携機能でサポートするツールは以下の通りです。
|
# |
名称 |
説明 |
|---|---|---|
|
1 |
Azure AI Search検索ツール |
ユーザーコンテンツ取得機能で利用できるツールです。 LLMが生成した検索クエリをパラメータとして,Azure AI Searchから検索し,検索結果文字列を返します。検索クエリは半角スペース区切りの文字列を指定します。 |
|
2 |
Knowledge Bases for Amazon Bedrock検索ツール |
ユーザーコンテンツ取得機能で利用できるツールです。 LLMが生成した検索クエリをパラメータとして,Knowledge Bases for Amazon Bedrockから検索し,検索結果文字列を返します。検索クエリは文章で指定します。 |
|
3 |
ユーザープログラム呼び出しツール |
ユーザープログラム呼び出し機能で利用するツールです。 LLMが生成したユーザープログラムの実行引数をパラメータとして,AWS LambdaにデプロイされたLambda関数を同期的に呼び出します。 |
■ ツールに定義するプロンプト
ツールに適切なプロンプトを与えることで,ツールの利用や引数の作成を定義することができます。定義できるプロンプトや設定方法は「1.5.3プロンプト作成機能」を参照してください。
(c) ワークフロー
生成AI連携機能でサポートするワークフローの構成を以下に示します。
|
# |
構成図 |
説明 |
|---|---|---|
|
1 |
|
生成AIモデルのみを利用し,汎用的な質問への対応や,チケットの作成などを行う構成。 生成AIモデル単一で回答できる場合に推奨される構成です。 |
|
2 |
|
1つのエージェントノードの実行を許可する構成。 生成AIモデルと,特定の機能を利用することで,汎用的な質問への回答に加え,各エージェントノードに付与された機能を用いた回答も生成できるようにする構成です。 本構成は,指示に対して必要な機能が明確な場合に,エージェントノードを絞ることで,回答精度の向上を図る構成です。 例えば,ユーザーコンテンツの情報のみ必要で,イベントの分析,ユーザープログラムの実行といった操作が不要な場合は,ナレッジ検索エージェントの構成を利用します。 イベント分析のみ行いたい場合や,ユーザープログラムの実行のみ行いたい場合は,それぞれ運用管理データ取得エージェント,カスタムエージェントのみの構成を利用します。 |
|
3 |
|
2つ以上のエージェントノードの実行を許可する構成。 生成AIモデルと,各エージェントノードを複数利用することで,汎用的な質問への回答に加え,各エージェントノードに付与された機能を用いた回答も生成できるようにする構成です。 本構成は,指示に対して必要な機能が不明確な場合に用います。 本構成では,Supervisorが各エージェントノードの役割を踏まえて,適切なエージェントノードを呼び出し,ユーザーの指示に対処します。また,必要に応じてSupervisorはレコメンドを作成します。 |
(3) ワークフローの設定方法
ワークフローは要件に合わせて複数作成することができます。「(2)サポートする構成」のワークフロー説明を参照し,必要なワークフローを検討してください。ワークフローの設定方法は「2.2.3 ワークフローの設定(02-30以降)」を参照してください。