Lock in $30 Savings on PRO—Offer Ends Soon! ⏳

Durable Task Extension for Microsoft Agent Fram...

Avatar for Kazuki Kazuki
December 19, 2025
88

Durable Task Extension for Microsoft Agent Framework はいいぞ

.NET Conf 2025 Tokyo Osaka Fukuoka でのセッション資料
https://dotnetlab.connpass.com/event/371159/

Avatar for Kazuki

Kazuki

December 19, 2025
Tweet

Transcript

  1. Durable Task Extension for Microsoft Agent Framework はいいぞ 日本マイクロソフト株式会社 クラウド

    ソリューション アーキテクト/エヴァンジェリスト 大田 一希 (Kazuki Ota)
  2. 自己紹介 日本マイクロソフト株式会社 カスタマーサクセス事業本部 クラウド ソリューション アーキテクト兼エヴァンジェリスト 大田 一希 (Kazuki Ota)

    Azure の AI とアプリ開発領域の支援を行っています。 推しの技術・サービス・趣味:  GitHub Copilot  .NET/C#  Azure Functions/Durable Functions/Durable Agent  変なデバイス (折り畳みスマホ、ROG Xbox Ally X)  ゲーム (原神とオクトラ0やってます) SNS/技術ブログなど  X: @okazuki  Zenn: https://zenn.dev/okazuki
  3. もくじ  Durable Task Extension for Microsoft Agent Framework とは

     Durable Agent  堅牢な Agentic Workflow の基盤としての Durable Functions  まとめ
  4. Durable Task Extension for MS Agent Framework とは Azure 上のサーバーレス環境で以下の機能を提供

     ステートフル AI Agent をホストする機能  堅牢な Agentic Workflow を構築するための機能 以下のような機能を気にしなくてよくなる Agent のチャット履歴の管理 ワークフローや Agent の実行中に インフラが再起動した場合の考慮 エージェントやワークフローのロジックに集中できる
  5. ステートフル AI Agent とは? Agent Framework の AIAgent を Durable

    Entity でラップしたもの 「Durable Agent」 Durable Entity の特徴  小さな状態とメソッドを持ったオブジェクト  状態はプラットフォーム側で責任を持って保存  メソッド呼出しは Entity 単位で常に直列に実行される(並列実行されない) Durable Agent に置き換えると  小さな状態 = 会話スレッド  メソッド = AIAgent の実行  プラットフォーム側で責任を持って保存 = チャット履歴を自動で永続化  常に直列に実行 = 同時に話しかけても 1 つの会話スレッドが分岐しない
  6. なにを Durable Agent 化出来るのか Agent Framework の AIAgent クラスを継承したもの全て AIAgent

    A2AAgent ChatClientAgent CopilotStudioAgent FoundryAgent 自作Agent Microsoft.Extensions.AI に対応した全てに対応 Anthropic、Foundry Agent、Foundry Model、OpenAI Chat Completion、OpenAI Response API、Gemini、Ollama、ONNX、 OpenAI Assistant API、etc... Workflow 変換
  7. Durable Functions から Agent を呼び出せる! 今までも Agentic Workflow 作れたけど… オーケストレーター関数

    アクティビティ関数 外部 I/O 禁止 ここから直接 Agent 呼べない ここから Agent を呼び出す 呼出し
  8. Durable Functions から Agent 呼び出せる! 今までも Agentic Workflow 作れたけど… オーケストレーター関数

    アクティビティ関数 外部 I/O 禁止 ここから直接 Agent 呼べない ここから Agent を呼び出す 呼出し 関数を Agent 呼出しごとに個別に用意するの辛い… アクティビティ関数を呼ぶメソッドがタイプセーフじゃなくて辛い… // 戻り値は呼び出し側で型引数に指定 var r = await context.CallActivityAsync<string>( nameof(CallCatAgentAsync), // 関数名は文字列指定 "Tokyo"); // 引数は object? 型
  9. Durable Functions の機能とシームレスに連携可能 F1 F2 F3 F4 パターン #1: 関数チェーン

    F1 F2 F3 パターン #2: ファンアウト/ファンイン Start DoWork GetStatus パターン #3: 非同期 HTTP API RequestApproval Escalate ProcessApproval パターン #5: 人による操作 パターン #4: ステートフル シングルトン パターン #6: アグリゲーター Durable Functions の概要 - Azure | Microsoft Learn
  10. Durable Functions の機能とシームレスに連携可能 F1 F2 F3 F4 パターン #1: 関数チェーン

    F1 F2 F3 パターン #2: ファンアウト/ファンイン Start DoWork GetStatus パターン #3: 非同期 HTTP API RequestApproval Escalate ProcessApproval パターン #5: 人による操作 パターン #4: ステートフル シングルトン パターン #6: アグリゲーター 超協力な Agentic Workflow 構築の 基盤として利用可能 Durable Functions の概要 - Azure | Microsoft Learn
  11. まとめ  Durable Task Extension for Microsoft Agent Framework 

    Durable Agent  AIAgent は全て Durable Agent にできる  Durable Agent は Durable Functions と連携可能  Agentic Workflow 構築の最高の基盤の 1 つ  Durable Task Scheduler による可観測性
  12. まとめ  Durable Task Extension for Microsoft Agent Framework 

    Durable Agent  AIAgent は全て Durable Agent にできる  Durable Agent は Durable Functions と連携可能  Agentic Workflow 構築の最高の基盤の 1 つ  Durable Task Scheduler による可観測性 Durable Task Extension for Microsoft Agent Framework はいいぞ