エージェント基盤・プロトコル

Difyとは|条件を5個目まで足したら、画面のノードが32個増えた

Difyとは何ができる基盤なのか画面で組むと何が変わるのかどこまで画面で組めばよいのか

AIを使った処理を、画面上で部品をつないで組み立てられる基盤があります。コードを書かずに試せるのが利点です。

ただし条件分岐が増えると画面が膨らみます。条件を5個並べたところ、画面のノードは63個になりました。1つ足すごとに32個増える計算です。

この記事の要点

  • Difyは画面上でAIの処理を組み立てる基盤
  • 条件5個で画面のノードは63個
  • 条件を1つ足すごとにノードは倍近く増える
  • コードなら1行ずつだが、書ける人がいないと手が出せない

条件を5個目まで足したら、画面のノードが32個増えた

両方の表現を実際に組み立てて数えました。条件5個で画面のノードは63個、コードは9行です。

Difyのように画面で組む基盤で、条件分岐が増えたときに何が起きるのかを数えました。題材は注文の振り分けに使う条件です。

ノード数も行数も、実際に両方の表現を組み立てて数えています。組み立て方はコードに書いてあり、そこを変えれば結果も変わります。

javascript
// 画面に置く形: 条件を1つずつ分岐ノードにして、組み合わせを枝で表す
function buildNodes(n) {
  // 深さ n の二分木。分岐ノードは 2^n - 1、末端(結果ノード)は 2^n
  return { branch: Math.pow(2, n) - 1, leaf: Math.pow(2, n) };
}

// コードで書く形: 条件を式にして、結果は表で持つ
function buildCode(n) {
  const lines = ['const flags = {'];
  for (let i = 0; i < n; i++) lines.push(`  c${i}: check${i}(order),`);
  lines.push('};');
  lines.push('const key = Object.values(flags).map(Number).join("");');
  lines.push('return ROUTES[key] ?? DEFAULT_ROUTE;');
  return { lines: lines.length, table: Math.pow(2, n) };
}
text
条件数  画面の分岐ノード  画面の結果ノード  画面の合計  コードの行数  表の行数
   1個             1個             2個          3個            5行        2行
   2個             3個             4個          7個            6行        4行
   3個             7個             8個         15個            7行        8行
   4個            15個            16個         31個            8行       16行
   5個            31個            32個         63個            9行       32行

条件を1つ足したときに増える量

条件数の変化   画面のノード増加  コードの行数増加
   1個 → 2個           4個               1行
   2個 → 3個           8個               1行
   3個 → 4個          16個               1行
   4個 → 5個          32個               1行

増え方が違います。画面のノードは1つ足すごとに倍近く増え、コードは1行ずつです。

3個までは無理がない

条件が3個までなら、画面のノードは15個です。1画面に収まり、目で追えます

画面で組む利点はここにあります。処理の流れが見た目で分かるので、書いた人以外も追えます。

5個で63個になる

ところが5個で63個です。1つ足すたびに32個増えるので、6個目では127個になります。

この規模になると、見た目で分かるという利点が消えます。画面を追うより、条件を書き出して表にしたほうが速くなります。

コード側も表は膨らむ

公平に見ておくと、コードで書く形でも結果を持つ表は32行まで増えます。組み合わせの数そのものは減りません。

違うのは、増えるのが表の行だけという点です。処理の骨組みは9行のままで、条件を1つ足しても1行しか増えません。

条件が3個までなら画面で追える。5個で63個は追えない。

画面に置くノードの数6301個2個3個4個5個画面に並べるコードで書く(骨組みの行数)両方の表現を実際に組み立てて数えた。コード側も結果の表は32行まで増える。
図1 ── 条件の数と、画面に置くノード数
出典langgenius/dify README2026-08-18 確認
Workflow : Build and test powerful AI workflows on a visual canvas, leveraging all the following features and beyond.
原文langgenius/dify README この内容の有効期限2027-02-18

Difyとは何ができる基盤なのか

AIを使うアプリを画面上で組み立てる基盤です。処理の組み立てから記録まで、ひととおり揃っています。

Difyは、AIを使うアプリを作るための公開された基盤です。画面上で部品をつないで処理を組み立てられます。

揃っているもの

READMEでは、処理の組み立て、検索を組み合わせた仕組み、エージェントの機能、モデルの管理、動きを記録して見る機能などが1つの画面にまとまっているとされています。

試作から本番まで素早く進める、という位置づけです。組み立ての部分については、目に見える画布の上で処理を作って試せると説明されています。

モデルの扱い

モデルは多くの提供元に対応しているとされています。差し替えを共通の口で吸収する考え方はLangChainの記事でも扱っており、そちらでは変更箇所が5か所から1か所になりました。

画面で組む基盤では、この吸収があらかじめ済んでいる形になります。

画面で組む利点

  1. 流れが見た目で分かる。書いた人以外も追える
  2. すぐ試せる。環境を整える手間が要らない
  3. 変更が速い。条件が少ないうちは
  4. 条件が多い処理。前の節のとおり膨らむ
余談 見た目で分かる範囲には限度がある

使ってみて感じたのは、「見た目で分かる」が成り立つのは画面に収まるあいだだけということでした。前の節の63個は、もう見て分かる状態ではありません。ノード数を定期的に数えて、増えてきたら切り出す判断が要ります。

出典langgenius/dify README2026-08-18 確認
Dify is an open-source LLM app development platform.
原文langgenius/dify README この内容の有効期限2027-02-18

どこまで画面で組めばよいのか

条件が3個までなら画面で組めます。それを超えたら、判定をひとまとまりに切り出してください。

Difyで画面に組む範囲は、条件分岐がいくつあるかで決めます。前の節の数字が、その目安になります。

分かれ目は3個あたり

条件3個で15個のノードなら、画面で追えます。4個で31個、5個で63個。この間のどこかで、見て分かる状態ではなくなります

どこで線を引くかは見る人によりますが、増え方が倍々である以上、線を越えるのはあっという間です。

判定を切り出す

条件が多い場合、組み合わせを全部画面に並べる必要はありません。判定をひとまとまりの部品にして、画面には結果を受け取る部分だけを置く形が取れます。

こうすると、画面の見通しを保ったまま条件を増やせます。手順が決まっている処理を確実に回す考え方は決定的ワークフローの記事で扱っています。

記録の機能は使う

READMEでは、動きを記録して見る機能が最初から含まれているとされています。画面で組む場合でも、何が起きたかを追える手段は要ります

むしろ画面で組むほうが、どこを通ったかを後から追う必要が出ます。記録の設計はエージェント可観測性の記事で扱っています。

条件が倍々で増える以上、切り出す判断は早めに要る。

充足 2 / 4条件分岐が3個までに収まる3個ならノードは15個。1画面に収まり、目で追える書ける人がいなくても変更できる画面で組む最大の利点。コードで書く形では手が出せない条件が5個以上あるノードは63個。1つ足すごとに32個増え、見て分かる状態ではなくなる何が起きたかを記録していない画面で組むほど、どこを通ったかを後から追う必要が出る条件の数を変えて両方の表現を組み立てた実測にもとづく。条件5個で画面は63個のノードになった。
図2 ── 画面で組むかどうかの点検項目
出典langgenius/dify README2026-08-18 確認
Its intuitive interface combines AI workflow, RAG pipeline, agent capabilities, model management, observability features (including Opik , Langfuse , and Arize Phoenix ) and more, letting you quickly go from prototype to production.
原文langgenius/dify README この内容の有効期限2027-02-18

よくある質問

画面で組むのは初心者向けということですか
違います。試作から本番まで扱える基盤として案内されています。ただし条件分岐が多い処理では画面が急速に膨らみます。
何ができますか
処理の組み立て、検索を組み合わせた仕組み、エージェント、モデルの管理、動きの記録などが挙げられています。
モデルは選べますか
多くの提供元のモデルに対応しているとされています。自前で動かしているものも含みます。
条件が多い処理はどうすればよいですか
条件の組み合わせを画面に全部並べず、判定をひとまとまりの部品に切り出すのが現実的です。

まとめ

  • Difyは画面上で処理を組み立てる基盤
  • 条件5個で画面のノードは63個まで増える
  • 条件を1つ足すごとに増えるノードは4個、8個、16個、32個
  • 画面で組む範囲は条件の数で決める

今日から始められること

  1. 組みたい処理の中で、条件分岐がいくつあるかを数える
  2. 3個を超えるなら、判定をひとまとまりに切り出せないか考える
  3. 切り出せない部分だけを画面に並べる
  4. 画面のノード数を定期的に数え、膨らんでいないか確認する

実務で組んだDifyのワークフローには、値段が付きます

同じ課題を持つ会社にとって、動いている設定は「作る時間」を買えるということです。ServiceDockは自作のワークフローやテンプレートを出品できるマーケットプレイスです。手数料や出品の流れは出品者向けページにまとまっています。

出品の仕組みを見る