0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Difyで超簡易版ProjectBrainChatBotを作ってみた

Last updated at Posted at 2025-10-27

はじめに

これからは「+AI」ではなく「AI+」、すなわち「現在の業務にAIをどのように当てはめるか」ではなく「AIでできることを最大限に活かすために業務を調整する」という AI起点のアプローチ が求められる時代になるのではないかと考えています。

私自身、AIに触れる中で「現時点のAIで何ができ、何ができないのか」を理解しておかないと、取り残されてしまうのではないかと不安に感じることがあり。。。
AIツールを業務横断的に利用可能な超汎用SaaSと捉え、Fit to Standard の発想で「AIツールを前提に業務をいかに設計するか」を検討する進め方も、今後ますます増えていくのではないでしょうか。

(筆者について)
現在、大手SIerにて大規模基幹システムの刷新プロジェクトに従事中の新卒4年目社会人です。

今回作成したもの:超簡易版 ProjectBrainChatBot

システム開発の現場で使用される画面設計書と要望一覧を模したExcelファイルを入力とし、それらの情報を参照して回答を生成するチャットボットを Dify で作成してみました。

使用したAIツール

  • Dify
    チャットボットの作成に使用
  • Cursor
    画面設計書に添付するWebアプリの画面キャプチャを作成するために使用
  • ChatGPT
    Cursorへの指示文生成および本記事原稿の作成に使用

以降の章立て

  1. 超簡易版 ProjectBrainChatBot 作成の背景
  2. 目的
  3. 作成方法
  4. 結果
  5. まとめ

1. 超簡易版 ProjectBrainChatBot 作成の背景

大規模な基幹システム開発プロジェクトでは、メンバーの入れ替わりは避けられません。
例えば、要件定義フェーズを経験したメンバーが設計フェーズで離任してしまうといったことも珍しくありません。

しかし、コストやスケジュールの制約により十分な引き継ぎが行われなかったり、関連資料が機能ごとに整理されていなかったりする場合、以下のような非効率なキャッチアップを余儀なくされることがあります。

  • 必要な情報を得るためにストレージサービスやチャットツールでキーワード検索を繰り返す
  • 過去の議事録や要望一覧を一つひとつ確認し、複数の情報源を横断的に調べる

このような非効率を改善するため、プロジェクト進行に伴い蓄積される情報にスピーディーにアクセスできる機能を試作しました。

2. 目的

まずは肩の力を抜いて試してみることを目的としました!
その上で、少しでも普段の業務に活用するイメージを持つことを狙いとしております。

3. 作成方法

手順1. 入力データの準備

画面設計書と要望一覧のExcelを作成しました。
(画面レイアウトの作成には Cursor を利用しました。)

<画面設計書の構成>

  • レイアウトシート
    実際のUI画面のキャプチャを添付
  • 項目定義シート
    画面の表示項目やボタンなどの定義を記載
  • イベント一覧シート
    検索、追加、画面遷移などのイベントを記載

今回は、商品一覧画面と商品詳細画面の画面設計書を用意しました。

商品一覧画面
image.png

商品詳細画面
image.png

<要望一覧の構成>

  • 要望一覧シート
    「いつ、どこで、誰が、どのような要望を出し、それに対してどう回答・決定したか」を記載

image.png

手順2. Difyでチャットボット作成

Difyでのチャットボット作成方法につきましては、ChatGPTや各種Web記事で紹介されておりますので、詳細はそちらをご参照ください。
手順1で作成した画面設計書(2種類)と要望一覧をナレッジとして登録し、チャットボットに紐付けました。さらに、オーケストレーション欄には「回答時の振る舞い」を指示として入力しました。
右上の『公開する』ボタンから『更新を公開』→『アプリを実行』で公開できます。
※アプリ使用で消費されるクレジットは、そのアプリを公開しているアカウントのものが使用されるため要注意。使用しない場合はアプリを停止しておくことを推奨します。
image.png

4. 結果

今回は以下の3つの問いを投げてみました。
Q1. 「商品一覧画面のクリアボタンについて過去に言及されていますか?」
→「言及されていたか?」のみの判断でよく、判断基準がゆるめ
Q2. 「商品一覧画面のチェックボックスは過去に指摘を受けて追加したものですか?」
「指摘を受けて追加」というQ1よりも自然言語的な把握が必要

Q3. 「商品一覧画面で商品IDを押下した場合、どうなる?」
(Q3はチャットボットへのナレッジを画面設計書のみに変更し、プロンプトから”要望一覧”に関する記述を削除して実施)
画面設計書のみの情報から判断が必要。画面設計書には「商品一覧画面で商品IDを押下した場合、商品詳細画面に遷移する」という明確な言語表現はないため、イベントIDによる紐付きを認識する必要がある。

Q1. 「商品一覧画面のクリアボタンについて過去に言及されていますか?」
A1. 「はい、その件は過去に言及されています。具体的には、クリアボタンを追加して欲しいとの要望がありました。それにより、クリアボタンを押すと検索エリア、明細エリアがクリアされ、画面が初期表示状態に戻るという機能が提案されました。しかしながら、その時点では優先度が低いと判断されたため、対応しないことで合意が取れました。」
image.png

要望一覧には、添付画像のような記述があり、その部分を引用して回答がされている。
image.png

Q2. 「商品一覧画面のチェックボックスは過去に指摘を受けて追加したものですか?」
A2. 「はい、その通りです。以前の要望で、「明細行の左端にチェックボックスを設ける」という指摘がありました。また、元々そのチェックボックスは、「チェックをつけた状態で追加、変更ボタンを押下すると一括で追加/変更が可能になる」という機能を備えています。これにより、追加処理用のポップアップ画面の廃止も実現されました。」
image.png

要望一覧には、添付画像のような記述があり、その部分を引用して回答がされている。
image.png

Q3. 「商品一覧画面で商品IDを押下した場合、どうなる?」
A3. 「商品IDを押下することで、商品詳細画面に遷移します。これはナレッジ「EVT005」に記載の「商品詳細画面遷移」のアクションと一致します。」
image.png
画面設計書の商品IDの項目に紐づくEVT005を認識し、EVT005に紐づくイベント情報(商品詳細画面への遷移)を回答している。

5. まとめ

今回、システム開発のプロジェクトで用いられるような画面設計書と要望一覧をイメージしたファイルをナレッジのInputとしてDifyでChatbotを作成してみました。
比較的簡単な操作でRAG(RetrievalAugmented Generation)の仕組みを取り入れたチャットボットを作成することができました。
また、Q1〜Q3に対しては、いずれも質問に対する直接的な回答を返す結果となりました。

ただ一方で、以下のような回答も見られました。
Q. 「商品一覧画面で商品名を押下するとどうなる?」
A. 「ナレッジには商品名を押下するとどうなるかについて直接的な記述はありませんが、商品IDを押下すると商品詳細画面に遷移するとの情報がEVT005に記載されています。商品名を押下した場合も同様に商品詳細画面に遷移すると考えられます。ただし、これは確定的な情報ではなく推測に過ぎませんので、詳細は設計書や実装を確認する必要があります。」
image.png
これはナレッジに記載がない内容に関して、モデルが推測を交えて回答したケースです。

質問に対して、100%確実な答えを求めるか、ある程度粗くてもよいから回答の手掛かりとなりうる情報を提供してほしいのか といったユースケースに応じて、例えばプロンプトの書き方や語句の一致条件の厳しさなどを調整する必要があると考えられます。

今回の目的は「まずは肩の力を抜いて試してみること」ですので、今回得られた結果の深掘りやよりリアルなケース(より複雑な詳細設計レベルの設計書を用いるケースなど)での検証は別記事にて記載したいと思います。

ご一読ありがとうございました。

参考)イサヤマセイタ 『【この1冊からはじめる】生成AIアプリ開発入門 Dify徹底活用ガイド』 SB クリエイティブ株式会社, 2025年

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?