Tech Waves

produced by Hakuhodo DY ONE

非エンジニアによるはじめてのDify作成

こんにちは、あおいです。

本記事では、2025年9月よりAI開発部署に兼務となったコンサルタントの私が、Difyを活用してプロジェクト(PJT)に合わせたMA施策を提案してくれるエージェントを開発しましたので、開発したエージェントの全体像を共有します。

利用ツール

今回は、以下3つのツールを利用してDifyを構築しました。

※Notionは必須ではありません。(当社が社内ツールとして利用しているため、データ蓄積のために活用しています。)


私のスキル

最初に、着手当時の私のスキルをお伝えします。

  • Dify:半年前に会社の研修で『ナレッジ探索』のみ使用したことがある
  • PythonPythonという言葉は知っている
  • Notion:PJT用のデータベースを作ることができる

ご覧の通り、ツールに対する特段のスキルはほとんどありませんでした。(同じ立場で親近感を持っていただいた方いらっしゃったら、嬉しいです。)
ただ、面白そうなことができそうと感じ、今回のDifyエージェントを作ってやるぞと思った次第です。


背景

それでは早速本題に入りましょう。

私の所属する本部では、今年度からCXツールの施策コンサルティングを行う部署が新設されました。元々営業だった私はその部署にコンバートされ、課題解決のために奔走しています。

ただ新設されたばかりというところで、部署としては以下のような課題がありました。

  • 部署の立ち上げ初期のためナレッジが少ない
  • 提案する施策が一辺倒になりがち
  • 施策を検討することに時間がかかる

また、取引先企業に提案していると、企業側でも次のような課題があるのではと考えるようになりました。

  • (導入前)イメージが湧いておらず、CXツールで具体的にどんな施策ができるかわからない
  • (導入後)施策のイデアが枯渇している
  • (導入後)そもそもツールを使いこなせていない

そのため、クライアント企業と部署の課題を解決するためにも、「施策を作る」ということをDifyで自動化したら業務が楽になるのではと考えました。

以下が今回Difyを構築する前と後の業務フローです。
このように当社側の業務が短縮されただけではなく、提案内容もナレッジが少ないヒトが考えるのではなくDify上で作成できるため、よりクライアント企業に寄り添った提案ができるようになったと感じています。

大まかな全体像

Dify構築における全体像は以下です。

2に関しては、Notionにデータを溜めずスクレイピングした内容をcsvに出力しておけば、Difyに直接アップロードすることも可能です。

  1. Pythonで事例掲載しているサイトをスクレイピングしてcsv出力
  2. Notionのデータベースにデータを出力
    1. Notion AIを活用して事例の検索もできるようNotionのデータベースに出力
  3. DifyとNotionを連携させてナレッジ化

スクレイピングが許可されたページのみを対象としております。

 

次にDify上のフローはこちらです。

今回はアプリ内での会話を目的とせず、特定の業務を自動で実行することを目的としているためワークフローで構築しました。

    • スタート:今回はなるべく利用数を増やすために、必須項目を少なくして任意の項目を多くしました。
    • コード実行:スタートでユーザーが入力した情報を知識検索に渡すために一つのコードにまとめています。知識検索は一つの検索変数しか受け付けないので、今回のようにスタートに複数の項目ユーザーに入力してもらいたいときは必須の要素です。
    • 知識検索:ここにスクレイピングしてDifyにアップロードした要素を追加することで、Dify上で適切な事例をLLM側に引き渡します。
    • LLM:引き渡された事例をさらにLLM内のプロンプトに基づいて検索し、適切な事例のみを抽出します。
    • 終了:LLMで記載した内容をユーザーにアウトプットします。

(『Difyとは』や『知識検索のナレッジの登録』についてはAI検索などでご確認いただければと思います。)


出力結果

今回、スクレイピングできたサイトが少なかったので、以下2種類の施策例を一度にアウトプットさせています。(キャプチャの都合上2枚になっています。)


①ナレッジ内参考施策事例

知識検索内(スクレイピングしたデータ)をもとに、開始ノードで入力したクライアント企業に適した施策例を抽出して出力します。

【画像】

②推奨施策例

開始ノードの情報を参考に、AI自身が実施すべき施策を出力します。

躓いたポイント

実は、1ヶ月半かけて少しずつエージェント作成を進めました。なぜそんなに時間がかかったのかというと、冒頭で記載の通りPythonを全く知らなかったからです。

今回こちらのDifyエージェントを作成していく中で躓いたポイントを4つ紹介します。


1.AIさん、何が間違っているのですか。

  • 発生した事象
    • AIに聞いて戻ってきたPythonのプロンプトをターミナルで何度実行しても想定通りいかない
  • 実施したこと
    • そもそもPythonがどういう挙動なのかを知らず指示の出し方もイマイチわからなかったため、少しだけPythonを以下の教材で勉強してAIに指示出し
    • ただプロンプトを吐き出させるためにAIを利用していたが、想定と異なっていた部分を指摘して、なぜそうなったのか原因を聞く
  • 学んだこと
    • AIに実行させることは簡単だが、間違った時にその原因がわからないと改善が難しい。自分でも学習したりAIに原因を聞いてみたりすることが重要


2.Beautiful SoupとSeleniumの違いは何ですか。

  • 発生事象
    • 最初はAIに指示されたBeautiful Soupというライブラリを利用してスクレイピングを実行していたが、なぜかうまくいかない
      • サイトがReactで構成されていたため、Beautiful Soupでは情報が取得できなかった
  • 実施したこと
  • 学んだこと
    • 自分の知識の幅、またAIの提案を鵜呑みにしない姿勢も重要


3.嘘をつかないでください。

  • 発生事象
    • Difyで施策事例を出させると、存在しない架空の会社やURL、事例を自信満々に提示してくる場合がある
    • 日本語でと指示は出しているはずなのに日本語以外の結果が返ってくる場合がある
  • 実施したこと
    • プロンプトに「与えられた情報以外から推測しないこと」を明記
    • LLMのモデルの差もあると考え、各LLMで検証してClaudeを利用することに決定
  • 学んだこと
    • 実際にハルシネーションは起こりうるため、プロンプトだけではなく利用する LLMの選択も重要


4.イメージの汲み取りってできますか?できないですよね。

  • 発生事象
    • 出力させる事例を表形式にして見やすく表示させたかったが、表がうまく表示されない
  • 実施したこと
    • プロンプトに「表形式で表示して」とだけ伝えるのではなく、「Markdown形式でこの形で表示して」と具体的なフォーマットを指示する
#### 施策例①
| タイトル |内容|
|:----|:---|
|会社名| [会社名] |
|事例のリンク | [事例へのリンクURL] |
|課題 | [この施策が解決した顧客の課題] |
|施策 | [実施された施策の具体的な内容] |
(施策例②〜⑤も同様に記述してください。)
  • 学んだこと
    • 人間のイメージとAIの出力結果が一致しない場合があるため、AIが理解できるような指示の出し方を工夫することが必要

感想

今回は『Pythonを利用してスクレイピングを実行する』という、非エンジニアの私にとってとても山場の作業があったため1.5ヶ月ほかかりました。しかしその部分を専門性のある方に任せられれば、Difyのプロンプトの調整だけが必要なため、長くても2週間ほどで作れると思います。

Difyを活用すれば業務の効率化を目指すことができますので、ぜひ気軽に活用してみてください。