2025年6月23日のアップデートで、n8nに新ノード
「Model Selector(モデルセレクター)」
が登場しました!
このノードを使うと、複数のAIモデルを効率的に使い分けることができます。
たとえば
「簡単な作業は軽いモデルで」
「重要な判断は高性能なモデルで」
こんなことが可能になります。
この記事では、まずモデルセレクターがどんなことができるノードなのかを解説します。
そのあと、実際にモデルセレクターを活用したワークフローを作る方法を、ステップごとに紹介していきます。
n8nの新機能「モデルセレクター」とは?
はじめに、モデルセレクターがどんな機能なのかを解説します。
タスクの内容によって任せる生成AIを変えられる
モデルセレクターとは、一言でいえば
「タスクの内容によって任せる生成AIを変えられる機能」
です。
今はたくさんの種類の生成AIがあります。
その中から
- Aのタスクだったとき → OpenAI(ChatGPT)に任せる
- Bのタスクだったとき → Claudeに任せる
- Cのタスクだったとき → Geminiに任せる
- Dのタスクだったとき → Grokに任せる
モデルセレクターを使えば、こんな風にタスクの内容によって任せる生成AIを変えられるのです。
変えられるのは生成AIの種類だけではありません。
OpenAIやGeminiにはたくさんのモデルが用意されています。
モデルセレクターなら生成AIのモデルも指定できます。
だから、以下のようにタスクによってモデルを適切に変更することも可能です。
- 簡単なタスク → APIの消費量が少ないモデル
- とても複雑なタスク → 複雑な作業が得意なモデル
下の画像は私が作ったワークフローです。
Googleの生成AI「Gemini」が4つ横並びになっていますね。
こんな風に生成AIを並列に配置し、タスクの内容によって適切に振り分けられるのです。
モデルセレクターは中上級者向け機能
次は、モデルセレクターはどんな時に使えるかを箇条書きで紹介します。
- 連携してる生成AIのAPI消費量を減らしたい
- 生成AIによるアウトプットを最大化したい
色々な使い方があるのですが、突き詰めると、このような使い道になります。
ただ、生成AIやそれぞれのモデルごとの機能や特徴について詳しくないとモデルセレクターは使いこなせません。
よって、中・上級者向けの機能だといえます。
モデルセレクターが使えるのはn8nバージョン1.100.0以上
補足としてお伝えしておくと、モデルセレクターが使えるのはn8n@1.100.0以上のバージョンのみです。
下の画像はn8nのリリースノートです。
セルフホストしている場合、1.100.0以上にアップデートしないとモデルセレクターは使えませんので注意してください。
モデルセレクターを活用したn8nワークフローの作り方
ここからは、モデルセレクターを活用したn8nワークフローの作り方を紹介します。
作るのは、以下のシンプルな流れのワークフローです。
- ユーザーがチャットに質問を入力する
- 生成AIがチャットの内容を分析&分類する
- 分類結果に応じてモデルセレクターがタスクの振り分け先を選択する
- モデルセレクターに選ばれた生成AIが回答する
ワークフローの全体像はこちら↓
シンプルなので、5分もかからない内に作れると思います!
それでは、作り方を順番に解説していきます。
STEP① ユーザーがチャットを入力できるようにする
はじめに、ワークフローに「Chat Triggerノード」を追加します。
これにより、ユーザーがチャットで質問を入力できるようになります。
以下の流れでChat Triggerノードを設定してください。
- 「Add first step」をクリック
- ノード検索窓に「Chat Trigger」と入力
- 「Chat Trigger」をクリック
STEP② チャットの内容を分析して振り分ける
次に、ユーザーが入力したチャットの内容を分析し、その内容に合ったラベルをつけます。
このラベルは、どの生成AIに処理を任せるかを判断するための目印になります。
チャットの内容を分析して振り分ける役割は
「Basic LLM Chainノード」
に任せます。
STEP①で追加したChat Triggerノードの横に、Basic LLM Chainノードを追加してください。
追加したら、Basic LLM Chainノードに生成AIを追加します。
ノードの下にある「Model」をクリックし、生成AIを追加してください。
どの生成AIでもOKですが、ここではGoogleのGeminiを選びます。
追加したら、Geminiへの指示内容をプロンプトで設定します。
Basic LLM Chainノードをクリックしてください。
次は設定画面の
「Chat Messages (if Using a Chat Model)」
という項目の下にある
「Add prompt」
をクリック。
クリックしたら「Message」の部分に以下のプロンプトを入力してください。
あなたのタスクは、入力されたテキストを内容を分析・分類することです。
出力として以下のように返す必要があります。
- 要約に関するリクエスト:summary
- 推論に関するリクエストの場合:reasoning
- 一般的な内容だった場合:other
- 分類できない場合:notmatch
このプロンプトを追加することで、Chat Triggerノードに入力された内容をAIが分析し、以下の4つのうちどれかで返してくれるようになります。
- summary
- reasoning
- other
- notmatch
下の動画を参考にして設定してみてください。
これでSTEP②は完了です!
STEP③ AIエージェントにモデルセレクターを追加する
いよいよ本題のモデルセレクターの登場です。
モデルセレクターはAIエージェントノードに紐づくノードです。
なので、まずはAIエージェントノードを追加します。
Basic LLM Chainノードの横にAIエージェントノードを追加したら、ノード内にある
「Source for Prompt (User Message)」
を
「Define below」
にします。
そして、
「Prompt (User Message)」
という項目の内容を変えます。
具体的には以下のJSONを入力してください。
{{ $('When chat message received').item.json.chatInput }}
これにより、AIエージェントノードがチャットに入力された内容を読み込むようになります。
次はAIエージェントノードにモデルセレクターを追加します。
下の画像を参考にして追加してください。
モデルセレクターを追加したら設定画面に移動します。
そこに
「Number of Inputs」
という項目があるはずです。
ここではモデルセレクターに紐づける生成AIの数を決めます。
ここでは「4」と入力します。
入力したら、4つの生成AIを追加してください(ノードはコピペ可能です)。
この記事では4つのGeminiを追加しました。
追加した生成AIには数字が振り分けられており、一番左からModel1〜Model4となります(モデルセレクターノードの下部で確認できます)。
下の画像のように、ノードの名称に担当してるタスクを入れておくとわかりやすいと思います。
STEP④ モデルセレクターの振り分け設定をする
最後にモデルセレクターの振り分け設定をしましょう。
「チャットの内容が〇〇だったら、この生成AIに渡す」
という設定を4回繰り返します。
モデルセレクターは自動で適切なAIを判定する機能はありません。
よって、人が
「こういう時は、このAIに依頼する」
という風に指示をします。
モデルセレクターノードをクリックすると「Rule」という項目があり、その下に「Model1」と書かれた箇所があります。
ここがModel1の設定部分です。
「Conditions」という項目があるので
{{ $json.text }}
is equal to
summary
となるように設定してください(下の画像を参考)。
「Add Rule(上の画像の一番下にあるボタン)」をクリックするとModelを追加できます。
クリックし、Model2〜4を追加してください。
STEP②で振り分けてルールに沿って指定するので、残りは以下の3つです。
- reasoning
- other
- notmatch
設定が完了したらSaveし、チャットで何か質問してみてください。
設定に問題がなければ、以下のようにチャットの内容に応じて適切なAIに振り分けられます。
モデルセレクターノードの作り方に関する解説は以上です。
当サイトではn8nの最新機能を随時解説してますので、ぜひ定期的にチェックしてください!
