目次
はじめに
Difyをご利用・ご検討中の皆さん、いかがお過ごしでしょうか?
ディーネットのよろず請負人、深見です。
先日、Dify v1.16.0-rc1 のリリース情報をお伝えしましたが、この度は v1.16.0 が正式リリースされましたので、その情報をお届けします。今回は特に注目すべき Dify Agent(Open Beta)の導入をはじめ、様々な機能強化やバグ修正、セキュリティ改善が盛り込まれています。
では、詳しく見ていきましょう。
Dify v1.16.0 リリースノート
Difyの最新バージョンv1.16.0がリリースされました!今回のリリースでは、特に新しいエージェント機能の導入、AIワークフローの強化、Webアプリのカスタマイズ性向上、そして多数のバグ修正とセキュリティ改善が施されています。Difyを普段利用されている方はもちろん、これからDifyの活用を検討されている方にとっても見逃せない内容です。
What’s Changed
1. Dify Agent (Beta) の導入:次世代エージェント体験
Dify Agentがベータ版として登場しました。これは、シェルベースのLLMエージェントパラダイムを取り入れ、エージェントの能力を大幅に向上させるものです。Skills機能と組み合わせることで、より強力なエージェントを構築できるようになります。
- Dify Agentの作成ビルダー: UIを通じてDify Agentを構築できます。ベースプロンプトの設定、スキルやファイルのアップロード、Difyエコシステムからのツールやナレッジの接続が可能です。会話を通じてLinuxサンドボックス環境の構成、必要なパッケージのインストール、新しいスキルやファイルの作成をサポートするエージェントも提供されます。
- Dify Workflowとの統合: 既存のDify AgentをDify Workflow内で利用したり、一時的にインラインのDify Agentを作成したりできます。これにより、ワークフローノードで定義されたタスクを実行し、必要な出力を生成して次のノードに渡すことが可能になります。
- 新しいWebアプリ体験: 構築したDify AgentはWebアプリとして公開・利用できます。ユーザーエクスペリエンスは既存のものと変わりませんが、Dify Agentによって強化されています。
ドキュメント: https://docs.dify.ai/en/self-host/use-dify/build/new-agent/overview
⚠️ 注意: 現時点の実験的リリースでは、すべてのDify Agentが同一サンドボックス上で動作します。通常時は各Dify Agentが自身の環境で干渉なく動作しますが、簡単な指示によって他のDify Agentの環境やデータ(ユーザーデータを含む)に影響を及ぼせてしまう可能性があります。厳密な分離は将来のリリースで実装される予定です。信頼できる、悪意のないユーザーにのみDify Agentサービスを提供するようにしてください。
2. OpenAI GPT-5.6 互換性に関する注意喚起 (⚠️ 要対応)
OpenAIプラグインのデフォルトAPIタイプが、非推奨となった「Chat Completions」から「Responses」に変更されました。新しくリリースされたGPT-5.6ファミリーは、Chat Completionsに対して特有のパラメータ制限があり、OpenAI側がChat Completionsへの互換性サポートを最小限にしか提供していないことが理由です(Dify側の不具合ではありません)。以前にカスタムOpenAI APIキーを「Chat Completions」で保存していた場合、新しいGPT-5.6以降のモデルを使用する際に予期せぬエラーが発生する可能性があります。
対応策: カスタムOpenAI APIキーを設定している場合は、APIタイプの設定を確認し、「Chat Completions」から「Responses」に切り替えてください。
3. 新機能 (New Features)
- Agent App (Open Beta): 前述のDify Agentがオープンベータとして全てのユーザーにデフォルトで有効化されました。コード実行とシェルコマンドのための組み込みサンドボックス、ツールやAPIを呼び出すスキルシステム、ワークスペース全体でエージェントを管理・再利用するためのエージェント名簿、ワークフローエージェントノードからの新しいエージェント参照のサポートが含まれます。
- Smarter AI Workflow Generation:
⌘K → /createおよび/refineAIワークフロージェネレーターがエンドツーエンドで強化されました。「Ideal output」フィールドが削除され、ワークスペースのコンテキストに基づいたAI生成の提案に置き換えられました。また、ノード構成の生成が並列化され、結果がより高速に表示されます。長時間実行される生成がハングアップするのを防ぐために、設定可能なタイムアウト(WORKFLOW_GENERATION_TIMEOUT_MS、デフォルト180秒)が追加されました。 - MCP Protocol Upgrade: ワークフローをMCPサーバーとして利用する際、バージョンネゴシエーションと構造化されたツール出力を備えたMCPプロトコル2025-06-18をサポートするようになりました。古いクライアントとの後方互換性も維持されています。MCPClient接続は、プレースホルダー(例:
{{request.headers.X-Custom-Auth}})を使用して動的なHTTPリクエストヘッダーを実行時に挿入できるようになり、リクエストごとの認証パススルーが可能になりました。 - Web App Customization: アプリオーナーは、チャットボット、エージェント、チャットフローのWebアプリのチャット入力プレースホルダーテキスト(最大64文字)をカスタマイズできるようになりました。カスタマイズUIは「Custom Frontend」/「Branding」というより明確な名前と改善されたラベル処理で洗練されています。アプリの説明はチャットとテキスト生成アプリ画面に表示されるようになり、入力フォームが画面外に押し出されるのを防ぐために折りたたみ可能なビューが追加されました。
- Workflow Reliability & Operations: ワークフロー実行アーカイブをエクスポートできるようになりました。また、Celeryのウォームシャットダウン中にアクティブな実行が適切に中止され、孤立したタスクを防ぎます。Redis接続はTCPキープアライブサポートと拡張された再試行カバレッジにより、より回復力が高くなりました。モデルプロバイダーは、プロバイダー側のコスト帰属のために
app_idを受け取るようになりました(例:BedrockrequestMetadata、OpenAImetadata、Vertex AIlabels)。OAuthおよびSSOログインフローは、リダイレクトURLをより確実に保持するようになり、SSO失敗時に専用のエラービューが表示されます。
4. バグ修正 (Bug Fixes)
多岐にわたるバグ修正が行われています。主なカテゴリは以下の通りです。
- Workflow & Agent: ワークフローのドラフトインポート、ノードの解決、再試行の可視性、HITL(Human-in-the-Loop)再開状態の復元に関する複数の問題が修正されました。SSEストリームの破損、エージェントの最終回答クリア、会話タイトルの上書き、知識検索の失敗がユーザーに伝わらない問題、組み込みテンプレートでのEnd output変数名の衝突も修正されています。
- Authentication & Access Control: ログイン後および認証リダイレクトフローにおけるオープンリダイレクトの脆弱性が修正されました。ログインリダイレクトが現在のデプロイメントに留まらない問題、認証プレフィックスの重複、メール変更が機能しない問題も修正されています。エディターの権限に関する問題(ログの表示、請求サブスクリプションのクエリ、メンバー管理の制限)も修正されました。
- Models & Plugins: カスタムモデルキャッシュが削除時にクリアされない問題、モデルプラグインのデバッグ失敗、Xinferenceの認証情報コンテキスト処理が修正されました。フォローアップモデルパラメータで最大トークンパラメータを無効にできない問題、プラグインプロバイダーキャッシュのスタンプ、マーケットプレイスのインストールコールバック、プラグインの権限設定も修正されています。
- Web & UI: アプリ作成、ノード検索フィールド入力、ワークスペースアバターの一貫性、ナビゲーションプロファイルの表示に関する問題が修正されました。Streamdownのフルスクリーンテーブルアクション、マーケットプレイスページのヘッダーの揺れ、インストールダイアログのアクセシビリティも改善されました。チャット添付ファイルがビューからスクロールアウトする問題、HITL入力保存ボタンの可視性、アプリカードメタオーバーフローも修正されています。監視チャートのゼロ値表示、メンバー招待状態の処理、ダークモードの背景、フォームフィールド名でのUnicode文字、Markdownファイルプレビューリンクのダウンロード、Notion同期の空の状態、CSP下でのブログUTM属性も修正されました。
- Other: バッチドキュメント削除での無限ループ、無効なUTF-8キャッシュペイロード、ドキュメントインデックスエラーが飲み込まれる問題が修正されました。PostgreSQL 18ネイティブの
uuidv7()サポートとADB-PG 7.0互換性も修正されています。CAN_REPLACE_LOGOのデフォルト値がtrueになる問題、execute_codeでのサポートされていない言語エラー、CLIの--insecureフラグがTLS検証をスキップしない問題も修正されました。
5. 改善 (Improvements)
- Performance: 高度なチャットワークフロー実行リストにおけるN+1クエリとTokenBufferMemoryメッセージファイル読み込みにおけるN+1クエリが解消されました。Viteプラグインの遅延読み込みとコンソール契約シャードにより、フロントエンドの起動が高速化されました。セットアップステータスのキャッシュ、Redisでの大きなプラグインモデルオブジェクトのzstd圧縮、直接外部キーを介した公開ワークフローの取得により、データベースの負荷が軽減されました。
- Architecture & Code Quality: 全てのコンソールAPIエンドポイントが
BaseModel付きの生成されたOpenAPI契約に移行され、フロントエンドのコンソール契約は生成されたルートと型に移行されました。一貫性とテスト容易性のために、バックエンドパス全体で明示的なデータベースセッションが伝播されました。レガシーなアプリコンテキストプロバイダーがフロントエンド全体でJotaiアトムに置き換えられました。TypeScript 7とVite+ツールチェーンにアップグレードされ、厳格なESLintルールが適用され、コントローラーでの新しい直接のSQLAlchemyが禁止されました。 - Security Enhancements: 複数のセキュリティ強化修正が含まれており、その一部は1.16.0-rc1リリース後に対応されました。
- SQLインジェクション: SQLインジェクションの脆弱性が閉じられ、メタデータキーの検証によりSQLクエリの安全性が強化されました。
- SSRF: APIツールスキーマ取得における生の
httpx.getを介したSSRFバイパスが修正されました。 - Open redirects: ログイン後および認証リダイレクトフローにおけるオープンリダイレクトが防止されました。
- Sandbox enforcement: Chatflow APIが
workflow_idとサンドボックスプランをチェックするようになり、サンドボックスプランは特別なワークフローを実行しません。 - Landlock protection: エージェントのHOMEディレクトリがLandlockで保護されました。より広範なカーネル互換性のためにv1にダウングレードされました。
- CVE依存関係のアップグレード:
httplib2,setuptools,wandb;python-engineio,python-socketio;fickling,pillow,clickがアップグレードされました。
6. 環境変数の変更 (Environment Variable Changes)
- 追加された変数:
AGENT_BACKEND_BASE_URL,AGENT_BACKEND_STREAM_READ_TIMEOUT_SECONDS,AGENT_BACKEND_STREAM_MAX_RECONNECTS,AGENT_BACKEND_RUN_TIMEOUT_SECONDS,API_WEBSOCKET_WORKER_AMOUNT,DIFY_AGENT_REDIS_URL,DIFY_AGENT_REDIS_PREFIX,DIFY_AGENT_SHUTDOWN_GRACE_SECONDS,DIFY_AGENT_RUN_RETENTION_SECONDS,DIFY_AGENT_PLUGIN_DAEMON_URL,DIFY_AGENT_PLUGIN_DAEMON_API_KEY,DIFY_AGENT_INNER_API_URL,DIFY_AGENT_INNER_API_KEY,DIFY_AGENT_SHELLCTL_ENTRYPOINT,DIFY_AGENT_SHELLCTL_AUTH_TOKEN,DIFY_AGENT_STUB_API_BASE_URL,DIFY_AGENT_SERVER_SECRET_KEY,DIFY_AGENT_SHELL_REDACT_PATTERNS,SHELLCTL_ENABLE_PATH_ISOLATION,NEW_USER_DEFAULT_PLUGIN_IDS,NEW_USER_DEFAULT_MODELS,WORKFLOW_GENERATION_TIMEOUT_MS,WORKFLOW_GENERATOR_NODE_BUILDER_MAX_WORKERS,REDIS_KEEPALIVE,REDIS_KEEPALIVE_IDLE,REDIS_KEEPALIVE_INTERVAL,REDIS_KEEPALIVE_COUNT,NEXT_PUBLIC_ENABLE_AGENT_V2 - 削除された変数:
ENABLE_AGENT_V2(NEXT_PUBLIC_ENABLE_AGENT_V2に置き換えられ、デフォルトでtrueになりました) - 変更された変数:
NEXT_PUBLIC_ENABLE_FEATURE_PREVIEW(旧falseから新trueへ)
7. Docker Composeの変更 (Docker Compose Changes)
- 新しいサービス:
agent_backend(langgenius/dify-agent-backend:1.16.0) とlocal_sandbox(langgenius/dify-agent-local-sandbox:1.16.0) が追加されました。 apiとworkerサービスがagent_backendに依存するようになりました。API_WEBSOCKET_WORKER_AMOUNTが設定可能になりました(以前は1にハードコードされていました)。WORKFLOW_GENERATION_TIMEOUT_MSがWebサービスに追加されました。
8. データベースマイグレーション (Database Migrations)
新しいデータベースマイグレーションが含まれています。コード更新後にflask db upgradeを実行する必要があります。
アップグレードガイド (Upgrade Guide)
重要事項:
- 新しいデータベースマイグレーションが含まれているため、アップグレードの一部としてデータベースマイグレーションを実行してください。
- 28個の新しい環境変数、1個の削除、1個の変更があります。環境変数の変更セクションを確認し、
.envファイルを適切に更新してください。 - Docker Composeの設定が大幅に変更され、2つの新しいサービス(
agent_backend、local_sandbox)が追加されました。カスタマイズされたdocker-compose.yamlを維持している場合は、変更点を確認し、ローカルのカスタマイズを慎重に再適用してください。 DIFY_AGENT_SERVER_SECRET_KEYは開発用のデフォルト値で提供されます。本番環境では、python -c 'import secrets; print(secrets.token_urlsafe(32))'で安全に生成されたキーに置き換える必要があります。ENABLE_AGENT_V2はNEXT_PUBLIC_ENABLE_AGENT_V2に名前が変更され、デフォルトでtrueになりました。古い変数を環境ファイルから削除してください。- OpenAI GPT-5.6ユーザーは、以前にカスタムOpenAI APIキーを設定していた場合、APIタイプが「Responses」に設定されていることを確認してください(「Chat Completions」ではないこと)。
Docker Composeデプロイメント
- カスタマイズされた
docker-compose YAMLとenvファイルをバックアップします。cd docker cp docker-compose.yaml docker-compose.yaml.$(date +%s).bak cp .env .env.$(date +%s).bak 2>/dev/null || true - リリースブランチまたはタグから最新のコードを取得します。
git fetch --tags git checkout 1.16.0 - サービスを停止します。
dockerディレクトリで実行してください。docker compose down - データをバックアップします。
tar -cvf volumes-$(date +%s).tgz volumes - 新しい環境変数(特に
DIFY_AGENT_SERVER_SECRET_KEY)を確認し、.envファイルを更新します。ローカルのカスタマイズを再適用します。 - サービスをアップグレードします。
docker compose up -d
ソースコードデプロイメント
- APIサーバー、Worker、Webフロントエンドサーバーを停止します。
- リリースブランチまたはタグから最新のコードを取得します。
git fetch --tags git checkout 1.16.0 - Pythonの依存関係を更新します。
cd api uv sync - マイグレーションスクリプトを実行します。
uv run flask db upgrade - 新しいAgentバックエンドサービスを設定します。必要な環境変数については、
docker/envs/core-services/dify-agent.env.exampleのdify-agentセクションを参照してください。 - APIサーバー、Worker、Webフロントエンドサーバーを再起動します。
Full Change List (重要な変更点のピックアップ)
Full Changelogには多数の変更が含まれていますが、特に注目すべきは以下の点です。
- Agent App (Open Beta) の機能追加と改善に関する多くのコミット
- AI Workflow Generation の強化とパフォーマンス改善に関するコミット
- セキュリティ関連 の修正 (SQLインジェクション、SSRF、オープンリダイレクト、サンドボックス強化、CVE依存関係のアップグレードなど)
- パフォーマンス最適化 (N+1クエリの解消、起動時間の短縮、DB負荷軽減など)
- アーキテクチャとコード品質の向上 (OpenAPI契約への移行、データベースセッションの明示化、TypeScript 7へのアップグレードなど)
これらの変更は、Difyの安定性、セキュリティ、パフォーマンス、そして新機能の開発を大きく推進するものです。
終わりに
以上、Dify v1.16.0のリリース情報について、技術系ブログ向けに要約し、詳しくまとめました。新しい Agent 機能は今後の Dify の可能性を大きく広げるものであり、ワークフローの強化やセキュリティ改善も非常に重要なアップデートです。
ぜひ、機会があれば、この最新バージョンにて、これらの新機能を体験してみてください!
参考リンク
本記事は Dify v1.16.0 のリリースノートを基に作成されています。最新情報は公式サイトおよび GitHub リポジトリをご確認ください。