はじめに
こんにちは、フロントエンドエンジニアの佐川です。
今回は、Difyを使用して「社内Wiki AIボット」を開発した経験について共有させていただきます。
スクリーンショット
アプリ制作の目的
このプロジェクトの主な目的は以下の2点でした:
- Difyを試してみる
- 社内の業務効率化の可能性を探る
開発者のバックグラウンド
- フロントエンドエンジニア兼デザイナー
- 日常的にChatGPTなどのAIを質問のために使用
- Difyの使用経験なし
開発の意図
今回の開発の意図は2つありました:
- Difyを試してみる:Difyは、AIアプリケーションの開発を簡素化するプラットフォームとして注目を集めています。その機能と使いやすさを実際に体験し、今後の開発プロジェクトへの活用可能性を探るため、試用することにしました。特に、既存のナレッジベースと連携できる点に興味を持ちました。
- 社内の業務効率化の可能性を探る:弊社では、ドキュメント管理にNotionを使用しています。Notionで管理している社内規定や、技術情報を気軽に質問できるBotがあれば便利だと思い、このアイデアに至りました。社員が必要な情報にすぐにアクセスできれば、業務効率が大幅に向上すると考えました。
使用技術
- Dify
- Slack API
- AWS Lambda(DifyとSlack APIとの橋渡しとして動作)
アプリケーションの概要
主な機能:
- SlackでBotにメンション付きで質問を送信
- Slack APIを受信し、Lambdaを通じて、Difyへメッセージを送信
- Difyは、ナレッジとしてあらかじめ学習しているNotionの記事情報から回答を生成して返却
- Lambdaを通じて、Slackにて回答される
開発プロセスと良かった点
Dify
Dify.AI · The Innovation Engine for Generative AI Applications
設定がもう少し難しいと思っていましたが、ものすごく簡単にできました。
やったこと:
- 社内Notionと連携
- Notionの記事をナレッジとして登録
これだけです。
Difyの直感的なインターフェースと、既存のナレッジベースとの簡単な連携機能に驚きました。
特に、Notionとの統合がスムーズで、社内の既存ドキュメントをAIボットのナレッジベースとして活用できる点が非常に魅力的でした。
また、自然言語処理の精度も高く、ユーザーの質問意図を適切に理解し、関連性の高い回答を生成できる点も印象的でした。
Claude
私は、バックエンドがあまり詳しくないので、Lambda関数を作成するときには、Claudeを使用しました。
コードの提案からエラーの解消まですべてClaudeが回答してくれて非常にスムーズに開発できました。
Claudeの支援により、バックエンド開発の経験が少ない私でも、複雑なLambda関数を短時間で実装することができました。
特に、エラーハンドリングなど、通常であれば時間がかかる部分も、Claudeの的確なアドバイスにより効率的に実装できました。
また、Claudeとの対話を通じて、バックエンド開発に関する理解も深めることができ、個人的な成長にもつながりました。
直面した課題
本来ならばDifyで1日1回Notionを最新状態にし、更新された記事をナレッジに追加するなどして、常に最新の状態にし、新しい情報にも答えてくれるようにしたいのですが、簡単には出来なさそうだったので、今回は見送りました。
社内Wikiは、更新頻度が高くないので、手動更新でもあまり負担にはならないという判断です。
また、自動で最新の状態を保たなければいけない要件が発生したときに再検討したいと思います。
まとめ
Difyを試してみて、たった2時間で「社内Wiki AIボット」を開発することが出来ました。
この経験を通じて、AIツールの活用が業務効率化に大きな可能性を秘めていることを実感しました。
特に、既存のナレッジベースと連携し、自然言語でのクエリに対して適切な回答を提供できる点は、多くの企業にとって有用だと考えます。
今後は、このボットの利用状況を観察し、さらなる改善や機能拡張を検討していきたいと思います。
例えば、ユーザーフィードバックを基にした回答精度の向上や、他の社内システムとの連携などが考えられます。
最後に、AIツールの導入は技術的な側面だけでなく、組織文化や業務プロセスの変革も伴います。
そのため、社内での適切な利用ガイドラインの策定や、従業員へのトレーニングなども重要になってくるでしょう。
この「社内Wiki AIボット」の開発を通じて、AIと人間の協働による新しい働き方の可能性を垣間見ることができました。今後も、技術の進化と組織のニーズをバランスよく考慮しながら、革新的なソリューションの開発に取り組んでいきたいと思います。