Difyを社内導入しようとしています

1. はじめに

この記事は Dify Advent Calendar 2024 17 日目の記事です(大遅刻)。

qiita.com

前日は Cer0un0 さんのDify × Discord (Slash Command)連携でした。

わたしも Discord で bot を運用しており、スラッシュコマンドの処理で Dify が活用できるとより幅が拡がるので、たいへん参考になります!

この記事では、現在進行中の Dify の社内導入の取り組みについて、若干ぼかしたり変更しつつ紹介させて頂ければと思います。

まだ検討中の内容や調査中の内容が多く含まれていますが、Dify 検討までの経緯、Dify の強み、導入にあたっての課題などを紹介することで、少しでも参考になる方がいれば良いなと思います。

2. 社内での取り組み

筆者について

従業員数が数千人規模の企業で社内横断的な業務改善に関わるチーム(以下、業務改善チーム)に所属しています。
主に、社内向け業務改善プロジェクト、AI 活用基盤整備、AI 活用事例発信を担当しています。

進行中の業務改善プロジェクト

現在取り組んでいる業務改善プロジェクトを列挙します。

問い合わせ対応

  • FAQ としてナレッジを持っている
  • 過去問い合わせ履歴をナレッジにする
  • 画像や PDF をナレッジにする
  • 回答を Excelスプレッドシート)へ自動転記する

情報整理・集約

  • 要約とデータベース登録
    • 問い合わせメール
    • 問い合わせ電話
    • テレビ会議
    • 対面会議
  • slack から日報作成
  • 社内記事の要約を slack へ投稿
  • インシデントレポートを作成して slack へ投稿
  • アンケート結果の分析
  • 議事録作成
  • 領収書画像からの情報抽出

情報分類・ラベリング

  • 問い合わせメールへの担当者とカテゴリの自動ラベリング
  • 動画や画像コンテンツへのラベリング

コンテンツ作成・チェック業務

情報収集

  • 会社概要の調査
  • 市場調査

3. 以前の取り組み

全社員がChatGPT Team プランを利用できる環境があるため、以前は GPTs を使って業務改善に取り組んでいました。

しかし、GPTs を使った業務改善で、以下のような課題を感じ、新たに技術選定を行うこととしました(構築方法や進め方に課題があった可能性も否めませんが...)。

  • 精度向上の限界
    • GPTs の出力精度を向上させようと考えたとき、主に「プロンプトの修正」「ナレッジの調整」しか行うことができず、精度が頭打ちになりました。
  • RAG 機能の限界
    • PDF・CSV・JSONL をナレッジとして持たせていましたが、いくら指示文で試行錯誤してもすべてのナレッジを必ず考慮してくれることが少なく、RAG 機能が弱いと感じました
  • ファイル処理が不安定:
    • Excel のすべての行を処理してほしい場合に、途中まで処理して後の行はすべて同じ値が記入されるなど、ファイル入出力を行うと精度が著しく下がり、ファイル処理の不安定さを感じました
  • 本番運用される成果物ができない
    • 以上の理由から、業務で本番運用されている GPTs はほぼありませんでした。

4. 技術選定(GPTs, Vertex AI, Dify)

業務改善の自走化

現状、業務改善チームが主導して対象部門の業務改善プロジェクトを推進しています。

AI 活用基盤の選定にあたり、「社員自身が業務改善を行うことができるか(自走化できるか)」を重点的に考えました。

業務改善が自走化できるようになることで、以下のメリットがあると考えます。

  1. 運用・改善の迅速化: 改善案を即座に反映でき、フィードバックサイクルが短くなる
  2. 意思決定プロセスがシンプルになる
  3. 「現場で本当に使えるツール」になる: 現場レベルのドメイン知識に基づいた開発が行えるため

以前は、GPTs を作成して業務改善を図る取り組みが至るところで行われていたため、このくらい気軽に自走できる環境がある状態が望ましいと考えました。

AI 活用基盤の比較

様々な AI 活用基盤の候補について比較検討を行いました。

以下は、GPTs・Vertex AI Agent Builder・Dify に絞った比較表です。

評価項目 GPTs Vertex AI Agent Builder Dify
社内に作成環境があるかどうか 〇(ある) ✕(ない) ✕(ない)
開発工数 〇(あまりかからない) △(GPTs や Dify よりはかかる) △(GPTs よりはかかる)
学習コスト 〇(誰でもすぐに作れる) ✕(高い) (説明したもの以外にも手を出しやすい)
学習するための教材作成コスト 〇(比較的容易) ✕(時間がかかる) 〇(GPTs よりはかかるが比較的容易)
精度 ✕(実運用に耐えうる精度になりにくい) 〇(様々な試行錯誤ができる) 〇(様々な試行錯誤ができる)
スケーラビリティ ✕(ない) 〇(ある) 〇(ある)

前述の通り、GPTs は精度が頭打ちになることが多く、運用レベルで使えるものの開発が難しいと考えています。

Vertex AI Agent Builder は、「自走化」という観点では、「学習コスト」や「教材作成コスト」が高く、社内に浸透させるには敷居が高いと感じました。

GPTs のように敷居が低く利用でき、Vertex AI Agent Builder のように運用に向けた様々な試行錯誤ができるツールとして、Dify を選定するのが良いと考えました。
また、「開発工数」「学習コスト」は、ハンズオン教材を作成したり、テンプレートを豊富に容易するなどの取り組みを行うことで、「〇」にすることができると考えています。

5. Dify 導入への道

SaaS 版の選択

導入にあたり、

  1. 活用状況が不透明な段階でのオンプレミス版の環境構築・運用・保守コストを回避する
  2. すぐに利用開始できる

ことを重視し、ローカルで利用できる community 版(オンプレミス版)ではなく、クラウドで利用できる SaaS 版を選択しました。

ただし、現状は小規模で試している段階のため、Team プランで利用しています。

dify.ai

SaaS 版で作成したアプリを社内で利用するにあたり、以下の懸念点があります。

  • アプリケーション公開
    • 全世界に公開することになるため、社外秘情報を含むアプリケーションの公開は禁止しています。
  • API 利用

現在検討中ですが、SaaS 版の社内利用にあたり、対策として以下のように運用案を考えています。

  1. アプリ非公開 + API 連携 + Password パラメータブロック
    • アプリを非公開にして API 経由でのみアクセスを許可し、Password パラメータブロックを追加
    • 結局は全世界に公開していることにはなるが、ほぼ利用されることはないだろうという見解
  2. アプリ非公開で編集ページから利用
    • イケてない...
  3. Enterprise 版の検討
    • Enterprise プランには SSO 認証かもしれないのでこれでいける...?(未調査)

現状は、クイックスタートを案 1 で行い、十分社内で活用されると判断された場合、Enterprise 版を検討する流れを考えています。

社内倫理チェック

外部のサービスの利用にあたり、社内の倫理チェックを行う必要がありました。

  • 機密情報利用の許可:
    • ナレッジや入力データに社内情報を使用する際に、社内での承認プロセスが必要になりました。
  • SOC2 認証の意義:
    • Dify が SOC 2 (Type I)を取得したことで、承認プロセスがが簡略化されました。
    • SOC 2 (Type II)を取得していれば、より大幅に簡略化されていました。
    • security.dify.ai

6. 今後について

Dify を使った業務改善の自走化に向け、以下の取り組みを考えています。

  • 啓蒙活動
    • 「Dify とは何か」「Dify を使う意義」など、入門スライドを社内で公開する
    • 基礎知識と社内での取り組みを結びつけることで、より理解が深まると考えています
  • 社内ハンズオンの開催
    • 実際に触ってもらうことで、Dify への抵抗感をなくし、業務との結びつきを意識してもらう
  • クイックスタート・効果検証
    • 有志やパイロットプロジェクトを募り、実際に業務で活用してもらう
    • 効果測定となフィードバック収集による、導入効果・活用期待度の検証
  • Enterprise 版の検討
    • PoC の結果を踏まえ、本格的な全社展開に向けて Enterprise 版の導入を検討

検討中や調査中の情報が多く含まれていますが、Dify Advent Calendar の機会にのっかって現状を書き記すことで、社内導入で取り組んだり検討していることが、どなたかのお役に立てれば幸いです。

主な参考情報

www.docswell.com speakerdeck.com tech-blog.tabelog.com

(Dify Discordサーバより) discord.gg