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

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


コメント