Difyを使って業務QAアシスタントを作ってみた

## はじめに
ChatGPTをはじめとする生成AIの活用が広がる中、「自分でもAIを業務に使ってみたい」と感じている方は多いかと思います。ただ、実際にAIを組み込む場合、プログラミングの知識やAPIの扱いが必要になり、なかなかハードルが高いものです。

そんな中、ノーコードでAIアプリが作れる「Dify」というツールを使えば、非エンジニアでも簡単に生成AIを活用できることがわかりました。

今回は、業務マニュアルQ&AアシスタントをDifyで試作してみました。

## Difyとは
Difyは、**ノーコード／ローコードで生成AIアプリケーションを構築できるプラットフォーム**です。OpenAIやClaudeなどのモデルを選んで使えるほか、自前のPDFやドキュメントを読み込ませてチャットアプリを作ることができます。

特徴としては以下のような点があります。
- ノーコードでプロンプト設計やデータアップロードができる
- 独自のドキュメントを知識として読み込ませることができる
- WebUIから簡単にチャット形式のアプリを作成・試用できる

## 今回の作成物
Difyで業務マニュアルQ&Aアシスタントを作成します。

## 実際の手順
### 1. Difyにサインアップして新規アプリを作る
まずは[Dify公式サイト](https://dify.ai/jp)にアクセスし、アカウントを作成します。
ログイン後、最初から作成でチャットフローを選びましょう。アプリ名は必須ですが説明は任意です。

ちなみにクラウド版とローカル版があります。
| 利用形態 | 特徴・メリット | 注意点・デメリット |
|----------|----------------|-------------------|
| クラウド | ・インストール不要ですぐ使える<br>・どこからでもアクセス可能<br>・サーバー管理不要 | ・月額料金や従量課金が発生<br>・データが外部サーバーに保存される |
| ローカル | ・完全無料（初期投資のみ）<br>・データが外部に出ないためセキュリティが高い<br>・オフライン利用可能<br>・高速処理・カスタマイズ自由度が高い | ・自前でハードウェアやDockerなどの環境構築が必要<br>・バックアップや外部連携機能が限定される場合あり |

### 2. ナレッジを登録する
回答の元になるナレッジを登録します。上タブのナレッジから登録できます。
今回はChatGPTに生成してもらった以下のテキストファイルをインポートしましょう。

<details><summary>Slack業務マニュアル（Q&A形式）</summary>

```
Q1: Slackのアカウントはどうやって発行されますか？
A: Slackアカウントは入社時に情報システム部がメールアドレスで発行し、招待メールを送信します。

Q2: Slackのプロフィール設定で必要な項目は？
A: Slackでは、プロフィール画像、フルネーム、部署、役職を入力する必要があります。

Q3: Slackの通知設定はどうするのが推奨ですか？
A: 通知は平日10:00〜19:00を基本としてオンに設定してください。通知音やバナーは業務に支障がない程度に調整可能です。

Q4: Slackの基本的なチャンネル構成と目的は？
A: #general: 全社連絡、#random: 雑談、#it-support: IT関連の質問、#attendance: 勤怠報告、#project-〇〇: プロジェクト、#team-〇〇: 部署単位の連絡に使用します。

Q5: Slackで新しいチャンネルを作成してもいいですか？
A: 新しいチャンネルを作成する場合は、上長やプロジェクト責任者に事前確認を取ってください。命名規則も守ってください（例：#project-〇〇）。

Q6: Slackでのタスク依頼の正しい方法は？
A: 依頼は明確な担当者をメンションし、期限を記載してください。例：@佐藤さん、明日中に確認お願いします。

Q7: Slackのスレッドはどう使えばいいですか？
A: 会話が2往復以上になりそうなときはスレッドを使ってください。通知されるにはメンションが必要なので注意が必要です。

Q8: Slackで使われる主なメンションの種類と注意点は？
A: @here: オンライン中の人に通知、@channel: 全員に通知（乱用禁止）、@ユーザー名: 個別通知。@channel の使用は月1回程度に抑えてください。

Q9: Slackでのリアクションの使い方と文化は？
A: 👍（確認）、✅（了承）、🙏（感謝）、😂（笑い）など共通の文化があります。返信代わりに使うことでノイズを減らせます。

Q10: Slackで利用している外部アプリの一覧と用途は？
A: Google Calendar（予定通知）、GitHub（開発通知）、Notion（ドキュメント通知）、Donut（雑談促進）などを連携しています。

Q11: Slackで雑談をしてもいい場所は？
A: #random チャンネルで自由に雑談して構いません。業務時間内の投稿は節度を守ってください。

Q12: Slack上で勤怠報告をするにはどうしたらいい？
A: #attendance チャンネルで、遅刻・早退・休暇の報告を行います。必要に応じて上長をメンションしてください。

Q13: Slackでパスワードを共有してもいいですか？
A: Slack上でのパスワード共有は禁止されています。パスワードは専用のパスワード管理ツールを使用してください。

Q14: Slackでメッセージを間違えて送った場合は？
A: 投稿後に編集または削除が可能です。修正したことはログに残るため、慎重に扱ってください。

Q15: Slackのスレッドを見逃したときの対処方法は？
A: 画面上部の吹き出しアイコン（スレッド）をクリックすると、未読のスレッド一覧が表示されます。

Q16: Slackのモバイルアプリは利用必須ですか？
A: 業務効率のため、PCとスマートフォンの両方にSlackアプリをインストールすることを推奨しています。

Q17: Slackの通知が多すぎて困っています。どうすれば？
A: 必要なチャンネルだけ通知をオンにし、他はミュート設定を行ってください。また、キーワード通知を活用するのもおすすめです。

Q18: Slackのファイル共有はどのように行いますか？
A: ファイルはSlack上で直接アップロード可能ですが、容量が大きい場合はGoogle Driveなどのリンク共有を推奨します。

Q19: Slackで退職者のアカウントはどうなりますか？
A: 退職が決定したタイミングで、情報システム部がSlackアカウントを削除します。個別連絡が必要な場合は事前に対応してください。

Q20: Slack上で機密情報をやり取りしてもいいですか？
A: Slackは社内向けですが、個人情報や取引先機密などは原則としてNotionまたは暗号化ファイルを使って管理してください。
```
</details>

### 3. フローを構築する
詳細は省きますが、構成する要素を簡単に説明します。以下、全体の構成図です。

![スクリーンショット 2025-05-25 20.34.41.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2882125/be4b113d-1b1f-48ca-9383-31c12fcee16b.png)

#### 1. 開始
ユーザーの質問が入力されます。

#### 2. 知識検索
先ほど登録したナレッジを使用します。

#### 3. LLM
AIモデルは**gpt-4**を使用します。プロンプトは以下の通りです。
```
あなたは社内業務のマニュアルに詳しいアシスタントです。
ユーザーからの質問には、読み込んだマニュアルの内容に基づいて正確に答えてください。
```
#### 4. 回答
質問した内容をナレッジを元にgpt-4が考えて回答を行います。

## 実際に使用してみる
実際にできた業務QAアシスタントを使用してみました。

```
(質問)
チャンネルの命名規則はありますか？

(応答)
はい、チャンネルの命名規則があります。プロジェクトの場合は「#project-〇〇」、部署単位の連絡の場合は「#team-〇〇」のようにして命名してください。
```

![画面収録 2025-05-23 21.16.14.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2882125/586b5013-ac2d-4ebb-bd82-4bffc2f60a12.gif)

## さいごに
今回は、Difyを使って簡単な業務QAアシスタントを作ってみました。非エンジニアでも扱えるUIと柔軟なデータ読み込み機能により、生成AIの可能性を体験するには最適なツールだと感じました。

今後は、より現場に即したプロンプト設計や、複数のデータセットの使い分けなどにも挑戦してみたいと思います。

## 参考資料
https://dify.ai/jp

https://www.amazon.co.jp/%E3%82%BC%E3%83%AD%E3%81%8B%E3%82%89%E3%82%8F%E3%81%8B%E3%82%8BDify%E3%81%AE%E6%95%99%E7%A7%91%E6%9B%B8-%EF%BD%9E%E7%94%9F%E6%88%90AI%C3%97%E3%83%8E%E3%83%BC%E3%82%B3%E3%83%BC%E3%83%89%E3%81%A7%E3%81%8B%E3%82%93%E3%81%9F%E3%82%93%E6%A5%AD%E5%8B%99%E5%8A%B9%E7%8E%87%E5%8C%96-%E3%81%AB%E3%82%83%E3%82%93%E3%81%9F/dp/4297148366

## GoQSystemでは一緒に働いてくれる仲間を募集中です！
ご興味がある方は以下リンクよりご確認ください。

https://goqsystem.recruit.site/?qiita=f04a292f8786805248bf