社内で「Difyハンズオン」を開催しました!

はじめに

NTT西日本の福田です。 NTT西日本では、生成AI技術を現場で活用し業務改善につなげる取り組みを進めています。 その一環として、社内でDify®が利用できるようになりました。

しかし、どれだけ優れたツールが展開されても、 社員が使いこなせなければ意味がありません。

そこで今回、AIイベントとしてDifyを実際に触りながら理解を深めてもらうために、 生成AIで業務改善にトライ!と題してRAG(Retrieval-Augmented Generation:検索拡張生成)チャットボット構築をテーマにしたハンズオンを開催しました。

本記事では、今回のAIイベント内容をまとめ、 Difyに興味がある方や社内外で生成AI活用を進めたい方に向けてご紹介します。


目次

1. AIイベントを企画した背景

社内でDify®が利用できるようになりました。 ただし、利用できるようになってもすぐに使いこなせるわけではありません。

実際には、

  • どのように使い始めればよいのか
  • RAGチャットボットはどう作ればよいのか
  • 自分の業務でどう活かせばいいのか

といった疑問や不安の声が想定されます。

そのため今回、展開タイミングに合わせて“使える状態になってもらう”ことを目的としたAIイベントを企画しました。


2. AIイベントの構成

AIイベントは3部構成とし、段階的にスキルを身につけられるように設計しました。

  1. ハンズオン編  あるサービスのRAGチャットボットを作成
  2. 実践演習編  略語・俗称・省略語による回答精度低下問題を解決
  3. Advanced編  増えすぎた複数チャットボットの統合窓口をつくる

参加者はエンジニアだけでなく、非エンジニアの方も含めた幅広い層。

初級者でも迷わず手を動かせるようにしつつ、上級者にも学びが残って「つまらない」と感じないよう、実践・Advanced課題も用意する構成に工夫しました!

「生成AIを使えるようになりたい」「チャットボットに興味がある」という声が多く、非常に活発な取り組みとなりました。


3. ハンズオン|あるサービスの問い合わせRAGボットを作ってみた

課題テーマ

「あるサービスの問い合わせ対応をするチャットボットを構築せよ」

使用した参照文書

今回のハンズオンでは、以下の社内公開資料をKnowledgeとして登録しました。

  • サービス申し込み受付マニュアル
  • 付帯サービス概要ドキュメント

これらの文書に基づき、問い合わせに回答できるRAGチャットボットの作成を行いました。

実施した内容

今回のハンズオン演習では、まず「Difyとは何か」「どのように操作するのか」を理解してもらうことを目的に、基本的な操作に重点を置きました。

  • アプリ作成やKnowledgeへの文書登録といった基本操作
  • 各ブロック(ノード)がどのように連携して動作するかの理解
  • 取り込んだ文書を使って実際に回答が返ってくる体験

といった内容を中心に進めています。

この後の「精度向上」セッションでは、ハンズオンで学んだブロック構成やチャットフローの使い方を応用し、 参加者に“自分で改善を考える”取り組みをしてもらう流れとしました。

実際にできたもの

取り込んだ文書に基づき、

  • サービス申し込み手続きの説明
  • 付帯サービスに関する案内

といった内容に回答できるチャットボットが構築できました。

参加者からは、 「自分の文書を入れるだけでここまで動くのは驚き」 という声もあり、Difyの使いやすさを感じてもらう機会になりました。

チャットフロー機能で作成したRAGアプリケーションの全体像


4. 実践演習|“略語問題”にどう立ち向かったか

ハンズオンでボットを作成した後、実際にテストしてみるとすぐに問題が見えてきました。

✔ ユーザ(オペレーター)が普段利用している略語でチャットする場合がある

例:

  • FD(フリーダイヤル)
  • BO(バックオーダー)
  • 現調(現地調査)
  • 加入電話(固定電話)

しかし、こういった単語はRAGの参照文書には書かれていません。 そのため、RAG検索がうまく機能しないケースが発生しました。


4-1. 解決アプローチ

今回の実践演習では、簡素な実装としてプロンプト内に略語展開ルールをすべて記述し、 ユーザーの入力内容を変換したうえでRAGに渡す方式を採用しました。

実装した内容

  • プロンプトに略語 → 正式名称の変換ルールを記載
  • LLMがユーザーの質問を受け取ったらまず変換を実行
  • 「変換済みの質問」を後段のブロックに渡して検索
  • 検索後の結果を元に最終回答を生成

実践演習の内容


4-2. Before / After

  • Before:略語が来ると回答不能
  • After:ほぼ正式名称として認識できるようになり回答精度が向上

参加者からは「確かに必要になる改善ですね!」という声が多く、 実際に動作させることで処理の重要性を体感しました。


5. Advanced編|複数チャットボットの統合窓口を作る

各部署が自由にRAGボットを作れるようになった結果、 新たな課題が見えてきました。

✔ ボットが増えすぎてどれを使えば良いかわからない

そこで、“複数チャットボットの統合窓口”を作る取り組みに挑戦しました。


5-1. 実装した検索カテゴリ

今回のAdvanced編では、以下の3つの検索カテゴリをチャットフロー内に実装しました。

  1. 別サービスに関する検索
  2. 当社の将来構想サービスに関する検索
  3. サービスに関する検索

これら3カテゴリに分類し、ユーザーの問い合わせ内容に応じて適切な情報源にルーティングする構成を参加者とともに構築しました。


5-2. チャットフローでの実現例

Difyのチャットフロー機能を用いて、以下の流れで動作する仕組みを構築しました。

  1. User Input
  2. カテゴリ判定(LLM分類)
  3. Switch分岐で3カテゴリへルーティング
  4. 各カテゴリに対応するRAGチェーンを実行
  5. 回答を統合しユーザーへ返答

チャットフローを実際に触りながら構築することで、 「一つの窓口から複数情報源にアクセスできる」構成を体験できたという声をいただきました。


6. AIイベントを通じて見えてきた“受講者のつまずきポイント”と学び

今回のイベントでは、参加者の実際の質問や作業中のつまずきから、 「Difyを初めて触るときにどこが難しく感じるのか」 が具体的に見えてきました。

ここでは、受講者の困りごとを中心にまとめます。

受講者がつまずいたポイント

✔ どの文書が検索対象になるのかイメージしづらい

Knowledgeに文書を入れるだけでRAGが動くものの、 「どの文章が検索されるのか」「どの記述が回答に使われるのか」が最初は掴みにくい様子でした。

✔ ブロック(ノード)の役割が最初は混乱しやすい

チャットフロー内の各ブロックが

  • 入力を処理するのか
  • 文書検索を行うのか
  • 回答をまとめるのか

といった役割の理解に時間が必要な参加者が多く見られました。

✔ チャットフローの分岐処理(Switch)の考え方に慣れが必要

Advanced編で扱った「分類 → ルート分岐」は、 プログラミング経験の少ない参加者にはややハードルが高かったようです。

✔ プロンプトの“指示の書き方”に慣れておらず、期待値とのギャップがある

プロンプトは「思ったより細かく指示しないと意図どおりに動かない」場面があり、 「ここまで指示を与えなきゃならないの?」という反応も見られました。

そこから得られた学び

  • “何が検索対象になるか”を理解すると、文書整備の重要性に気づける
  • ブロックの役割がわかると、改善ポイントを自分で発見できるようになる
  • 略語問題は初学者ほど気づきにくく、実務ユーザーほど重要性を実感する
  • チャットフローの構造を一度理解すると、マルチチャットボット統合など発展的な応用に進みやすい
  • プロンプトの作り方そのものが奥深く、それ自体をテーマに勉強会を1回開催できるレベル

参加者の声(抜粋)

  • 「AIアプリを簡単に作れることに驚いた」
  • 「RAGの全体像とプロセスを更に明確に把握することができた」
  • 「是非業務でも活用し、メンバーにも展開していきたい」
  • 「短い時間だったので、もう少し長く時間を取ってやってほしい」

受講者のつまずきから、 「まずはDifyに触れて構造を理解することが、応用への第一歩」 ということが明確になった取り組みでした。

ハンズオン実施中の様子


7. 今後の展望

今回のAIイベントを通じて、参加者の皆さんにDifyに触れていただき、 チャットボット構築の基本的な流れを体験してもらうことができました。

今後は、AIイベントで得た知識をもとに、 実際に業務の中で使ってもらうことが重要だと考えています。 利用を進める中で寄せられた声や見えてきた課題を踏まえ、 現場でより使いやすい形へと活用方法を洗練させていきます。

また、社内向けのAIテンプレートは既に整備されているため、 これを活用するとともに、必要に応じてテンプレートの改善や活用促進を図っていきます。

今後もDifyを活用したチャットボット構築を支援しながら、 関連部とともに現場での業務改善につながる勉強会を進めていく予定です。


おわりに

今回のAIイベントは、参加者が「実際に手を動かす」ことを中心にしたため、 技術だけでなく実務に近い学びが得られる場になりました。

  • Difyがどのように使えるのか
  • RAGのどこがつまずきポイントか
  • 実務で活用するための工夫は何か

など、現場のリアルな知見が積み上がったと思います。

今後も継続しながら、社内AI活用の支援を続けていきたいと思います。

執筆者

福田 航平(NTT西日本 技術革新部)

NTT版LLM「tsuzumi®」のビジネス適用に関する検討・推進に従事。 JDLA Deep Learning for ENGINEER(2024#1)取得。

商標

  • 「Dify」は、Dify.AI(またはその関連会社)の商標もしくは登録商標です。
  • 「tsuzumi」は、NTTの商標もしくは登録商標です。

© NTT WEST, Inc.