はじめに
私は,製造業のデータサイエンス組織で管理職をしている。近年の生成AIの発展を受けて,生成AIを活用した業務改善やサービス開発に向けた活動が活発化するとともに,自ら生成AIを活用したアプリを利用したいという声が事業部門からも高まっている。
プログラミングに慣れている人であれば,アプリ開発も容易であると考えられるが,製造業においてプログラミングに慣れている人は決して多くない。そこで,ノーコードで生成AIやAIエージェントのアプリケーションの開発を可能にするDifyに注目が集まっている。
dify.ai
Difyの基礎を理解するために,にゃんた 著「ゼロからわかるDifyの教科書 ~生成AI×ノーコードでかんたん業務効率化」(以下,「本書」)を読み,Difyの長所・短所や,プロジェクトに導入するうえでの注意点を把握することを目指した。
本書を通じたDify導入に関する考察
今回は,本書を読みつつ,製造業においてDifyを導入することについて考察してみた。
製造業においてDifyは有用であるか?
今回,本書を読んだ目的は,「製造業においてDifyは有用であるか?」「有用であるとしたら長所・短所は何か?」といったことを理解することであった。
本書を読んでみて,Difyの入り口に立ってみた感想としては,製造業においてDifyは有用そうである,ということだった。
製造業における特徴としては,
- 業務上で重要な知識は,現場に散在している。そのため,中央集権的にインフラを整えつつも,アプリ開発自体は市民開発によって開発する方がよい。
- 製造業においてITは,専門領域というよりツールであるため,プログラミングに慣れた人が少ない。
といったことが挙げられる。
利用時に感じたメリット
そのため,ローコードで開発することができるDifyは,製造業には向いているツールだと感じた。
特に,アプリの開発をフローチャートのように表現できるため,業務プロセスをそのままアプリにできるという印象を受けた。
利用時に感じた注意点
一方で,生成AIの回答の業務データを含めたいという要望は多く,この場合データをクラウド上にアップすることが難しいことがあるので,環境はクラウド版ではなくコミュニティ版を使うべきである。
ただ,コミュニティ版での動作は,「ゼロからわかるDifyの教科書」を読む ~第2章 Difyの環境構築とセットアップ ②コミュニティ版~ - jiku log に記載したように,つまずくことがある。
環境構築や運用・保守は,現場のエンジニアに任せるのではなく,IT部門が管理するべきである。
また,「プログラミングに慣れた人が少ないため,ローコードがよい」と説明したが,これはあくまで現時点での話である。
今後,プログラミング教育を受けた人が製造業でも増えていくため,必ずしもローコードである必要はなくなっていく。
技術進歩や利用者の基礎知識に応じてツールは選ぶべきである。
むしろ,今のうちに暗黙知となっている業務プロセスをアプリという形に落とし込んでおき,技術が変わっても業務のコツが失われないようにするべきである。
製造業ユースケースへの適応性
製造業ユースケースを考えるために,「ゼロからわかるDifyの教科書」を読む ~第3章 テキスト処理アプリ ②問い合わせチャットボット~ - jiku log では,品質管理と情報セキュリティに関する業務ルールを回答させるチャットボットを作成した。
このときに確認できたことは以下の通りである。
- メリット
- プロンプトに,業務プロセスに関する知識を埋め込むことで,手軽に業務ルールを回答させるチャットボットを作成できる。
- 回答内容を分岐させることができるため,品質管理に関する内容と,情報セキュリティに関する内容のそれぞれを回答させるノードを別々に管理できるため,情報の更新はしやすくなる。
- 注意点
- ハルシネーションが起きることが確認できたため,業務ルールの回答など厳密性を求められる業務については,別の仕組みが必要である。
別途RAGに関する検証を行なったが,RAGを用いれば回答内容のハルシネーションは少なくなっていた。そのため,業務ルールを回答させるためには,RAGの仕組みが重要であると理解できた。
RAG開発時のメリット・注意点
Chapter5では,RAGアプリの開発について説明していた。
製造業においてRAGアプリを開発することは,
- 業務にかかわる規程・ルールを検索しやすくすることで,業務の時間を短縮することにつながる。
- RAGのアプリの開発を通じて,暗黙知の一部を明らかにできる可能性がある。
といったメリットが考えられる。
- 「ゼロからわかるDifyの教科書」を読む ~第5章 RAGアプリ開発 ②RAGアプリ開発~ - jiku log
- 「ゼロからわかるDifyの教科書」を読む ~第5章 RAGアプリ開発 ③文脈を考慮したRAGアプリ開発~ - jiku log
では,RAGアプリを実際に作ってみたが,その際に確認できたメリットと注意点は以下の通りである。
利用時に感じたメリット
利用時に感じたメリットとして,まずRAGの知識がほとんどなくてもRAGのアプリが作れてしまう,という点であった。
データの管理も,テキストデータをDifyのナレッジとしてアップロードするだけで,ベクトル検索・全文検索といった検索方式や,チャンク分けの設定などは,簡単なUIで操作できてしまった。
また,ナレッジをDify上におけることもメリットであると感じた。アプリの動作や状況を確認するために,データ(ナレッジ)に立ち返ることはあると考えられるが,この場合アプリの近くにナレッジがあったほうが扱いやすい。
利用時に感じた注意点
検索精度を高めるためには,検索方式やチャンクサイズが重要だと言われている。
今回の検証を通じて,ベクトル検索・全文検索といった検索方式は後から変えられる一方で,チャンクサイズは後から変更することができないため,RAGアプリ開発時にチャンクサイズはある程度調整しておく必要があることが確認できた。
管理機能
Difyの環境を社内に展開していく場合,アプリの利用状況などを確認する管理機能が重要になる。
「ゼロからわかるDifyの教科書」を読む ~第5章 RAGアプリ開発 ②RAGアプリ開発~ - jiku log で見た通り,各アプリにおけるユーザの利用状況や,回答の内容などが確認できることが理解できた。
Difyに関する現時点での総評
製造業においてDifyを使っていくことは,いくつかの制約条件はあるものの,総じて有益であると感じた。
アプリを手軽に市民開発できるようにすることで,現場の業務効率化や,暗黙知の形式知化につながる可能性が見いだせたためである。
一方で,利用時に注意するべき点も確認できた。これらに対しては,
- 生成AIアプリの長所・短所を整理しておく。
- Difyやその他ツールの開発状況を定期的に把握し,長所・短所をアップデートする。
- 利用者から開発時・利用時のコツを集めて,社内の共有財産とする。
といった,運用のコツも必要であろう。
読書メモ一覧
Chapter2 Difyの環境構築とセットアップ 関連
Chapter3 テキスト処理を行うアプリケーション開発 関連
Chapter4 ファイル処理を行うアプリケーション開発 関連
Chapter5 Difyで実現するRAGアプリケーション開発 関連