- Authors

- Name
- Youngju Kim
- @fjvbn20031
はじめに
AIエージェント時代の到来により、単純なチャットボットを超えた複雑な業務を自動化するワークフローが核心的な能力となっています。この記事では3つの強力なツールを深く掘り下げます。
- n8n -- オープンソースワークフロー自動化プラットフォーム
- Dify -- LLMアプリビルダープラットフォーム
- Mermaid -- コードで描くダイアグラムツール
各ツールの基本概念から実践活用まで、すぐに実践できる例題と共に説明します。
Part 1: n8n -- オープンソースワークフロー自動化
1. n8nとは?
n8n(ノードエイトエン)はオープンソースワークフロー自動化プラットフォームです。ZapierやMake(旧Integromat)と類似していますが、最大の差別化点はセルフホスティングが可能な点です。
| 項目 | 説明 |
|---|---|
| ライセンス | Fair-code(ソース公開、商用利用可能) |
| 統合数 | 400以上のサービス連携 |
| ホスティング | セルフホスティングまたはn8n Cloud |
| AI対応 | AI Agent、LLMチェーン、Toolノード内蔵 |
| UI | ノーコードビジュアルエディタ |
| カスタムコード | JavaScript/Pythonコードノード対応 |
n8nの強みはデータが自分のサーバーに留まることです。機密データを扱う企業で特に有用です。
2. インストール方法
Dockerでインストール(推奨)
docker run -it --rm \
--name n8n \
-p 5678:5678 \
-v n8n_data:/home/node/.n8n \
docker.n8n.io/n8nio/n8n
インストール後、ブラウザで http://localhost:5678 にアクセスします。
npxで素早く実行
npx n8n
3. AIエージェントワークフロー構成
n8nの2024-2025年最大のアップデートはAIエージェント機能です。LangChainベースで実装されており、ノーコードでAIエージェントを作れます。
AIエージェントの核心構成要素
AI Agentノードは、LLMモデル、Toolノード(Web検索、DB照会、API呼び出し、コード実行)、Memoryノード(Window Buffer Memory、Postgres Chat Memory、Redis Chat Memory)に接続します。
Toolノード構成
AIエージェントが外部世界と相互作用する方法がToolノードです。
主なToolノードの種類:
- SerpAPI / Google Search -- Web検索
- HTTP Request -- 外部API呼び出し
- Postgres / MySQL -- データベース照会
- Code(JavaScript/Python) -- カスタムロジック実行
- Calculator -- 数学演算
- Vector Store -- RAG用ベクトル検索
複数のToolを接続すると、AIエージェントが状況に応じて適切なツールを選択して使用します。
4. 実践例:メール自動分類AIエージェント
実務で有用なメール自動分類エージェントを作ってみましょう。
システムプロンプト
あなたはメール分類の専門家です。受信メールを分析し、以下のカテゴリのいずれかに分類してください:
1. URGENT -- 即座に確認が必要な緊急メール(障害通知、顧客苦情、契約関連)
2. NORMAL -- 一般的な業務メール(会議依頼、報告書、情報共有)
3. SPAM -- 広告、プロモーション、スパムメール
応答形式:
- category: 分類カテゴリ(URGENT、NORMAL、SPAMのいずれか)
- reason: 分類理由(一行説明)
- summary: メール要約(2〜3文)
Switchノードで分岐し、URGENTならSlack通知、NORMALならラベル追加、SPAMならゴミ箱へ移動します。
Part 2: Dify -- LLMアプリビルダー
5. Difyとは?
DifyはオープンソースLLMアプリ開発プラットフォームです。コード作成なしでAIアプリケーションを作成しデプロイできます。
| 項目 | 説明 |
|---|---|
| ライセンス | Apache 2.0(オープンソース) |
| アプリタイプ | Chatbot、Text Generator、Agent、Workflow |
| RAG対応 | Knowledge Base内蔵(ベクトル検索) |
| モデル対応 | OpenAI、Anthropic、Hugging Face、Ollama等 |
| デプロイ | Dockerセルフホスティングまたは Dify Cloud |
| API | RESTful API自動生成 |
Difyインストール(Docker Compose)
git clone https://github.com/langgenius/dify.git
cd dify/docker
cp .env.example .env
docker compose up -d
6. 主要機能
Chatbotモード
対話型AIアプリを作成できます。プロンプト設定、モデル選択、変数定義だけで完成します。
Agentモード
DifyのAgentモードはLLMがツール(Tool)を使って複雑な作業を実行できるようにします。内蔵ツールにはWeb検索、Wikipedia、DALL-E、天気、株価、数学計算、Webスクレイピング、カスタムAPIツールがあります。
Workflowモード
複雑なロジックを視覚的フローチャートで構成できます。条件分岐、繰り返し、並列処理をサポートし、各ステップで異なるLLMモデルを使用することもできます。
7. RAGパイプライン構成
RAG(Retrieval-Augmented Generation)はDifyの核心機能です。
Knowledge Base設定
- ドキュメントアップロード:PDF、TXT、Markdown、HTML、DOCX対応
- チャンク設定:チャンクサイズ(デフォルト500トークン)、オーバーラップ(デフォルト50トークン)
- 埋め込みモデル選択:OpenAI text-embedding-3-small、Cohere、ローカルモデル
- ベクトルDB:Weaviate、Qdrant、Milvus、PGVector対応
8. Dify vs LangChain vs n8n比較
| 基準 | Dify | LangChain | n8n |
|---|---|---|---|
| タイプ | LLMアプリビルダー | LLMフレームワーク | ワークフロー自動化 |
| インターフェース | Web UI(ノーコード) | コード(Python/JS) | Web UI(ノーコード) |
| RAG対応 | 内蔵(Knowledge Base) | コードで実装 | ベクトルストアノード |
| 統合数 | 限定的(API中心) | 広大なエコシステム | 400以上のサービス |
| 適した対象 | 高速AIアプリプロトタイピング | 深いカスタマイズが必要な時 | サービス間連携自動化 |
おすすめシナリオ:
- Dify -- 素早くRAGチャットボットやAIアプリを作りたい時
- LangChain -- 複雑なAIパイプラインをコードで精密に制御したい時
- n8n -- AIを含む多様なサービス間の連携自動化が必要な時
3つのツールを一緒に使うのも良い戦略です。
Part 3: Mermaid -- コードで描くダイアグラム
9. Mermaid文法基礎
Mermaidはテキストベースのダイアグラムツールです。コードを書くと自動的にダイアグラムがレンダリングされます。
Mermaidの利点:
- コード管理なので**バージョン管理(Git)**可能
- GitHub、GitLab、Notion、Obsidianなどでネイティブサポート
- 別途ツールインストール不要でMarkdown内で即時レンダリング
- AIがダイアグラムを自動生成可能
対応ダイアグラムタイプ
| タイプ | キーワード | 用途 |
|---|---|---|
| フローチャート | flowchart / graph | プロセスフロー |
| シーケンス図 | sequenceDiagram | API呼び出しフロー |
| クラス図 | classDiagram | オブジェクト設計 |
| 状態図 | stateDiagram-v2 | 状態遷移 |
| ER図 | erDiagram | データベース設計 |
| ガントチャート | gantt | プロジェクトスケジュール |
| 円グラフ | pie | 割合の視覚化 |
| マインドマップ | mindmap | コンセプト整理 |
10. ダイアグラムタイプ別例
フローチャート
最も基本的でよく使われるダイアグラムです。
flowchart TD
A[コード作成] --> B{テスト通過?}
B -->|Yes| C[コードレビュー]
B -->|No| D[バグ修正]
D --> A
C --> E{レビュー承認?}
E -->|Yes| F[メインブランチマージ]
E -->|No| G[修正事項反映]
G --> C
F --> H[デプロイ]
シーケンス図
API呼び出しフローやシステム間の相互作用を表現します。
ER図
データベーステーブル構造と関係を表現します。
ガントチャート
プロジェクトのスケジュールと進捗状況を表現します。
11. 実践活用:様々な環境でMermaidを使う
GitHub
GitHubはMarkdownファイル、Issue、PRでMermaidをネイティブサポートしています。
Notion
Notionでは /mermaid コマンドでMermaidブロックを挿入できます。
VS Code
Markdown Preview Mermaid Support拡張機能をインストールすると、Markdownプレビューでリアルタイムにダイアグラムを確認できます。
Mermaid Live Editor
ブラウザで https://mermaid.live にアクセスするとオンラインエディタを使用できます。リアルタイムプレビューとPNG、SVGエクスポートに対応しています。
3つのツールを一緒に活用するシナリオ
シナリオ:AIベースの技術ブログ自動生成パイプライン
- n8nがRSSフィードから新しい技術記事を検知
- Dify Agentが原文を読み核心内容を要約
- Dify Workflowが要約内容をもとにMermaidダイアグラムコードを生成
- n8n CodeノードでMermaidをSVGにレンダリング
- n8nがMarkdownブログポストを組み立てGitHubにPRを作成
- すべての過程が終わるとSlackで通知
ヒントとベストプラクティス
n8nのヒント
- エラーハンドリング:Error Triggerノードを活用してワークフロー失敗時に通知を受ける
- 環境変数:機密情報(APIキー等)は環境変数で管理する
- Webhookセキュリティ:Webhookエンドポイントには認証ヘッダー検証を追加する
Difyのヒント
- プロンプトバージョン管理:Difyはプロンプト変更履歴を自動保存する
- モデルフォールバック:主モデル失敗時に代替モデルへの自動切り替え設定が可能
- チャンク最適化:RAG性能はチャンクサイズとオーバーラップ設定に大きく依存する
- APIデプロイ:Difyは自動的にREST APIを生成するので外部サービスから簡単に呼び出せる
Mermaidのヒント
- テーマ設定:initディレクティブでダイアグラムテーマを変更できる
- スタイリング:ノードごとにCSSクラスを適用できる
- 大きなダイアグラムの分割:大きすぎるダイアグラムは複数に分割すると可読性が向上する
- アクセシビリティ:ダイアグラムと共にテキスト説明を含めるとアクセシビリティが向上する
おわりに
n8n、Dify、Mermaidはそれぞれ異なる領域で強力なツールですが、一緒に使うとAIベースの業務自動化の完全なパイプラインを構築できます。
- n8nでトリガー、連携、自動化のバックボーンを構成し
- DifyでAIの頭脳の役割をするLLMアプリを作り
- Mermaidでシステム構造とフローをドキュメント化します
3つのツールすべてがオープンソースでセルフホスティングが可能なため、データ主権とコスト削減が重要な環境で特に有用です。
今すぐDockerでn8nとDifyをインストールし、Mermaidで最初のダイアグラムを描いてみてください。