
皆さんこんにちは。生成AI協会(GAIS)のエバンジェリスト森です。不定期連載「生成AI最近のおすすめ」シリーズですが、初回に取り上げたのは「Dify」でしたね。プログラムせずに生成AIアプリを作れるノーコードツールで、「生成AI使って自社専用チャットを作りたい」なんて場面で大活躍します。
GAISでは2025年10月現在、週に1度生成AI関連のニュースを自動的に収集、記事として投稿していますが、この投稿もDifyを使って作っております。この生成AI関連のノーコードツールですが、他にも有名どころとして「n8n」というプロダクトも存在しています。同じことが「n8n」でもできるんじゃなかろうかと思いまして、「Dify」と比較がてらこの「n8n」でも処理を作成、紹介してみたいと思います。

クラウド利用 or 環境構築?
「Dify」でもクラウドの利用と、自前で環境構築する方法が選べますが、n8nでも同様に選択することができます。クラウド利用であれば、環境構築することなく、アカウントを取得すればすぐにでも利用することが可能です。環境のバージョンアップも気にする必要がないので、最新版をまずは試してみたいというレベルであればクラウドを利用するのも良いでしょう。執筆時点では「n8n」のクラウド版は無料のコースはないものの14日間の無料トライアルが可能です。対して「Dify」では機能は限定されるものの無料で使い続けるプランも存在しています。

出典:「n8n」 https://n8n.io/pricing/
n8n のプランには無料はないが14日のトライアルが可能

出典:「dify」https://dify.ai/jp/pricing
difyは無料のプランが存在する
業務利用をお考えの方であれば、データの流出をできるだけ抑えたい、もしくは機能制限無く使いたいと自社環境の方で検討される方も多いのではないでしょうか?「Dify」ではDockerで構築、ソースからデプロイで構築などが選択できましたが、「n8n」でも複数の方法で環境構築が可能です。公式ドキュメントにDockerでの構築方法が掲載されているので、こちらを参考にすれば構築できるはずです。自分だけで使う、もしくは数人であればDocker Desktopを使って構築するのが一番簡単でしょう。独自ドメインを使って自社用に構築をお考えであれば、Docker Composeでの構築が合っていそうです。その他、AWSやAzure等のプライベートクラウド環境での構築方法も掲載されていましたので、ご参考に。

処理を作ってみる
さて処理の中身についてですが、今回は前述のとおり、ネットで情報を収集、生成AIのニュース記事を作成するというものを作ってみたいと思います。
「Dify」で手間取った点
すでに稼働している「Dify」で作成したものがあるので、そちらと大きく異なることはないだろうと考えて作成を始めました。

実際動いている「Dify」のワークフローは上記のものです。Google検索して記事をLLMでまとめ、記事用のフリー画像を取得し、投稿するという流れになっています。
「Dify」を使ったワークフローを作成して手間取った点は大きく2つ。1つ目は「Dify」には週に1度動かすようないわゆる「トリガー」機能はないため、外部から起動する他ありません。2つ目は記事投稿のために画像をBASE64化してアップロードする必要があったのですが、この機能が見つけられず、Pythonのコードを直接書くコンポーネントを利用しました。
「n8n」でワークフローを作成
さて、同じような処理を「n8n」で作成してみました。いろいろ試行錯誤しつつ出来上がったワークフローがこちら。

パッと見で、Difyに比べてアイコンの数が多そうですよね。実際作ってみると「Dify」に慣れていたのもあって、戸惑いました。考え方がだいぶプログラム寄りの作りになっています。次のコンポーネントに渡す値もプログラムで言うところの「型」を意識する必要があったりするので変換を入れたりした結果多くなっていった感じです。そもそもUI画面は英語から変更できないようでした。
トリガーは便利
もちろん「n8n」のほうが良かった点もあります。それがトリガーが普通に使えるところ。今回使いたかったスケジュール実行も当然可能ですし、Webhookとして動かすことや、チャットからの起動も可能です。多くのサービスにも対応しておりSlackやBOXなどのトリガーもあります。

プログラマー寄り
前述のように型を意識したり、プログラム寄りの作りになっています。例えばGoogleからの検索結果から、各種メタ情報を省いて記事情報を取り出したかったのですが必要だった設定がこちら。

左の検索結果のツリー構造から必要な部分を抜き出し出力しています。必要箇所を中央の設定にドラッグして設定することが可能ですが、ちょっとした加工をしたければ「{{ $json.~~~ }}」部分を弄る必要があるので、普段コードを一切見ていない人には抵抗あるかもしれません。わかっている人ならさらっとやりたいことがかけるメリットにもなりますけどね。
AI部分の設定
「Dify」では「LLM」の設定はあらかじめAPIキーを設定したものからプルダウンで選ぶ形式が取られています。キーの設定をしておけば切り替えたくなってもすぐに変えられます。自社用チャットでRAGの仕組みを構築するのであれば、ベクターストアへの検索とLLMのコンポーネントは分けて設定します。
「n8n」では同じように分けて設定することも可能ですが、「AI Agent」のコンポーネントでまとめて細かく設定することができます。

プロンプトを入れる部分があるのは想像つくでしょうが、下の方に「Chat Model」「Memory」「Tool」の3つの設定が可能になっています。
「Chat Model」はLLMを指定します。こちらは「Dify」と同様にあらかじめ設定したものから選択していくイメージです。
「Memory」はChat利用された際に履歴を何件まで残して記憶するか、記憶に使うためのDBを選択したりなど細かく決めることができます。ユーザーに入力された履歴を術tえDBに入れておいて後で分析するなんて用途にも使えそうです。
最後の「Tool」はLLMが利用するツールを設定できます。ネット検索したければGoogleのツールを設定しておいたりもできますし、RAGのためのベクターストアもこちらで設定します。またMCPの設定も可能なので様々な連携で将来的な拡張も見込めます。ツールに関してはLLMの判断で利用するものが選択されるので、必ず行ってほしいロジックは別途設定したほうが良いかもしれません。
「n8n」は自動処理などAIエージェントに向いている
実際にワークフローを作ってみて「n8n」はAIエージェント作成に向いていると感じています。トリガーが豊富だったり、ツールとの連携の仕組みが揃っているため、人が使うチャットシステムではなく自動処理の方に主軸をおいているようです。対して最初から目的が自社用チャットの作成なのであれば「Dify」に軍配が上がりそうです。「Dify」はベクターストアの中身のチャンクを直接編集できますし、チャットの品質向上に地道な努力をする際にも便利に使えます。
n8n | Dify | |
ワークフローの考え方 | プログラム寄り | 業務フロー寄り |
向いているアプリ | AIエージェント・自動処理 | 自社用チャット |
それぞれ一長一短あるツールですが、目的をはっきりさせて選定する必要はあるでしょう。どちらも自社環境作成できますので、どちらも作っちゃうのも1つの手段かもしれませんけどね。