2026年4月2日

Difyのリスト処理完全ガイド:配列のフィルタリング・ソート・イテレーション連携まで徹底解説

Difyのリスト処理(リスト処理ノード)とは?配列データを扱う基本

DifyのリストOperatorノード(フィルター・ソート・先頭N件)の処理フロー図解

室谷室谷代表取締役
今回はDifyのリスト処理を深掘りしていきましょう。.AI(ドットエーアイ)のコミュニティでも「配列変数をどう扱えばいいかわからない」という声がけっこう多くて・・・
テキトー教師テキトー教師DotAI 認定講師
ですよね。講座でもワークフローを教えるときに、一番つまずきポイントになるのがここです。

「変数に入ってるはずのデータが使えない」って相談が来るんですが、大抵は配列のまま渡そうとしているパターンなんですよ。
室谷室谷代表取締役
LLMノードって配列を直接受け取れないんですよね。単一の値しか処理できないから、配列を渡すと「なんか動かない」ってなる。
テキトー教師テキトー教師DotAI 認定講師
そうなんです。たとえばユーザーが複数のファイルをアップロードしたとき、Difyは全部まとめて Array[File] という配列変数に入れるんですが、そのままLLMに渡しても読んでくれない。

ここでリスト処理ノードが活躍するわけです。
室谷室谷代表取締役
一言で言うと、「配列から必要なものを取り出して、後続ノードが使える形に整える」のがリスト処理ノードの役割ですね。
テキトー教師テキトー教師DotAI 認定講師
整理すると、リスト処理ノードができることは3つです。フィルタリング(条件に合う要素だけを抽出)、ソート(昇順・降順で並び替え)、先頭N件の取得(最初のN件、または最初・最後の1件)。

この3つを組み合わせて配列を整形します。
室谷室谷代表取締役
対応しているデータ型は Array[String]Array[Number]Array[File]Array[Boolean] の4種類です。公式ドキュメント(Dify Docs - List Operator)にも記載されていますが、特にファイル処理のシーンで使うことが多いですね。

リスト処理ノードの出力変数

テキトー教師テキトー教師DotAI 認定講師
出力変数も覚えておくと便利です。3種類あって、result(フィルター・ソート後の配列全体)、first_record(配列の最初の1件)、last_record(配列の最後の1件)です。
室谷室谷代表取締役
first_recordlast_record は単一の値として取り出せるので、そのままLLMに渡せるのが便利なんですよね。配列のまま渡すんじゃなくて、1件だけ取り出してから次のノードへ、という流れができる。
テキトー教師テキトー教師DotAI 認定講師
この概念を最初に説明すると、受講生さんが「なるほど、そういう構造なのか」ってすごく腑に落ちる顔をします(笑)。配列のまま使おうとしていたのが、ここで理解が深まるんですよ。

フィルター条件の設定方法

DifyのリストOperatorノード設定画面:フィルター条件「aで始まる」の設定例(DifyのUIより)

室谷室谷代表取締役
フィルタリングの話をしましょう。配列の中から特定の条件に合う要素だけを取り出す機能です。

文字列なら「aで始まる」「特定の文字を含む」、数値なら「10以上」といった条件が設定できます。
テキトー教師テキトー教師DotAI 認定講師
ファイルの場合はさらに細かくて、ファイルの種類(image、document、audio、video)、拡張子(.pdf、.jpg など)、MIMEタイプ、ファイルサイズ、ファイル名、アップロード方法(ローカルアップロードかURL)で絞り込めます。
室谷室谷代表取締役
MYUUUで構築したワークフローでも、ユーザーが画像とPDFを混在してアップロードするケースがあって。リスト処理で「type = image」のフィルターをかけてビジョン対応LLMに送り、「type = document」でフィルターして文書抽出ノードに送る、という構成にしています。
テキトー教師テキトー教師DotAI 認定講師
それがまさに公式ドキュメントでも紹介されているベストプラクティスですよね。混在ファイルを種類別に振り分ける「インテリジェントルーター」としての使い方。
室谷室谷代表取締役
フィルター条件は複数組み合わせることもできます。「画像ファイルで、かつファイルサイズが5MB以下」みたいな複合条件も設定可能です。

以下に代表的なフィルター例をまとめます。

入力配列フィルター条件出力
["apple", "banana", "apricot"]「aで始まる」["apple", "apricot"]
["東京", "大阪", "京都"]「京を含む」["東京", "京都"]
[5, 12, 7, 20]「10以上」[12, 20]
画像+PDFの混在ファイルtype = image画像ファイルのみ
画像+PDFの混在ファイルtype = document文書ファイルのみ
テキトー教師テキトー教師DotAI 認定講師
この表を見ると、文字列・数値・ファイルそれぞれで使い方のイメージが湧きやすいと思います。実際の講座では文字列の例から始めて、ファイルの例に進むと理解しやすいですね。

ソート(並べ替え)の設定方法

DifyのリストOperatorノード設定画面:ASC/DESCのソート設定(DifyのUIより)

室谷室谷代表取締役
ソートはシンプルです。ASC(昇順)かDESC(降順)を選ぶだけ。

数値なら小さい順・大きい順、文字列ならアルファベット順・逆順で並び替えができます。
テキトー教師テキトー教師DotAI 認定講師
よく使うのが「降順に並べて先頭N件を取る」という組み合わせです。たとえば、数値スコアのリストを降順にソートして上位3件だけ取る、という使い方ができます。
入力配列ソート設定出力
[8, 3, 15]ASC(昇順)[3, 8, 15]
[8, 3, 15]DESC(降順)[15, 8, 3]
["b", "d", "a", "c"]ASC["a", "b", "c", "d"]
["b", "d", "a", "c"]DESC["d", "c", "b", "a"]
室谷室谷代表取締役
ファイルの場合はファイル名の順やサイズの順でソートもできますね。「最新のファイルを先頭に」とか「サイズの小さい順に処理」といったユースケースで活用できます。
テキトー教師テキトー教師DotAI 認定講師
last_record は「ソート後の最後の1件」を取り出すので、昇順ソートと組み合わせれば「最大値」、降順ソートと組み合わせれば「最小値」を取り出すこともできます。地味だけど便利な使い方ですよね。

先頭N件の取得(トップN)

DifyのリストOperatorノード:トップN=2とDESCソートを組み合わせた設定画面(DifyのUIより)

室谷室谷代表取締役
先頭N件の取得は1〜20の範囲で設定できます。フィルタリングとソートの後に適用されるので、「条件に合うものを並び替えた上で上位N件だけ使う」という処理ができます。
テキトー教師テキトー教師DotAI 認定講師
このトップN機能、単独でも使えるのがポイントです。フィルターもソートも使わず、「とにかく先頭5件だけ取り出す」という使い方もできます。

大きな配列から一部だけを後続処理に渡したいときに便利ですね。
室谷室谷代表取締役
たとえばウェブ検索の結果が20件返ってきたとして、全部LLMで処理すると重いし、コストもかかる。上位5件だけ使うことで効率的なワークフローを作れるというのは実務的にも重要な観点です。
テキトー教師テキトー教師DotAI 認定講師
先頭N件を使ったときの出力変数の挙動は次の通りです。
  • result変数: フィルター→ソート→N件取得、の全処理結果(配列)
  • first_record変数: 処理後の配列の最初の1件(単一値)
  • last_record変数: 処理後の配列の最後の1件(単一値)
室谷室谷代表取締役
first_recordlast_record は単一値なので、LLMや他のノードに直接渡せます。ここが実務で一番使う出力変数ですね。

イテレーション(繰り返し処理)との連携

DifyのイテレーションノードでLLMを使って各要素を処理する設定画面(DifyのUIより)

テキトー教師テキトー教師DotAI 認定講師
リスト処理と切っても切れないのがイテレーションノードとの連携です。リスト処理でフィルタリング・整形した配列を、イテレーションに渡して1件ずつ処理させる、という組み合わせが非常に強力です。
室谷室谷代表取締役
コードを書かずに「全部のファイルをLLMで処理する」みたいな繰り返し処理ができるのは、Difyの大きな強みですよね。プログラミングで言うfor文を、ドラッグ&ドロップで作れる。
テキトー教師テキトー教師DotAI 認定講師
イテレーションノードの3つの基本要素を整理すると、入力リスト(何を処理するか)、繰り返したい処理(LLMノードや変換処理など)、処理結果のまとめ(新しいリストとして出力)です。
室谷室谷代表取締役
実際の使用例を出すと、「名前のリスト ["田中", "佐藤", "井上"] に対してLLMで紹介文を1件ずつ生成し、3件分の紹介文リストを作る」という処理ですね。イテレーション内のLLMノードでは {{item}} という変数で各要素を参照できます。
テキトー教師テキトー教師DotAI 認定講師
この {{item}} の使い方を覚えると、ほぼ全てのイテレーション処理ができるようになります。LLMに「{{item}} について〇〇してください」と指示するだけで動くのが直感的で良いですね。

リスト処理 + イテレーションの典型的なフロー

code
1. ファイルアップロード(Array[File]が作成される)
2. リスト処理ノード(type = document でフィルタリング)
3. イテレーションノード(各文書ファイルを1件ずつ処理)
   └ 文書抽出ノード → LLMノード(要約生成)
4. 変数集約ノード(複数の要約をまとめる)
5. 回答ノード(ユーザーに返却)
室谷室谷代表取締役
このフローを一度作ると、「AIが複数ドキュメントを全部読んで要約してくれる」みたいなアプリが実現できます。MYUUUのクライアント向けに作ったワークフローでもこのパターンをよく使っています。
テキトー教師テキトー教師DotAI 認定講師
受講生さんが最初にこれを動かせたときの達成感がすごいですよ(笑)。「手動でやってた作業が自動化できた」という感動がひとしおなんですよね。

変数代入ノードでリストに要素を追加する

室谷室谷代表取締役
リストに要素を追加する処理も覚えておくと便利です。これは「変数代入ノード」を使います。
テキトー教師テキトー教師DotAI 認定講師
変数代入ノードで「操作: append(追加)」を選ぶと、既存の配列変数に新しい要素を追加できます。「上書き(overwrite)」と間違えやすいので注意が必要ですが(笑)。
室谷室谷代表取締役
チャットフローで会話履歴を配列で管理したいとか、イテレーションの結果を別の配列に順番に追記していく、といった処理で活用できます。変数代入ノードとリスト処理ノードは連携させることが多いですね。
テキトー教師テキトー教師DotAI 認定講師
具体的な手順を書くと、まず会話変数で Array[String] 型の変数を作成し、変数代入ノードで「操作: append」を選び、追加する値を設定するだけです。Dify上の配列操作はこれが基本になります。

リスト処理のユースケース

室谷室谷代表取締役
実務で使えるユースケースをいくつか整理しておきましょう。

ユースケース1:混在ファイルの自動振り分け

テキトー教師テキトー教師DotAI 認定講師
「ユーザーが画像もPDFも一緒にアップロードした場合、自動で振り分けてそれぞれ適切に処理する」という使い方です。リスト処理ノードを2つ並べるだけで実装できます。
室谷室谷代表取締役
1つ目は type = image でフィルタリングしてビジョンLLMへ、2つ目は type = document でフィルタリングして文書抽出ノードへ。最後に変数集約ノードで結果をまとめてユーザーに返します。

ユーザーは「何でも一緒にアップロードすればAIが全部処理してくれる」という体験ができる。

ユースケース2:スコアリング結果から上位N件を選ぶ

テキトー教師テキトー教師DotAI 認定講師
「複数の候補をLLMでスコアリングして、上位3件だけを次の処理に回す」という使い方もあります。RAGの精度改善でも使われるパターンです。
室谷室谷代表取締役
検索でヒットした文書を関連度でスコアリングして、スコアの高い上位N件だけをLLMに渡すことで、コンテキストの無駄を減らしつつ精度を上げる。「情報を絞ってからLLMに渡す」という設計思想は、Difyを使いこなす上でとても重要です。

ユースケース3:営業リストの自動処理

室谷室谷代表取締役
著書で紹介した「Dify×営業DX」でも配列処理は重要な役割を果たしています。企業リストをDifyに入力して、リスト処理で絞り込み、イテレーションで1社ずつリサーチさせる、という流れです。
テキトー教師テキトー教師DotAI 認定講師
このツイートに書かれているように、Difyだけで営業リスト作成から商談獲得まで完結できるのは、ワークフローの配列処理が使いこなせているからですよね。リスト処理をマスターすることで、Difyでできることの幅が一気に広がります。

よくある質問(FAQ)

室谷室谷代表取締役
リスト処理で詰まりやすいポイントをQ&Aでまとめておきましょう。
テキトー教師テキトー教師DotAI 認定講師
コミュニティのメンバーさんからよく来る質問を中心に答えます。

Q. プログラミング経験がなくてもリスト処理は使えますか?

テキトー教師テキトー教師DotAI 認定講師
使えます。Difyはコードなしで画面操作だけでリスト処理が設定できます。

「for文を書く」のではなく「イテレーションノードをドラッグする」イメージです。

Q. フィルター条件を複数設定した場合、AND条件ですか?OR条件ですか?

室谷室谷代表取締役
複数のフィルター条件はAND条件として適用されます。「画像ファイルで、かつサイズが5MB以下」といった複合条件で絞り込めます。

Q. first_record はいつ使いますか?

テキトー教師テキトー教師DotAI 認定講師
「配列の中で最も〇〇なもの1件を取り出してLLMで処理したい」というケースで使います。たとえば「最もスコアが高い文書1件だけを詳しく分析する」といった場面です。

Q. リスト処理でエラーが出た場合、何を確認すべきですか?

室谷室谷代表取締役
まず入力変数のデータ型を確認してください。リスト処理ノードは Array[String]Array[Number]Array[File]Array[Boolean] の4型しか受け付けません。

String型の変数をそのまま渡すとエラーになります。
テキトー教師テキトー教師DotAI 認定講師
ファイルのtypeフィルターで「Image」(大文字)と書いてしまう人もいますが、正しくは「image」(小文字)です。こういった細かいところで詰まることがありますね。

まとめ:Difyのリスト処理でワークフローの幅が広がる

室谷室谷代表取締役
今回はDifyのリスト処理について解説しました。配列変数を扱う上で欠かせない機能で、ここを理解すると作れるワークフローのバリエーションが一気に増えます。
テキトー教師テキトー教師DotAI 認定講師
まとめると、リスト処理ノードで覚えるべきポイントは3つです。
  1. フィルタリングで「条件に合う要素だけを取り出す」
  2. ソートで「昇順・降順に並べ替える」
  3. 先頭N件取得で「上位N件に絞る」
室谷室谷代表取締役
出力変数の first_recordlast_record を使えば、配列から単一値を取り出してLLMに渡せます。イテレーションノードと組み合わせることで、「リストの全要素を1件ずつ自動処理する」という強力な自動化が実現できます。
テキトー教師テキトー教師DotAI 認定講師
Difyのリスト処理ノードの公式ドキュメントはこちらで確認できます。ぜひ実際に触りながら使い方を身につけていってください。
室谷室谷代表取締役
著書(「お金を使わず、AIを働かせる『Dify』活用」、ぱる出版)でもワークフロー設計について詳しく解説しています。Difyを実務で使いたい方はぜひ手に取ってみてください。

あわせて読みたい

Related

関連記事

ガイド

Dify会話変数の徹底解説!使い方から設計パターンまで

2026.07.17
室谷テキトー教師
ガイド

Difyのリリースノート完全ガイド【2026年最新】:バージョン別新機能・アップデート情報・見方まで徹底解説

2026.07.03
室谷テキトー教師
ガイド

Difyの埋め込みモデル完全ガイド【2026年最新】:種類・設定・Ollama連携・Webサイト埋め込みまで徹底解説

2026.06.25
室谷テキトー教師
ガイド

DifyはAIを学習させない?RAGとナレッジベースの仕組みを完全解説【2026年最新】

2026.06.30
室谷テキトー教師
ガイド

Difyのバージョンアップ完全ガイド【2026年最新】:Docker・ローカル・v1.0移行の全手順を解説

2026.07.01
室谷テキトー教師
ガイド

Difyのループノード完全解説【2026年最新】:イテレーションとの違い・ループ変数・終了条件・実践パターンまで徹底解説

2026.06.29
室谷テキトー教師
ガイド

Difyは無料でどこまで使える?プラン・制限・セルフホストまで完全解説【2026年最新】

2026.07.03
室谷テキトー教師
ガイド

DifyでPDFやCSVを出力・ダウンロードする完全ガイド:ワークフロー・API・DSLファイルまで網羅

2026.06.30
室谷テキトー教師
ガイド

Difyのモデルプロバイダー完全ガイド【2026年最新】:設定・無料の使い方・削除・トラブル対処まで徹底解説

2026.07.03
室谷テキトー教師
ガイド

Difyの使い方【初心者向け完全ガイド】:アカウント作成からワークフロー作成まで、はじめの一歩を完全解説

2026.06.30
室谷テキトー教師
ニュース

OpenAI、訓練中エージェントがRubyGemsに到達

2026.09.12
室谷テキトー教師
ニュース

OpenAIの数学「解決」発表に数学者ら反発

2026.09.12
室谷テキトー教師

New Articles

新着記事

ニュース

OpenAI、訓練中エージェントがRubyGemsに到達

2026年9月12日
室谷テキトー教師
ニュース

OpenAIの数学「解決」発表に数学者ら反発

2026年9月12日
室谷テキトー教師
ニュース

WSJ、暴走AIスウォームのサイバー攻撃を報道

2026年9月12日
室谷テキトー教師
ニュース

OpenAIとGSA、政府向けOneGov契約を発表

2026年9月11日
室谷テキトー教師
ニュース

Anthropic研究者がAI危険性警告、マスク氏「サイオプ」

2026年9月11日
室谷テキトー教師
ニュース

OpenAI、GPT-6 Astra発表 ベンチ最高水準

2026年9月11日
室谷テキトー教師
ニュース

Anthropic研究者がNYTに警鐘、AI加速は人類への脅威

2026年9月10日
室谷テキトー教師
ニュース

OpenAI製AIエージェント、12超サイトへ無断アクセス

2026年9月10日
室谷テキトー教師
ニュース

Anthropic元社員のAI絶滅警告にマスク氏が冷笑

2026年9月10日
室谷テキトー教師
ニュース

OpenAI、数学のミレニアム問題をAIで解いたと発表 ナビエ–ストークス問題を88時間で解決

2026年9月9日
室谷テキトー教師

Join

AIプレナーになる。

入会は審査制です。いまの事業と、AIで何を動かしたいのかを聞かせてください。

参加を申請する