AI エージェント向けのデュラブルタスク

何時間も実行され、外部ツールを呼び出し、インフラストラクチャの障害に耐えなければならない AI エージェントには 永続的な実行 が必要です。これは、進行状況を自動的にチェックポイント処理し、中断したところから再開する機能です。 Durable Task Scheduler と Durable Task プログラミング モデルでは、このインフラストラクチャが提供され、状態管理、チェックポイント処理、分散調整が処理されるため、エージェント コードは必要ありません。

このプログラミング モデルでは、.NET、Python、Java、JavaScript/TypeScript の標準プログラミング コンストラクト (ループ、条件、エラー処理) を使用して、回復性に優れたステートフルなエージェント ワークフローを構築します。 ランタイムは状態を保持し、エラーから自動的に回復します。

Durable Task はエージェント フレームワークではありません。with Microsoft Agent Framework、LangChain、または直接 LLM API 呼び出しを含む任意の AI エージェント フレームワークで動作します。 エージェント ロジックに重点を置きます。Durable Task は、信頼性の高い実行を大規模に処理します。

この記事では、以下について説明します。

  • 永続的な実行が AI エージェントに対して解決する運用環境の課題
  • Durable Task プログラミング モデルでサポートされるエージェント ワークフロー パターン
  • Durable Task テクノロジ スタックと、Azureの他のエージェント ワークフロー オプションとの比較

Tip

ビルドを開始する準備はできましたか? コード サンプルの Agentic アプリケーション パターン に移動するか、ターンキー統合用の Durable Task 拡張機能 (Microsoft Agent Framework を試してください。

耐久性のある実行が解決する生産上の課題

運用環境の AI エージェントは、永続的な実行が対処するいくつかの課題に直面しています。

  • 実行時間の長いステートフル セッション — 人間のループ内対話、複数ステップの推論、ツール拡張ワークフローでは、エージェントを数時間、数日、または数週間アクティブな状態に保つことができます。 エージェントは、すべてのステップで保持する必要がある状態 (会話履歴、中間結果、保留中の決定) を蓄積します。
  • 高価なトークン消費 — 大量の LLM トークンを処理すると、コストと時間がかかります。 レート制限により、ワークフローの途中でエージェントの能力が抑制されることがあります。 途中でエラーが発生した場合、トークンは既に消費され、既に費やされた時間は失われます。
  • インフラストラクチャの中断 — コンピューティングの再起動、デプロイ、スケールイン イベント、および一時的な障害により、エージェント セッションがクラッシュする可能性があります。 復旧を行わない場合、エージェントは最初から再起動し、以前に費やしたすべてのトークンを再利用し、完了したすべての作業を繰り返す必要があります。

永続的な実行は、次の課題を解決します。

  • 自動チェックポイント — Durable Task ランタイムは、永続的ストレージへのすべての状態遷移 (LLM 応答、ツール呼び出し結果、制御フローの決定) をチェックポイント処理します。
  • 最後のチェックポイントからの再開 — 障害が発生すると、正常な VM で 実行が自動的に 再開されます。 完了した LLM 呼び出しが再度行われることはなく、トークンの消費と処理時間の両方が抑えられます。
  • 組み込みの再試行 — バックオフを使用した構成可能な再試行ポリシーは、追加コードなしで LLM API、外部ツール、ダウンストリーム サービスからの一時的なエラーを処理します。

エージェンティックワークフローのパターン

Durable Task では、次の 2 つの大きなカテゴリに分類されるさまざまなエージェント ワークフロー パターンがサポートされています。

  • 決定論的ワークフロー: コードによって制御フローが定義されます。 標準のプログラミングコンストラクトを使用して、分岐、並列処理、エラー処理などの一連の手順を記述します。 LLM はワークフロー内のステップとして呼び出されますが、フロー全体は制御されません。
  • エージェント向けワークフロー (エージェント ループ): LLM によって制御フローが駆動されます。 エージェントは、呼び出すツールを、どの順序で、いつタスクが完了するかを決定します。 ツールと手順は指定しますが、実行時にエージェントによって実行パスが決定されます。

どちらのカテゴリも永続的な実行の利点があり、同じアプリケーションで組み合わせることができます。 サポートされているパターンとコード サンプルの詳細については、 Agentic アプリケーション パターンに関する記事を参照してください。

Azureでのエージェント ワークフロー オプションの比較

Durable Task テクノロジ スタックに加えて、Azureでエージェント ワークフローを構築するためのオプションがいくつかあります。 各オプションには、制御フロー、プログラミング言語のサポート、AI フレームワーク統合、ホスティング、状態管理、対象ユーザーの要件に応じて、異なる長所とトレードオフがあります。 次の表は、ニーズに合った表を決定するのに役立ちます。

能力 永続的なタスク Agent Framework ワークフロー Logic Apps エージェント ループ
制御フロー 命令型 (コード定義) グラフ ベース (コード定義) 宣言型 (デザイナー/JSON)
言語 .NET、Python、Java、TypeScript/JS .NET、Python ビジュアル デザイナー/JSON
AI フレームワークのサポート Any (Semantic Kernel、LangChain、AutoGen、Direct API) エージェント フレームワーク用に最適化 組み込みの AI コネクタ
ホスティング Azure Functionsまたは任意のホスト 任意; ファースト クラス の Foundry ホステッド エージェント Logic Apps マネージド サービス
状態ストレージ Durable Task Scheduler (マネージド) 持ち込み (チェックポイント マネージャー) Logic Apps ランタイム (マネージド)
エージェント向けワークフロー 独自に構築するか、Durable Task 拡張機能を活用する 組み込み エージェント ループ アクション
対象読者 バックエンド開発者 アプリケーション開発者 統合/ローコード ユーザー
実行時間が長いタスク ファーストクラス (数時間から無限へ) 開発者が管理するチェックポイント処理を通じて ステートフル ワークフローのみ (最大 90 日間)
障害復旧 自動 手動 自動
可観測性 Scheduler ダッシュボード、OpenTelemetry OpenTelemetry, カスタム視覚化 Azure Monitor、Logic Apps の診断

次のステップ