[Dify] 出張旅費規定に基づいて、ホテルを提案する総務エージェントを作る
Dify で出張手配を行う総務エージェントを作る
LLM(大規模言語モデル)は、自然言語処理の能力を活用して、ビジネスプロセスを効率化する強力なツールです。中でも、出張手配業務の自動化は、その実用性が顕著に現れる分野の一つです。宿泊費の確認やホテルの検索は、従業員の時間と労力を要しますが、LLMを活用することで、これらの業務を迅速かつ正確に処理することができます。
本記事では、Dify を使った出張手配エージェントの構築を、Dify のワークフローやツール、エージェントを活用して行います。例えば、出張規定に基づいてホテルを自動推奨したり、予算内での最適なプランを提案したりすることで、大幅な効率化を図ることができます。
Dify で出張手配エージェントを作る流れ
- 役職別に宿泊費の目安を回答するワークフローを作る
- 宿泊費と地域から、会社の契約ホテルを提案するワークフローを作る
- 総務エージェントに、作成したワークフローをツールとして追加する
役職を元に宿泊費の目安を答えるワークフローを作成する
出張時の宿泊料の目安を、出張旅費規定に定義している会社は多いかと思います。一般的には役職や出張先のエリア別に定義しています。今回は、役職別に宿泊料の目安を返すワークフローを作成します。
スタジオを開き「最初から作成」をクリックして始めます。アプリの種類は、ワークフローを選択。アプリのアイコンと名前、説明を入力してください。
例:
アプリの名前:
役職を元に宿泊費の目安を答えるワークフロー
説明:
役職を元に宿泊費の目安を回答します
アプリが作成されると、開始ノードのみが存在するワークフローの編集画面が表示されます。
ここから、役職を入力として受け取って、宿泊費の目安をLLMを活用して答えるワークフローを作成していきます。
開始ノードで役職の受け取りを設定する
開始ノードでは、入力フィールドとして、ワークフローで使用できる入力を設定することができます。開始ノードをクリックすると、設定画面が表示されます。
宿泊費を回答するために、役職を入力として受け取ります。入力フィールドの右側にある + ボタンをクリックすると、新しい入力を追加できます。
フィールドタイプは選択
変数名(任意の名前)とラベル名には、roleとつけました。
選択肢として、一般、部長、役員を追加。
今回は、宿泊費を回答するために役職の情報は必要なので、必須にチェック。
これで保存します。
これで役職の受け取りの設定が完了しました。開始ノードで行うことがわかりやすいように、説明に、「役職を入力として受け取る」と入力しておきましょう。説明に入力した内容は、ノードの下部に表示されます。
次に、受け取った役職を用いて、宿泊費の目安を回答します。
画面下の、+ ボタンをクリックし、ブロック・ツールの追加ウインドウを開きます。今回は、入力された役職と出張旅費規定の内容から、LLMに推論させて回答を得ます。
LLMブロックをクリックし、開始ノードと連結します。これで、開始ノードの出力 ( 今回は役職(role) ) が、LLMノードの入力で利用できるようになります。
LLMノードをクリックし、LLMノードの設定を進めます。
利用するモデルには、OpenAIのo1-miniを選択しました ( 実際の利用では、求められる品質、精度に応じて、より高品質なモデルを選択してください )。
次に、LLMが利用できるコンテキストを選択します。今回は、開始ノードで入力された役職を使うので、開始/{x}role を選択。
続いて、LLMに渡すプロンプトを入力します。
コンテキストで選択した変数を利用するには、/
を入力するか、右上の {x}
ボタンを押すことで、目的の変数を挿入できます。
例
一般: 10,000円
部長: 15,000円
役員: 20,000円{{#1735799084301.role#}}に基づいて、金額の目安を回答
回答は、数字のみ (カンマ、単位なし )
例.roleが一般の場合
10000
最後に、終了ノードを追加し、LLLノードと連結します。終了ノードの出力には、LLMノードの出力 LLM/{x}text を選択します。ノードの説明は、宿泊費を回答、としましょう。
LLMノードの説明には、役職から宿泊費の目安を回答、としましょう
一旦テストしてみる
ここまでの流れが動作するかテストしてみましょう
上部の実行ボタンを押します。すると、Test Runというテスト用のウインドウが開きます。役職を選択して、”実行を開始”をクリック
数秒で完了します。
トレースタブを開くと、各ノードの入力、出力を確認できます。
トレースタブの、LLM開くと、出力のtext プロパティに、推論された宿泊費が出力されていることが確認できます。
ワークフローをツールとして公開する
作成したワークフローを、後ほどエージェントにツールとして追加するために、ワークフローをツールとして公開します。
右上の”公開する”ボタンを押すと、公開関連のメニューが開きます。”アプリを公開”を押すと、”ツールとしてのワークフロー”が有効化されます。有効化後、クリックしてください。
すると、ツールとしてワークフローを公開するための設定ウィンドウが開きます。
名前:
役職を元に宿泊費の目安を答えるツール
ツールコールの名前:
getAccommodationBudgetByRole
ツールの説明:
役職を元に、宿泊費の目安を回答
ツール入力:
role, LLM入力, 出張者の役職
を設定します。エージェントは、ユーザの入力と、ツールの説明の内容をもとに、ツールを利用するかどうか、またユーザの入力をどのようにツールに渡すかどうか判断し、ツールを利用します。
ホテルのリストを回答するワークフローを作成し、ツールとして公開する
ここまで、役職を元に宿泊費の目安を回答するワークフローを作成し、ツールとして公開しました。次に、宿泊費の予算を元に、宿泊可能なホテルを返すワークフローを作成し、ツールとして公開します。
ワークフローの構造は、ここまで作成してきたワークフローと同様なので、詳細な流れは割愛します。以下に設定内容を記載します。
開始ノード
入力:数値、変数名budget、必須
LLMノード:
コンテキスト:budget
プロンプト:
{{#1735796498345.budget#}}で利用できる全てのホテルを、以下のリストの中からフィルターして返答
フォーマットは変えないこと
- ホテル名: グランドタワーホテル, 宿泊費: 15000円, 場所: 東京
- ホテル名: サンライズイン, 宿泊費: 12000円, 場所: 大阪
- ホテル名: スカイビューリゾート, 宿泊費: 18000円, 場所: 京都
- ホテル名: オーシャンブルーホテル, 宿泊費: 22000円, 場所: 福岡
- ホテル名: シティライツイン, 宿泊費: 13000円, 場所: 名古屋
- ホテル名: フォレストヒルズ, 宿泊費: 16000円, 場所: 札幌
- ホテル名: リバーサイドホテル, 宿泊費: 14000円, 場所: 広島
- ホテル名: プレミアムスイート, 宿泊費: 25000円, 場所: 神戸
- ホテル名: サクラホテル, 宿泊費: 20000円, 場所: 横浜
- ホテル名: モダンアーバンイン, 宿泊費: 17000円, 場所: 仙台
終了ノード
LLM/{x}text
ツールとしてのワークフローの設定
名前:
宿泊できるホテルの検索ツール
ツールコールの名前:
getHotels
ツールの説明:
条件に基づいた、ホテルの検索ツール
ツール入力:
budget, LLM入力, 予算
例えば、予算13,000円で実行すると、以下2つのホテルが返答されます。
ホテル名: サンライズイン, 宿泊費: 12000円, 場所: 大阪
ホテル名: シティライツイン, 宿泊費: 13000円, 場所: 名古屋
ツールを使うエージェントを作成する
さて、出張手配総務エージェントが利用するツールが2つ作成できました。最後に、これらのツールを活用するエージェントを作成します。
スタジオを開き「最初から作成」をクリックして始めます。アプリの種類は、エージェントを選択。アプリのアイコンと名前、説明を入力してください。
例:
アプリの名前:
出張手配を補助する総務エージェント
説明:
出張者がホテルの予約を行うのを手伝います
エージェントの設定画面が開いたら、まずプロンプトを入力しましょう
例.
あなたは出張手配をサポートする総務のエキスパートです。
必ずツールを利用して、ユーザの質問や意図に答えてください。
ツールを利用して答えられない、あるいは対応できない業務には、「対応できません」と回答してください。
そして、ツールに、先ほど作成した2つのツールを追加します。
質問してみる
「大阪に出張するのでホテルの候補をください」と聞いてみると、役職を聞かれ、回答すると、これまで作成したツールを活用して、
- 予算の確認
- 予算と、出張先を元にしたホテルの検索
をLLMが判断して自動的に行います。これがエージェントの良いところです。
会話のオープナーを設定
この総務エージェントには、役職と行き先を伝えるべきなので、それを利用者に事前にお知らせしましょう。
チャットウィンドウ下の、”高度な設定”欄にある”管理”をクリックします。
会話の開始機能を有効化し、オープナーを書く、をクリックします。
すると、会話の最初に、先ほどのオープナーが表示されます。これで、ユーザがどう依頼すれば良いのか分かりやすくなります。
まとめ
本記事では、Difyを活用して出張手配を効率化する総務エージェントの作成方法について解説しました。主なポイントは以下の通りです:
- 役職別の宿泊費目安を確認するワークフローを構築できる
- 予算と場所に基づいて、適切なホテルを検索するワークフローを作成できる
- これらのツールを組み合わせることで、出張手配をサポートする総務エージェントを実現できる
このようなエージェントを導入することで、出張手配にかかる時間と労力を大幅に削減できます。また、一度構築したワークフローは繰り返し利用できるため、長期的な業務効率の向上にも貢献します。
今後は、より多くの機能の追加や、プロンプトの改善など、さらなる発展の余地があります。ぜひ、ご自身の組織の規定に合わせてカスタマイズし、より効率的な出張手配の実現にお役立てください。
Discussion