Microsoft Agent Framework ワークフロー

概要

Microsoft Agent Framework ワークフローを使用すると、AI エージェントとビジネス プロセスをシームレスに融合させるインテリジェントな自動化システムを構築できます。 タイプ セーフなアーキテクチャと直感的な設計により、インフラストラクチャの複雑さに煩わされることなく複雑なワークフローを調整できるため、コア ビジネス ロジックに集中できます。

ワークフローとエージェントの違い

エージェントとワークフローには、目標を達成するための複数の手順を含めることができますが、さまざまな目的に対応し、さまざまな抽象化レベルで動作します。

  • エージェント: 通常、エージェントは大規模言語モデル (LLM) によって駆動され、タスクの実行に役立つさまざまなツールにアクセスできます。 エージェントが実行する手順は動的であり、会話のコンテキストと使用可能なツールに基づいて LLM によって決定されます。

    AI エージェント

  • ワークフロー: 一方、ワークフローは、AI エージェントをコンポーネントとして含めることができる、定義済みの一連の操作です。 ワークフローは、複数のエージェント、人とのやり取り、外部システムとの統合を伴う複雑なビジネス プロセスを処理するように設計されています。 ワークフローのフローは明示的に定義されているため、実行パスをより詳細に制御できます。

    ワークフローの概要

主な機能

  • 型の安全性: 厳密な型指定により、実行時エラーを防ぐ包括的な検証を使用して、コンポーネント間でメッセージが正しく流れるようにします。
  • 柔軟な制御フロー: グラフベースのアーキテクチャにより、 executorsedgesを使用して複雑なワークフローを直感的にモデリングできます。 条件付きルーティング、並列処理、動的実行パスがすべてサポートされています。
  • 外部統合: 外部 API とシームレスに統合するための組み込みの要求/応答パターン、および人間のループ内シナリオ。
  • チェックポイント処理: チェックポイントを使用してワークフローの状態を保存し、サーバー側で実行時間の長いプロセスの復旧と再開を可能にします。
  • マルチエージェント オーケストレーション: シーケンシャル、コンカレント、ハンドオフ、マゼンティックなど、複数の AI エージェントを調整するための組み込みパターン。

ワークフロー API

Microsoft Agent Framework には、ワークフローを構築するための 2 つの補完的な API が用意されています。

  • Functional Workflow API(Python, experimental): async および @workflow デコレーターを使用して、プレーンな @step 関数としてワークフローを記述します。 グラフの概念の代わりに、ネイティブ Python制御フロー (if/else、ループ、asyncio.gather) を使用します。 グラフ API を採用する前の良い出発点です。
  • ワークフロー ビルダーと実行: WorkflowBuilderexecutors、および edgesを使用して、有向グラフとしてワークフローを構築します。 型検証されたメッセージ ルーティングとスーパーステップ ベースの並列実行を使用する固定トポロジに最適です。

どちらの API も完全にサポートされており、同じ監視可能な結果 (イベント、ストリーミング、HITL、チェックポイント) を生成します。 ワークフローに最適な内容に基づいて選択します。

機能 (@workflow) グラフ (WorkflowBuilder)
制御フロー ネイティブ Python (if、ループ、asyncio.gather) エッジと条件
最適な用途 シーケンシャル パイプライン、カスタム ループ、アドホック並列処理 固定グラフ、ファンアウト/ファンイン、タイプ検証済みメッセージルーティング
並列処理 asyncio.gather 並列エッジ グループ、スーパーステップ実行
可観測性 ステップごとのイベント @step Executor ごとのイベント
HITL ctx.request_info() RequestInfoExecutor
チェックポイント @stepごとの結果キャッシュ スーパーステップ境界チェックポイント
エージェントラッピング .as_agent()FunctionalWorkflow .as_agent()Workflow

単純なPythonでロジックを表現する場合は、@workflow から始めます。 厳密な型検証済みメッセージ ルーティングまたはグラフ実行モデルが必要な場合は、 WorkflowBuilder に移動します。

核となる概念

  • Executor: ワークフロー内の個々の処理単位を表します。 AI エージェントまたはカスタム ロジック コンポーネントを指定できます。 入力メッセージを受信し、特定のタスクを実行し、出力メッセージを生成します。
  • エッジ: Executor 間の接続を定義し、メッセージのフローを決定します。 メッセージの内容に基づいてルーティングを制御する条件を含めることができます。
  • イベント: ライフサイクル イベント、Executor イベント、カスタム イベントなど、ワークフローの実行を監視できます。
  • ワークフロー ビルダーと実行: Executor とエッジを有向グラフに結び付け、スーパーステップを使用して実行を管理し、ストリーミング モードと非ストリーミング モードをサポートします。

はじめに

Microsoft Agent Framework ワークフローの使用を開始するには、入門サンプルを参照してください。

次のステップ