概要
Difyの最新版1.9.0では、**ナレッジパイプライン(Knowledge Pipeline)とキュー型グラフエンジン(Queue-based Graph Engine)**という2つの大きな新機能が導入されましたgithub.com。ナレッジパイプラインはドキュメントなどの知識データの取り込み・処理に関するモジュール化されたワークフローを提供し、キュー型グラフエンジンはワークフロー実行をより堅牢かつ制御可能にする新方式のエンジンですgithub.com。これらの機能強化により、AIアプリケーションの構築やデバッグが一層スムーズになりますgithub.com。
ナレッジパイプライン (Knowledge Pipeline)
ナレッジパイプラインは、文書データの取り込みに特化したビジュアルなノードベースのオーケストレーションシステムですgithub.com。複雑な文書処理を細かなステップに分けて自動化し、生データから構造化された知識への変換を実現します。ワークフローをパズルのピースのように段階的に組み立てることで、各ステップの処理を可視化・調整しやすくなっていますgithub.com。この新機能はDifyにおけるナレッジ管理の根本的なアーキテクチャ刷新であり、モジュール化・柔軟化されたワークフローを通じてパイプラインのあらゆる段階をユーザーが制御できるようにしますgithub.com。またマーケットプレイスで提供される豊富なプラグインを活用して多様なデータソースや処理ツールを統合できるため、企業ニーズであるスケーラビリティ・適応性・精度を満たす高度にカスタマイズされたドメイン特化型RAGソリューションを構築可能ですgithub.com。
従来の課題と対応: 以前のバージョンでは、RAG(Retrieval-Augmented Generation)の適用に際し、以下のような課題が指摘されていましたgithub.com:
- データソース統合の制限: 取り込めるデータソースの種類が限られ、社内の様々な情報源を十分に統合できないgithub.com。
- 表や画像など重要情報の欠落: PDFやスプレッドシート内の表・画像などが解析で失われるため、モデルへの文脈供給が不完全になるgithub.com。
- チャンク分割の最適化不足: 文書をチャンク(断片)に分割する際に文脈が分断され、回答精度を損なう恐れがあるgithub.com。
こうした課題により回答品質の低下やモデル性能の阻害が生じていましたgithub.com。Dify 1.9.0ではこれらに対処するため、RAGパイプライン全体をオープンかつモジュール化された新アーキテクチャとして再設計し、データ取り込みからチャンク保存・検索まで各工程を用途に応じて柔軟に構築できるようにしていますgithub.com。その結果、ナレッジ管理が一層透明化され、デバッグも容易になりました。
主な新機能 (Knowledge Pipeline):
- プラグイン型データ取り込みフレームワーク: 各ナレッジベースに複数のデータソースを接続可能となりました。ローカルファイル、オンラインドキュメント、クラウドストレージ、Webクローラなどをプラグイン経由でシームレスに取り込めますgithub.com。例えば、PDF・Word・Excel・PPTなど30以上のファイル形式のローカルデータ、Google DriveやAWS S3等のクラウド、NotionやConfluence等のオンラインドキュメント、さらにはFirecrawl等のWebクロールにも対応していますdify.ai。開発者は標準インターフェースを用いて独自のデータソースプラグインを追加でき、マーケットプレイス上のプロセッサ(数式・スプレッドシート・画像解析など)を組み合わせることで特殊なデータ形式にも対応可能ですgithub.com。
- 公式テンプレート & パイプラインDSL: すぐに使える公式テンプレートが提供されており、新規パイプラインを迅速に構築できます。また**DSL(ドメイン固有言語)**によるパイプラインのエクスポート/インポート機能を備え、作成したパイプラインを共有・再利用したり、他プロジェクトへ移植したりすることが容易になりましたgithub.com。
- 新たなチャンク戦略: 従来の「汎用モード」「親子モード」に加え、新しくQ&A構造に対応したチャンク処理プラグイン(Q&Aプロセッサ)が追加されていますgithub.com。これによりQ&A形式のドキュメント構造を考慮した知識分割が可能となり、質問応答に特化した文脈保持と検索精度向上の両立が図られていますgithub.com。より多様なユースケースで最適なチャンク戦略を選択できるようになりました。
- 画像の抽出と利活用: 文書中の画像データを解析段階で抽出して保存できるようになりましたgithub.com。抽出された画像はナレッジベース内にURLとして格納され、LLMによる回答生成時にテキストと画像を組み合わせた応答を返すことも可能ですgithub.com。これにより、図表を含むドキュメントからの情報提供や、視覚情報を伴う回答が実現します。
- 段階的テスト実行とデバッグ支援: パイプライン公開前に各ステップまたはノードを個別に実行してテストできるようになりましたgithub.com。中間変数の値を詳細に検査したり、文字列型の変数をMarkdown形式でプレビュー表示したりできる変数インスペクタも用意されていますgithub.com。これにより、各段階で安全に試行錯誤とデバッグが行えるため、パイプライン全体を確実に検証しながら構築できます。
- ワンクリック移行ツール: 従来形式のナレッジベースを、新しいパイプラインアーキテクチャにワンクリックで変換する機能が提供されましたgithub.com。ボタン一つで既存のナレッジベースを新構成へ移行でき、スムーズな移行と後方互換性が確保されていますgithub.com。これにより、過去のデータ資産を活かしつつ新機能へ移行できます。
こうしたナレッジパイプラインの導入によって、ナレッジ管理はこれまで以上に透明性が高く、デバッグ可能で、拡張性のあるものになりましたgithub.com。本機能自体がゴールではなく、将来的なマルチモーダル検索対応や人間の関与(Human-in-the-loop)による協調、企業向けデータガバナンスへの発展に向けた基盤になると位置づけられていますgithub.com。今後の拡張も視野に入れ、より高度な知識活用ワークフローを支える土台となっています。
キュー型グラフエンジン (Queue-based Graph Engine)
Dify 1.9.0では、ワークフローの実行エンジンも刷新されました。キュー駆動型の新グラフエンジンを採用することで、特に並列ブランチを含む複雑なワークフロー実行の信頼性と制御性が向上していますgithub.com。従来は並列処理でブランチ状態の管理が困難でエラー再現がしづらい、デバッグ情報が不足して原因追跡が困難、さらに実行ロジックが固定的で柔軟性に欠ける、といった問題がありましたgithub.com。これらの課題を解決するため、1.9.0ではタスク実行をキューによるスケジューリングに再設計し、複数並行タスクの管理とデバッグ性を飛躍的に改善していますgithub.com。
主な新機能 (Graph Engine):
- 統一タスクキューモデル: すべてのタスクが単一の統一キューに投入され、スケジューラがその依存関係と実行順序を管理しますgithub.com。これにより、並列タスク実行時の競合や順序問題によるエラーが減少し、ワークフロー全体の構造が直感的に把握しやすくなりましたgithub.com。
- 柔軟な実行開始ポイント: ワークフロー内の任意のノードから実行を開始できるようになりましたgithub.com。途中のステップだけを部分的に実行したり、中断したワークフローを再開したり、あるいはサブワークフロー(サブグラフ)として一部の処理を呼び出すことも可能ですgithub.com。この柔軟性により、長大なワークフローの一部分だけを検証・再実行するユースケースや、動的にワークフローを組み替える高度なシナリオにも対応できます。
- ストリーム処理コンポーネント: ResponseCoordinatorと呼ばれる新コンポーネントが導入され、複数ノードからのストリーミング出力(例えばLLMのトークン逐次生成や長時間処理の段階的結果など)を統合的に管理しますgithub.com。これによって、並列に実行される複数の処理からリアルタイムに出力が送られてくる場合でも、順序や整合性が保たれた形でユーザーに結果を返すことができるようになりましたgithub.com。
- ワークフロー制御コマンド機構: CommandProcessorという新機構により、実行中のワークフローを外部から制御することが可能になりましたgithub.com。具体的には、ワークフロー実行の一時停止(Pause)・再開(Resume)・**停止(Terminate)**要求を外部から送信できます(※現時点では停止コマンドが実装されており、ポーズ/再開機能は今後のバージョンでサポート予定ですgithub.com)。このコマンド機構により、リソース制限に達した際の非常停止やユーザー介入による中断など、実行中ワークフローへの動的な制御が可能となっていますgithub.com。
- GraphEngineLayerによる拡張性: コアエンジンのコードを変更することなく機能拡張できるプラグイン層(GraphEngineLayer)が新設されましたgithub.com。このレイヤーを実装することで、ワークフローの状態監視やカスタムログの記録、外部システムへの通知、独自コマンドの介入など、エンジンに対するカスタム拡張やモニタリングを柔軟に行えますgithub.com。エンタープライズ向けに必要な高度な監視・制御機能もプラグインとして追加できる設計です。
利用上の設定項目:
新しいグラフエンジンはデフォルトで有効になっており、特別な有効化作業は不要ですgithub.com。以下のような環境変数による設定項目が追加されており、ワークフロー実行の詳細な挙動を調整できます。
- デバッグモードの有効化: 環境変数
DEBUG=true
を設定すると詳細ログを出力するデバッグロギングレイヤー(DebugLoggingLayer)が有効になり、ワークフロー内部の詳しい実行ログやイベント情報を確認できますgithub.com。 - 実行制限に関する設定: ワークフロー実行の上限を制御する環境変数が導入されました。例えば、最大ステップ数を制限する
WORKFLOW_MAX_EXECUTION_STEPS
(デフォルト500ステップ)、最大実行時間を設定するWORKFLOW_MAX_EXECUTION_TIME
(デフォルト1200秒)、ワークフロー呼び出しのネスト深度を制限するWORKFLOW_CALL_MAX_DEPTH
(デフォルト10)などがありますgithub.com。これらを適宜調整することで、極端に長い実行や無限ループ的な動作を防ぎ、システム資源の保護が可能です。 - ワーカープールの調整: 並列タスクを処理するワーカー(スレッド)プールに関する設定も環境変数で行えます。例えば、最小・最大ワーカー数 (
WORKFLOW_MIN_WORKERS
、WORKFLOW_MAX_WORKERS
)、新規ワーカーを追加起動する負荷閾値 (WORKFLOW_SCALE_UP_THRESHOLD
)、アイドル状態が続いた際にワーカー数を削減する待機時間 (WORKFLOW_SCALE_DOWN_IDLE_TIME
) などを指定できますgithub.com。これらにより、システム負荷に応じたワーカーの自動スケーリング挙動を調節し、パフォーマンスとリソース効率のバランスを取ることができます。
効果とユースケース拡張: 新エンジンにより、並列分岐を含む複雑なワークフローの安定性・可視性が大きく向上しました。全タスクを単一キューで一元管理し、ワーカープールが負荷に応じて自動スケールすることで、並列処理における競合状態を緩和しています。また、ResponseCoordinatorが複数ノードからのストリーム出力を順序どおりに整理するため、リアルタイム出力を伴うワークフローでも結果の一貫性が保証されますgithub.com。これらの改良により、従来は扱いにくかった高度な並列処理ワークフローでも動作を追跡・デバッグしやすくなり、エンタープライズ環境で求められる信頼性を確保できます。なお、本リリースでのエンジン刷新は性能向上よりも並列処理の安定性・明確さ・正確性の向上に主眼が置かれており、パフォーマンス改善は副次的な効果に留まると説明されていますgithub.com。
Dify 1.9.0で導入されたナレッジパイプラインとキュー型グラフエンジンにより、適用可能なユースケースが大きく広がりました。ナレッジパイプラインを使うことで、社内の様々な非構造データ(画像や表を含むファイル群やクラウド/オンラインサービス上の情報)を統合し、高品質な文脈情報としてLLMに提供できるようになりますgithub.com。これは例えば、技術文書や社内ナレッジベースからチャート・数式を含む正確な情報を抽出して回答に反映する、といった高度なRAGソリューションに直結します。また、キュー型グラフエンジンにより複雑かつ動的なワークフローの構築・運用が容易になり、将来的にはワークフロー実行中に人間が介入して判断を下すヒューマンインザループ型のフローや、履歴データを活用した知的な実行スケジューリングなど、AIエージェントの高度化にも対応できる土台が整備されたと言えますgithub.com。
以上のように、Difyバージョン1.9.0は知識データのオーケストレーションとワークフロー実行エンジンの両面で大幅な強化が行われており、新機能は企業レベルのAIアプリケーション開発における拡張性・信頼性・柔軟性を飛躍的に向上させていますgithub.com。
Sources:
- Dify 1.9.0 – Orchestrating Knowledge, Powering Workflows (公式リリースノート)github.com
- Dify Blog: Introducing Knowledge Pipeline (製品ブログ, 2025年9月23日)dify.ai
- Dify GitHubリポジトリ リリースページ (v1.9.0 詳細)github.com
- Dify GitHubリポジトリ リリースページ – Queue-based Graph Engine (v1.9.0 詳細)github.com
- Dify GitHubリポジトリ リリースページ – Knowledge Pipeline (v1.9.0 詳細)github.com
- Dify GitHubリポジトリ リリースページ – Future Plans (v1.9.0)github.com