目次
はじめに
こんにちは。AIトランスフォーメーション推進部に所属している遠藤怜です。
カカクコムでは「Dify」のエンタープライズ版を全社のAI活用プラットフォームとして導入しました。
通常のDify(コミュニティ版)にはない企業向けの機能が多数追加されており、AI活用を全社規模で推進する際に求められるガバナンスやセキュリティの強化、運用の効率化を実現できます。
本記事では、Difyを導入するに至った背景、エンタープライズ版の機能の活用方法、そして運用ノウハウや導入成果についてご紹介します。 この記事がAI活用を検討している皆さまの参考になれば幸いです。
Dify導入の背景
カカクコムでは、全社的なAI活用を加速するために、Difyを導入しました。Difyの運用を所管するAI & Data Platformチームでは、以下の課題をDifyによって解決することを意図していました。
- AIエンジニア不足: エンジニア以外のメンバーでも直感的にAIアプリを構築できるDifyを活用することで、AI活用の担い手を増やします。
- PoC後の遅延: PoCで有望な結果が得られても、システム開発が長期化して価値提供が遅れていましたが、Difyを用いることでPoCの成果を迅速に実用化し、「PoC止まり」を防ぎます。
- 運用負荷の増大: LLM利用やプロンプト管理をDifyで一元化できるため、個別システムをそれぞれ運用する負荷の削減につながります。
こうしたメリットにより、全社的な生産性向上とサービス改善をさらに加速させることを目指します。
エンタープライズ版の機能
Difyにはコミュニティ版とエンタープライズ版があり、エンタープライズ版はエンタープライズプランでのみ提供されています(その他のプランはコミュニティ版がベースです)。 各プランの詳細は公式サイトをご参照ください。
エンタープライズ版(v2.3.0時点)の主要機能は以下の通りです。
- マルチワークスペース
- SSO(シングルサインオン)
- Kubernetesデプロイ
- Admin API
各機能の詳細については、公式ドキュメントをご参照ください。
以下、各機能について企業導入での活用視点も交えながら説明します。
マルチワークスペース
ワークスペースは、ユーザー、アプリ、ナレッジ、モデル、ツールを独立して管理する単位です。 コミュニティ版では1つのみですが、エンタープライズ版では複数作成可能で、ユーザーは所属するワークスペースを切り替えて利用できます。
ワークスペースはエンタープライズ版で追加された管理画面から管理できます。
マルチワークスペースには、主に以下のメリットがあります。
- アクセス制御: 部署やプロジェクトごとにワークスペースを分け、所属ユーザーを限定できます。これにより、機密情報を含むアプリやナレッジへのアクセスを関係者のみに絞り込み、情報漏洩リスクを低減します。
- コスト管理: ワークスペースごとに異なるAPIキーを設定することで、「どの部署/プロジェクトで、どれだけAI利用コストが発生しているか」を正確に把握できます。予算管理や費用対効果の測定も容易になります。
SSO
既存のIdP(Azure AD, Oktaなど)と連携し、SSOを実現できます。これにより、利便性とセキュリティの両面にメリットがあります。
- ユーザーの利便性向上: 従業員は普段利用している会社の認証情報でDifyにログインできるため、新たなパスワードを覚える手間が省けます。
- セキュリティ強化: 退職者のIdPアカウントを無効化すれば、自動的にDifyへのアクセス権も失効します。これにより、アカウント削除漏れのリスクを防ぎます。
Kubernetesデプロイ
Difyエンタープライズ版は、Kubernetesへのデプロイを前提として設計されており、Helm Chart形式で提供されます。 Kubernetesの活用により、高可用性やスケーラビリティを確保できます。そのため、組織全体での本格活用や安定したサービス提供が求められる環境に適しています。 具体的には、以下のようなメリットがあります。
- 無停止デプロイ: アプリケーション更新時もサービスを停止させることなく、ユーザー影響を最小限に抑えたデプロイが可能です。
- 自動スケーリング: アクセス負荷に応じてリソースを自動で増減させ、安定したパフォーマンスを維持しつつ、インフラコストを最適化できます。
Admin API
ワークスペース作成/削除やユーザー管理、権限設定といった操作を、API経由でプログラムから実行できる機能です。 最大のメリットは管理業務の自動化です。例えば、社内ワークフローと連携し、承認完了をトリガーにDify上のアカウント発行やワークスペース作成を自動実行するといった活用が考えられます。
カカクコムの事例紹介
Difyエンタープライズ版を全社導入するにあたり、カカクコムでは運用負荷とガバナンスのバランスを考慮した独自の運用設計を行いました。 その具体的な取り組みをご紹介します。
ワークスペース設計
初回は主要な部門のワークスペースを作成する方針にしました。これにより、大まかなアクセス制御と管理の単位を定めます。 そして、今後の利用拡大を見据え、必要に応じて部署やプロジェクト単位で、より粒度の細かいワークスペースを追加していく柔軟な運用としています。 これにより、組織構造に合わせた適切な管理単位を設定します。
運用体制
効果的な運用とガバナンスを両立させるため、以下のように運用の役割を分担しています。
Dify運用チームは、主に以下の基盤的な役割を担います。
- システム全体の管理・維持: Difyのアップデート対応やインフラ管理など、システム全体の安定稼働を維持します。
- モデル・ツールの管理: 社内審査(情報セキュリティ・法務)で承認されたAIモデルと外部ツールのみを有効化します。
- 全社的なユーザーサポートと利用促進: 操作方法に関する問い合わせ対応や、利用ガイドの整備、講習会の企画など、全社的なユーザー支援も担当します。
一方で、日常的なアカウント管理については、運用負荷の軽減と現場での迅速性を重視し、各ワークスペースに権限を委任しています。 具体的には、各ワークスペースで選出された「アカウント管理者」が、担当ワークスペース内のメンバー追加・削除・権限変更を行います。 これにより、Dify運用チームがアカウント管理のボトルネックになることを防いでいます。
アカウント管理者にはメンバー追加・削除・権限変更を実行するためにDifyの「管理者」ロールを付与します。 ただし、「管理者」ロールでは、モデルやツールの有効化も技術的に可能になるという課題があります。 このリスクを最小化するため、アカウント管理者向けの説明会での運用ルール周知を徹底するとともに、定期的に監視ジョブを走らせて未審査のモデルやツールの有効化状況をチェックしています。 将来的には、Difyにカスタムロール機能(特定の操作権限のみを付与できる機能)が実装されることで、役割に応じたより厳密な権限分離が可能になることを期待しています。
アプリの公開方法
Difyで作成したアプリの共有方法は、「探索」と「公開URL」があります。
探索 | 公開URL | |
---|---|---|
アクセス範囲 | 同じワークスペースに所属するユーザーのみ | URLを知っていれば社内の誰でもアクセス可能(Difyアカウント不要) |
利用シーン | 特定のメンバー間のアプリ共有 | 不特定多数に使ってもらう社内サービスとしての公開 |
セキュリティ | 機密情報を含むアプリの利用に適する | 情報漏洩リスクがあるため注意が必要 |
カカクコム運用 | 原則としてこちらを利用 | 原則禁止(例外あり) |
アプリのプロンプトやアプリと連携するナレッジに機密情報が含まれている場合、そのアプリを部外者に使用されると、機密情報が漏洩する可能性があります。 そのような情報漏洩リスクを避けるため、原則として「公開URL」によるアプリの共有を禁止し、「探索」機能の利用を基本としています(全社向けチャットボットなど、一部例外あり)。
この制御は、Difyの機能では実現できないため、代わりにGoogle CloudのCloud Armorを用いて公開URLパターンへのアクセスを制限することで実現しています。
サンドボックスワークスペース
サンドボックスワークスペースは、文字通り「お試し用」の環境として運用しています。 部門ワークスペースにまだ所属していない方や、本格的な利用の前にまず触ってみたい方は、誰でもサンドボックスワークスペースで自由にアプリを作成し、機能を試すことができます。 このサンドボックスワークスペースは、ユーザーがアプリの作成方法などを学ぶための講習会などでも活用されています。
運用フローとしては、まずユーザーがエンタープライズ版の「自己登録機能」を使い、自身でアカウントを作成します。 自己登録を済ませただけの段階では、いずれのワークスペースにも所属していない状態ですが、直後にAdmin APIを利用した自動ジョブでサンドボックスワークスペースにユーザーを追加しています。 これにより、承認や招待の手続きなく、すぐにDifyを使い始められる仕組みを実現しました。
Google Cloudによるインフラ構築
インフラ基盤は、社内での利用実績に基づきGoogle Cloudを選択しました。 導入着手当初、エンタープライズ版の導入事例はAWSが主で、Google Cloudでの前例はほとんどありませんでした。 そのため、インフラ構築は手探りの状態で進める必要があり、GKE特有の設定やネットワーク構成など多くの課題に直面しましたが、Difyの開発元であるLangGeniusのサポートもあり解決できました。
具体的なインフラ構成としては、GKEにDifyエンタープライズ版をデプロイし、システム内部で使用されるデータベースにはCloud SQLを利用しています。
Cloud SQLに蓄積されるDifyのアプリのログや利用状況データをBigQueryに連携させています。これにより、SQLを用いた柔軟なログ分析が可能となっています。 加えて、BigQueryのデータをLooker Studioに連携させることで、アカウント数やアプリ作成数などの利用状況を可視化するダッシュボードを構築しています。 このダッシュボードは、利用促進施策の検討や効果測定に役立てられています。
エンタープライズ版の運用における課題
実際の運用を通じて、現状のエンタープライズ版には以下のような課題が見えてきました。
権限管理の課題: カスタムロール機能が存在しないため、役割に応じた細かな権限分離が難しくなっています。例えば、メンバー管理だけを委譲したい場合でも「管理者」ロールを付与する必要があり、意図しないモデルやツールの有効化権限まで付与されてしまいます。このため、現状では権限委譲において運用ルールの周知徹底や監視などの運用負荷が発生しています。
モデル・ツール管理の課題: 利用可能なモデルや外部ツールを一元管理する仕組みがなく、各ワークスペースで個別に設定作業が必要です。社内で利用するモデルやツールが増減するたびに、全ワークスペースへ手動で適用しなければならず、運用負荷の増大につながっています。このため、運用負荷を考慮するとワークスペースを積極的に増やしにくいという側面があります。
更新頻度の課題: エンタープライズ版のアップデートは月1〜2回程度と、コミュニティ版に比べて頻度が低めです。また、コミュニティ版で追加された新機能がエンタープライズ版にすぐに反映されるわけではなく、利用可能になるまでに時間がかかる場合があります。
権限管理やモデル・ツール管理といった機能面の課題については、今後のDifyのアップデートによる改善を期待しています。 更新頻度の課題に関しては、最新機能を早期に検証したいといったニーズに応えるため、コミュニティ版の検証環境を別途用意することも検討しています。
なお、今後のDifyのアップデート予定は、公式ロードマップから確認できます。
全社導入の成果と課題
Difyエンタープライズ版を全社に公開してから約1ヶ月が経過しました。任意での利用ながら、以下のような状況となっています。
- アカウント登録率: 全従業員の約3割
- 公開直後の講習会参加率: 全従業員の約1割
- 作成されたアプリ数: 約70個
- 稼働中のワークスペース数: 5個
アプリの作成者に関しては、AIやシステム開発に慣れているエンジニアが中心ではありますが、当初の狙い通り、エンジニア以外の職種、特に企画職の方によるアプリ作成も徐々に増え始めています。 社内の関心の高さがうかがえる一方、アンケートからは、具体的な活用実態と今後の課題が見えてきました。
- 活用事例: 問い合わせ対応チャットボット、Webページの品質チェック、特定のWebページからのデータ抽出など、多様な業務効率化の事例が生まれています。また、日常的なコーディングや文章作成支援での利用も多いようです。
- 利用頻度: 回答者の約8割が「ほぼ毎日」または「週に2〜3回」利用しており、高い定着率を示しています。
- 利用の難易度・要望: UIの分かりやすさは評価されているものの、「ワークフロー構築やパラメータ調整は専門的で難しい」「活用事例の共有やサポート体制の強化」を望む声が聞かれました。
アカウント数自体はまだ増加の余地がありますが、利用者の高い利用頻度と具体的な活用事例の増加は、プラットフォームとしての有用性を示しています。 また、Difyは現場のニーズに応える高いポテンシャルを持つ一方で、より高度な活用には学習支援が不可欠であることも明らかになりました。
アンケートで触れた活用事例のほか、食べログでの具体的な取り組みの一部については、以下の記事で詳しくご紹介しています。こちらもぜひご覧ください。
まとめ
Difyエンタープライズ版の導入によって、カカクコムは全社的なAI活用プラットフォームを構築しました。 マルチワークスペース、SSO、Admin APIといった機能を活用し、運用負荷を抑えつつセキュアな環境を構築しています。 今後もAI活用を推進するとともに、従業員のAI教育ツールとしても活用していく予定です。 この記事が、Difyの導入を検討されている企業様の参考になれば幸いです。
AIトランスフォーメーション推進部では、本プロジェクトをはじめとする、様々な生成AIの活用プロジェクトを推進しています。 生成AI活用プラットフォームの改善に興味がある方、プラットフォーム上で生成AI活用ソリューションを創り上げる事に興味がある方、いずれのメンバーも募集しております。 カジュアル面談だけでも歓迎ですので、ご連絡お待ちしています。