Dify 完全ガイド【エンジニア編】— Claude 4接続・Dockerセルフホスト・外部API統合まで【2026年版】

Dify 完全ガイド【エンジニア編】— Claude 4接続・Dockerセルフホスト・外部API統合まで【2026年版】

DifyをClaudeモデルで使う方法をエンジニア向けに解説。クラウド版vsDockerセルフホストの選び方、Claude 4の接続設定、MCP連携、既存アプリへのAPI統合、フリーランスが顧客にDifyで納品する実践フローまで。

エンジニアのゆとです。

Difyという名前は聞いたことがあっても、「ChatGPTっぽいUI作れるやつ」くらいの認識のまま素通りしていた。ちゃんと触ってみたら、チャットボット以上に「AIバックエンドのミドルウェア」として使えるツールだとわかった。

この記事ではエンジニア視点で、Difyをどう使うか・どこに使うべきかを整理する。


Difyとは(エンジニア向け3行サマリー)

  • LLM(Claude/GPT-4o/Gemini等)を使ったアプリを作るためのOSSプラットフォーム
  • チャットボット・テキスト生成・エージェント・ワークフローをビジュアルエディタで構築
  • クラウド版(dify.ai)とセルフホスト版(Docker)の両方で使える

GitHubスター数は80,000超(2026年時点)で、OSS系AIツールの中でも人気が高い部類だ。


クラウド版 vs Dockerセルフホスト

最初にどちらを使うか選ぶ必要がある。

クラウド版(dify.ai)Dockerセルフホスト
セットアップアカウント登録だけDocker環境が必要
料金無料〜$59/月インフラ費用のみ
データの保管場所Difyのサーバー自分のサーバー
カスタマイズ性低い高い(コード変更可能)
向いてる用途個人・プロトタイプ本番・機密データを扱う案件

個人での検証やプロトタイプ作成はクラウド版、顧客データを扱う業務システムや本番環境はDockerセルフホストが基本的な判断軸になる。

Dockerセルフホストの手順

# リポジトリをクローン
git clone https://github.com/langgenius/dify.git
cd dify/docker

# 環境変数ファイルをコピー
cp .env.example .env

# 起動
docker compose up -d

これだけでlocalhost:80でDifyが起動する。初回起動後にブラウザで管理者アカウントを作成する。

PostgreSQL・Redis・Weaviateがそれぞれコンテナで起動するので、メモリは最低8GB推奨。Mac miniや小さめのVPSでも動くが、最低限の要件を確認してから試す。

本番環境でのSSL設定

セルフホストを本番で使う場合、nginx + Let’s Encrypt でHTTPS化が必要。dify/docker/nginx/ 配下にnginx設定のテンプレートがあるので参考にする。HTTPのまま本番に出すのは避けること。


Claude 4をDifyで使う設定

DifyはデフォルトではモデルのAPIキーが設定されていない。Claudeを使うには以下の手順。

設定手順

  1. Difyダッシュボード右上の「設定」→「モデルプロバイダー」
  2. 「Anthropic」を選択
  3. Anthropic APIキーを入力して保存

設定後、アプリ作成時のモデル選択でClaudeが選べるようになる。

使えるモデル(2026年時点)

モデル用途
claude-sonnet-4-5バランス型。日常的な業務処理に
claude-opus-4-5高品質が必要な場合(コスト高め)
claude-haiku-3-5高速・低コスト。シンプルな処理に

Difyのモデル選択画面では表示名が変わっている場合があるので、モデルIDで確認すること。古いモデル(claude-2等)は廃止されているので注意。


Difyで作れる4種類のアプリ

1. チャットボット

LLMとの対話型UIを作る最もシンプルな形式。システムプロンプトを設定してURLを発行すれば、ブラウザから使えるチャットボットが完成する。

業務用途例:

  • 社内FAQ対応ボット(ナレッジベースと組み合わせ)
  • 顧客向けサポートチャット

2. テキスト生成

フォーム入力を受け取ってテキストを生成する形式。「要件を入力したら議事録のテンプレートを作る」系のツールに向いている。

3. エージェント

ツールを自律的に呼び出しながら目標を達成するモード。後述のMCP連携と組み合わせると強力。

4. ワークフロー

複数のステップを順番に実行する。「Webサイトをスクレイピング → 要約 → 翻訳 → Slackに送信」のような複数処理のパイプラインを作れる。

エンジニアが最も活用できるのはワークフローとエージェント

チャットボットはUIとして便利だが、既存のWebアプリにDifyを組み込む場合はAPIモードで使うことが多い。その場合、ワークフローとエージェントの形式が最も柔軟に使える。


ナレッジ(RAG)機能の使い方

Difyには独自のナレッジベース機能があり、ドキュメントをアップロードするとRAG(Retrieval-Augmented Generation)が設定できる。

手順

  1. 「ナレッジ」→「作成」
  2. PDFやMarkdownをアップロード(またはNotionやGitHubから取得)
  3. チャンク分割の設定(デフォルトで問題ない場合が多い)
  4. インデックス構築(時間がかかる場合あり)
  5. アプリのシステムプロンプトでナレッジベースを参照する設定を追加

製品マニュアル・仕様書・FAQをナレッジベースに入れて、それを参照するチャットボットを作るのがよくあるユースケース。


MCP連携(2026年の新機能)

Dify 1.0以降でMCP(Model Context Protocol)サーバーとの連携が可能になった。

設定方法:

  1. 「設定」→「Model Context Protocol」
  2. MCPサーバーのコマンドと引数を入力
  3. エージェントモードのアプリでMCPツールが使えるようになる

例えばBrave Search MCPサーバーを追加すれば、DifyのエージェントがリアルタイムでWeb検索できるようになる。GitHub MCPを追加すれば、チャットからGitHubのissueを操作できる。

{
  "command": "npx",
  "args": ["-y", "@modelcontextprotocol/server-brave-search"],
  "env": {
    "BRAVE_API_KEY": "your-api-key"
  }
}

Claude CodeのMCPと同じ設定形式なので、CC用に設定したMCPサーバーをDifyでも使えるケースが多い。


既存アプリへのAPI統合

Difyで作ったアプリはAPIとして外部から呼び出せる。これがエンジニア的に一番使い道のある機能だ。

APIの呼び出し方

import httpx

DIFY_API_KEY = "app-xxxxxxxxxxxx"
DIFY_API_URL = "https://api.dify.ai/v1"  # セルフホストなら自分のURL

def chat_with_dify(message: str, conversation_id: str = "") -> dict:
    """Difyのチャットアプリを外部から呼び出す"""
    response = httpx.post(
        f"{DIFY_API_URL}/chat-messages",
        headers={
            "Authorization": f"Bearer {DIFY_API_KEY}",
            "Content-Type": "application/json"
        },
        json={
            "inputs": {},
            "query": message,
            "response_mode": "blocking",
            "conversation_id": conversation_id,
            "user": "user-001"
        }
    )
    return response.json()

result = chat_with_dify("在庫管理システムの仕様書を要約して")
print(result["answer"])
print(result["conversation_id"])  # 次の呼び出しで使う

ストリーミングレスポンスが必要な場合はresponse_mode: "streaming"を使う。

ワークフローの呼び出し

def run_dify_workflow(inputs: dict) -> str:
    """Difyのワークフローを実行"""
    response = httpx.post(
        f"{DIFY_API_URL}/workflows/run",
        headers={"Authorization": f"Bearer {DIFY_API_KEY}"},
        json={
            "inputs": inputs,
            "response_mode": "blocking",
            "user": "user-001"
        }
    )
    result = response.json()
    return result["data"]["outputs"]

フリーランスがDifyで納品する実践フロー

クライアントに「AIチャットボットを作ってほしい」と言われたとき、Difyをバックエンドにする構成が使いやすい。

ケース: 中小企業向け社内問い合わせBot
  1. 要件整理: 対応範囲(在庫・人事・経費)、社内ドキュメントの場所
  2. DifyにRAGセットアップ: 社内マニュアルPDFをナレッジベースに投入
  3. システムプロンプト調整: 「〇〇会社のAIアシスタント」としての人格設定
  4. テスト: 典型的な質問10件を試して精度確認
  5. Web埋め込み or API提供: DifyのiFrameをイントラネットに埋め込む、またはAPI経由で既存社内システムに統合
  6. ドキュメント納品: 管理者がナレッジベースを更新する手順書を渡す

実装費用の目安として、設計・構築・テストで2〜3日程度。セルフホストサーバーのランニングコストは月数千円。Claudeの実行コストは利用量次第だがRAGの問い合わせなら1回あたり数円程度。

アフィリ商材としてのDify

DifyはOSSなので直接のアフィリプログラムはない。ただしDifyで使うサーバーのホスティング(AWS/GCP/VPS)や、DifyにつなぐClaudeのAPIキーを顧客が自分で契約するフローにする場合、それぞれのアフィリを経由してもらう構成は取れる。


他ツールとの比較

ツール特徴向いてる用途
DifyOSSでセルフホスト可、RAG標準搭載業務システム統合、社内ツール
MindStudioノーコード重視、200モデル対応素早いプロトタイプ、個人ツール
n8nワークフロー自動化特化API連携・定期実行・Webhook処理
LangChain (Python)フルコード実装、最高の柔軟性複雑な本番エージェントシステム

Difyの強みは「エンジニア不在のチームでも使えるUI」と「セルフホストによるデータ主権」の両立だ。n8nと比べるとAIネイティブ、LangChainと比べるとノーコード寄り、MindStudioと比べるとセルフホストが強い。


まとめ

Difyをエンジニア的に使うなら:

  1. プロトタイプはクラウド版で即日試す
  2. 本番・機密データはDockerセルフホスト
  3. Claudeとの接続はモデルプロバイダー設定でAPIキーを登録
  4. 外部アプリ統合はDify APIを呼び出す
  5. MCP連携でエージェントの能力を拡張

「チャットボット以上のAIシステム」を顧客向けに作るとき、Difyはプロジェクトの最初のブロックとして使いやすい選択肢だ。自分でPython実装に移行するとしても、Difyでプロトタイプを作ってから移行した方が要件の整理が進む。


関連記事

← 記事一覧に戻る