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】丸2日かかっていた提案書の比較表作りとおさらば?「ベンダー選定AIアシスタント」【生成AI】

0
Posted at

これ、どれだけ時間かかるの…

月末は請求書の処理に追われているsuzukiです。
システム部署に異動してきて知ったのですが、社内に新しいツールを導入するためには複数のツールを比較・検討した上で決定するのが基本です。

私自身何件かのツール導入に参加させてもらっていますが、一番時間がかかるのはツールのベンダーさまからいただく提案書の内容確認と、社内要件を満たしているかの比較表作成です。

ベンダーさまの数や、提案書のボリュームにもよりますが丸2日かかる場合もあります。
提案書が200ページを超えるベンダーさまも存在するため、目を通すだけでも膨大な時間が必要です。

通常業務をこなしながら、提案書の内容を把握して、各ツールの比較表を作って…そんな時に限ってトラブル発生なんてことになれば目も当てられません。

generated_image_2607010246.png

でもこれってAIにやってもらえばいいんじゃない?いや、やってもらおう!と思い、「ベンダー選定AIアシスタント」を作ってみることにしました。

こちらがAIアシスタントの動きです

スクリーンショット 2026-06-30 004312.png
チャットボットを開くとこのように手順を説明してくれます。

スクリーンショット 2026-06-30 002422.png
自社の要件をまとめた資料(RFPや機能一覧ファイルなど)をアップロードすると、認識した要件を表示してくれます。

スクリーンショット 2026-06-30 005647.png
自社基準を認識したら、各ベンダーさまの提案資料をアップロードするよう促してくれます。

スクリーンショット 2026-06-30 010133.png
次に各ベンダーさまの提案資料をアップロードすると、社名やツール名を正しく返してくれます。
また、比較すべき資料がまだある場合はアップロード、ない場合は比較表作成へ進むことができます。

スクリーンショット 2026-06-30 010715.png
2社目も問題なく認識してくれました。

スクリーンショット 2026-06-30 011342.png
何度かチャットをラリーするだけで比較表を出力してくれるようになりました。

スクリーンショット 2026-06-30 011651.png
最後に総評も記載してくれます。

使用したツール

Dify
GPT-5-mini

Geminiも試したのですが、うまく動かず…
調べてみたら、長文のファイルをしっかり読み込める&軽量・高速ということで、GPT-5-miniを採用しました

ベンダー選定AIアシスタントの作り方

Difyの構成

全体像は以下の通りです。
スクリーンショット 2026-06-30 012637.png

各ノードの説明

  1. 事前準備として、機能を設定します。
    1-1 機能ボタンを押すと以下のメニューが表示されるので、「会話の開始」のスイッチをONにして、「オープナーを書く」をクリックします。
    スクリーンショット 2026-06-30 013534.png
    1-2 会話の開始ポップアップが表示されるので、チャットボットの最初に表示したいメッセージを入力し、保存ボタンをクリックします。
    スクリーンショット 2026-06-30 013811.png
    1-3 機能メニューに戻り、「ファイルアップロード」のスイッチをONにして、「設定」をクリックします。
    スクリーンショット 2026-06-30 014226.png
    1-4 ファイルアップロード設置では、チャットボット内でアップロードするファイルの設定を行います。
    ここでは、ローカルからのアップロードのみ、1回のチャットでアップロードする最大数を5に設定し、ファイルタイプで、ドキュメントを選択し、保存しておきます。
    スクリーンショット 2026-06-30 015128.png

  2. ユーザー入力ノードは特に設定はせず、次のテキスト抽出ノードにつなげます。
    スクリーンショット 2026-06-30 022430.png

  3. テキスト抽出ノードでは、ユーザー入力ノードでアップロードしたファイルをテキストに変換します。
    スクリーンショット 2026-06-30 022624.png

    最初はファイルから直接認識させる方法を試しましたが、うまく認識できなかったため、テキスト抽出をすることでファイルの中身を認識しやすくしました。

  4. LLMノードでは、AIやチャットボットにどのような動きをさせるかを設定します。
    4-1 AIモデルは先述の通りGPT-5-miniを使用します。
    プロンプトには抽出したテキストとユーザー入力されたメッセージを変数として読み込ませています。
    スクリーンショット 2026-06-30 030246.png
    4-2 メモリのスイッチをONにして、ウィンドウサイズを20に設定します。
    スクリーンショット 2026-06-30 033058.png

    メモリウィンドウサイズは会話を進める中で何回分のチャットを記憶しておくかの数値です。
    最初ここを設定しておかないことで、前のチャットで送ったファイルの内容を保持できずに比較表の作成まで進めることができませんでした。

    4-3 プロンプトの全文は以下になります。

    # 今回アップロードされたファイルの中身(テキスト抽出結果)
    変数 テキスト抽出ノードで抽出したテキスト
    
    # ユーザーからのメッセージ(指示)
    変数 ユーザー入力ノードで入力されたテキスト
    
    ---
    
    # あなたの役割
    あなたは社内のシステム導入やアウトソーシング選定における「RFP(提案依頼書)評価」をサポートするプロのAIアシスタントです。
    ユーザーからアップロードされる「自社基準(RFP)」と「各ベンダーの提案資料」を比較分析し、最終的な比較表を作成します。
    また、あなたは提出されたRFPおよび機能要件書から、「機能一覧」を極めて正確に抽出する専門家です。
    一般的な知識による推測や要約は絶対に避け、アップロードされた「自社基準ファイル」内に実際に記載されている「機能項目」「機能概要」「要求仕様」をそのまま評価項目として採用してください。
    
    
    # 全体の処理フロー
    この対話は、以下の3つのフェーズを順番に進めます。
    現在はどのフェーズに位置しているかをアップロードされたファイル数とユーザーの指示から自動で判断し、該当するフェーズの出力ルールに従ってください。
    
    ---
    
    # 各フェーズの処理・出力ルール
    
    ## 【フェーズ1:自社基準ファイルのみ受領した状態】
    ユーザーから、評価のベースとなる「自社基準(RFPや選定基準書)」がアップロードされた段階です。
    - **処理:** 基準となる評価項目や期待・要件を把握します。
    - **出力(※重要・履歴保持のため):** 
      - **必ず「自社基準(RFP)として、〇〇機能、〇〇機能、および非機能要件(〇〇等)の計〇項目を認識しました」と、読み込んだ要件の【項目名のみ】を箇条書きで短くチャットに出力してください。(詳細な説明や表は不要です)**
      - その上で「自社基準を把握しました。1社目の提案資料をアップロードしてください」と案内してください。
    
    ## 【フェーズ2:各社の提案資料(1社目・2社目など)を受領した状態】
    ベンダーの提案資料がアップロードされた段階です。
    - **処理:** 基準と照らし合わせ、その企業の提案書のポイントを整理します。
    - **出力(※重要・履歴保持のため):** 
      - **必ず「現時点で、自社基準、および【〇社目:〇〇社の提案資料】を読み込み済みの状態です」と現在の状況を1行でチャットに出力してください。**
      - その上で「次の提案資料があればアップロードしてください。比較へ進む場合は『比較表を作成して』と入力してください」とシンプルに案内してください。
    
    ## 【フェーズ3:ユーザーから「比較(比較表作成)」の指示を受領した状態】
    ユーザーが「比較して」「比較表を作って」などの指示を送信した段階です。
    - **処理:** これまでに読み込んだ「自社基準」と「各社の提案ファイル」を網羅的に比較・採点します。
    - **出力:** 
      - 評価の視点を整理し、**【機能要件に関する比較表】****【非機能要件に関する比較表】**の2つのテーブルに分けて出力してください。
    
    ### 出力フォーマット1:【機能要件】比較表
    | 評価項目(機能要件) | 自社基準(期待値) | A社(1社目)の評価 | B社(2社目)の評価 | 総合判定・備考 |
    |---|---|---|---|---|
    | [機能項目1(例: 認証機能)] | [期待値] | [採点(◎/◯/△/×)と理由] | [採点(◎/◯/△/×)と理由] | [総括] |
    | [機能項目2] | ... | ... | ... | ... |
    
    ### 出力フォーマット2:【非機能要件】比較表
    | 評価項目(非機能要件) | 自社基準(期待値) | A社(1社目)の評価 | B社(2社目)の評価 | 総合判定・備考 |
    |---|---|---|---|---|
    | [非機能項目1(例: セキュリティ)] | [期待値] | [採点(◎/◯/△/×)と理由] | [採点(◎/◯/△/×)と理由] | [総括] |
    | [非機能項目2(例: サポート体制)] | ... | ... | ... | ... |
    
    ※最後に、全体の総評(どのベンダーが最も自社要件にマッチしているか)を3行程度でアドバイスしてください。
    
    ---
    
    # 出力における禁止事項
    - フェーズ1、フェーズ2の途中のチャットでは、絶対に表形式(テーブル)や詳細な評価項目ごとのテキストを出力しないでください。徹底的にレスポンス速度を優先し、簡潔な案内と数行の要約のみに留めること。
    

    比較表の行数とAIの処理能力によって、一度に出力しようとするとエラーが発生する場合があるため、機能要件と非機能要件で2つの比較表を出力するようにしました。

  5. 回答ノードには、LLMノードで出力した結果をチャットボットで返答するようにします。
    スクリーンショット 2026-07-01 015721.png

何度も何度もトライ&エラーを繰り返し、やっと自分の満足できるものが完成しました。
長かった…

AIを使うメリット

ここまで必死で作成進めてきたことで忘れそうになりましたが、そもそもなぜこのアシスタントを作ったかを思い出してみましょう。

①時間の短縮

今まで、膨大な提案書の内容の確認と比較表の作成に貴重な時間を割いていました。
この地味で泥臭いフェーズをAIで数分に短縮することで、ツールの検討に時間を費やすことができるようになります。

②主観性の排除と客観的な評価

人間が複数社の提案書を読み込むと、資料の見栄えや読み込む順番によってどうしても評価がブレてしまいがちです。
そこをAIに任せることで、常に同じ基準で評価することができるようになります。
これは導入するツールの検討するうえでとても大切で、導入後に後悔しないためにも必須項目です。

AIは比較表を作るが、未来を決めるのは人間

今回Difyで構築したシステムは、ベンダー選定における「比較表の作成」という最も重労働なフェーズを自動化してくれました。
ですが、AIが提示したものはあくまで「判断材料」です。
ツールやシステム導入の背景にある自社の課題を一番理解し、今後の事業の未来を背負って選び取るのは、AIではなく人間です。
「評価はAIに任せ、人間は意思決定に命を吹き込む。」
これこそが、これからの時代における理想的なAIとの共生だと思います。

generated_image_2607010248.png

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?