第82話:URLを3つ送るだけ!Difyで「競合比較表」を自動生成する実戦アプリ構築ガイド

Difyを活用して3社のURLから「競合比較表」を自動生成する仕組みを解説する、ブログ第82話のアイキャッチ画像。横浜の夕景を背景に、スマホから浮かび上がる比較レポートのホログラムが、AIによる高度なリサーチ自動化をイメージさせています。 AI活用

以前の第34話でIterationの基礎を解説しましたが、今回はその技術をさらに進化させた「実戦機」をご紹介します。

ターゲットは**「気になるライバル3社」**。 LINEからURLを3つ送るだけで、AIが1社ずつ読み込み、最後には一つの横並び比較表としてまとめてくれる。そんな「自分専用の戦略アナリスト」をLINEの中に作り上げる全工程を公開します。


第1章:アプリの全体像

大量の情報も大切ですが、ビジネスで勝つには「比較」が必要です。 1社ずつの要約をバラバラに受け取るのではなく、「同じ項目で横並びにして、自社の立ち位置を炙り出す」。 この「深さ」こそが、実戦で使えるツールの条件です。


第2章:【完全ガイド】ステップ別設定マニュアル

① 開始ノード:LINEからのURLを受け取る

LINEから届く「3つのURL(改行区切り)」を受け取ります。

② コード実行:URLを「お団子」に切り分ける

Iterationに渡すために、テキストをリスト形式に変換します。ここで「空データ対策」を入れるのがプロの技です。

  • 言語: Python3
  • 入力変数: text(値:{{sys.query}}
  • コード:

Python

def main(text: str = ""):
    safe_text = text if text is not None else ""
    return {
        "url_list": [line.strip() for line in safe_text.split('\n') if line.strip()]
    }
  • 出力変数: 名前 url_list / 型 Array[String]

③ Iteration(反復)ノード:ここが工場のライン!

このブロックの中に、以下の2つのノードを並べます。

1. HTTPリクエスト(Jina Reader) 外部サイトの情報を「AIが読みやすい形」で取得します。

  • メソッド: GET
  • URL: https://r.jina.ai/{{item}}
  • ヘッダー(Headers): ※ここが重要!
    • X-Return-Format: text (プレーンテキストで取得)
    • Authorization: Bearer <Your_Jina_Key> (安定稼働に推奨)

2. LLM(個別要約)

  • 役割: 1社ずつの膨大なデータを「価格・強み・ターゲット」に凝縮します。
  • プロンプト: 「以下のサイト情報( {{http_request.body}} )から調査結果を200文字でまとめて」

④ 最終集約LLM:3社を横並びにする

Iterationの**「外」**に配置し、バラバラのデータを一つにまとめます。

  • 入力変数: {{Iteration.output}}
  • プロンプト: 「受け取ったデータを元に、Markdown形式の横並び比較表を作成し、差別化ポイントを提案して」

第3章:初心者が絶対にハマる「3つの罠」と脱出法

  1. 「NoneType is not iterable」エラー Difyが「データが空だよ!」と怒るエラー。GAS側の inputs 設定と、Python側の safe_text 処理の合わせ技で突破しました。
  2. LINE送信時の「改行」ルール URLをカンマで繋ぐとエラーになります。必ず1行に1つのURLを書いて送るのがルールです。
  3. GASの「新バージョン」デプロイ コードを直しても「新バージョン」でデプロイしないと古いまま動きます。私はこれで数時間を溶かしました。

結びに:49歳、AIと共に「勝ち筋」を探す

IT未経験からスタートし、数々のエラーを乗り越えて完成したこのアプリ。 スマホに比較表が届いた瞬間の快感は、何物にも代えがたい「大人の部活」の成果です。 エラーは失敗ではなく、正解へのヒント。皆さんもぜひ、自分の相棒を構築してみてください!

コメント

タイトルとURLをコピーしました