Agent Framework ワークフローは、コード、エージェント、状態、イベント、および人間の入力を調整するための、明示的で検査可能な実行パスを定義します。 このフレームワークは、同じワークフロー実行モデルに対して機能とグラフベースの API を提供します。
ワークフロー API
すべての SDK では、グラフベースのワークフローがサポートされています。 Pythonさらに、試験的な機能ワークフロー API が提供されます。
.NET SDK では、グラフベースのWorkflowBuilder API が使用されます。 型指定された Executor をエッジと条件を介して接続し、ファンアウトとファンインの実行をサポートし、ワークフローイベントと Executor イベントを出力し、チェックポイントはスーパーステップ境界で進行します。 互換性のあるワークフローは、 AsAIAgent()を使用して標準エージェント インターフェイスを介して公開できます。
- ワークフロー ビルダーと実行では、ワークフロー グラフ.NETビルドして実行する方法について説明します。
- Executor、 エッジ、 イベント、および 状態管理 は、グラフ ランタイム プリミティブを記述します。
- 関数型ワークフロー API では、Python関数とネイティブ制御フローが使用されます。
- ワークフロー ビルダーと実行 は、型検証済みのワークフロー グラフを構築して実行します。
どちらの API でも、同じ監視可能なワークフロー結果が生成されます。 表現する実行モデルに一致する API を選択します。
機能 (@workflow) |
グラフ (WorkflowBuilder) |
|
|---|---|---|
| 制御フロー | ネイティブ Python (if、ループ、asyncio.gather) |
エッジと条件 |
| 最適な用途 | シーケンシャル パイプライン、カスタム ループ、アドホック並列処理 | グラフ、ファンアウト/ファンイン、型検証済みメッセージ ルーティングを修正しました |
| 並列処理 | asyncio.gather |
並列エッジ グループとスーパーステップ実行 |
| 可観測性 | ステップごとのイベント @step |
Executor ごとのイベント |
| Human-in-the-loop | ctx.request_info() |
RequestInfoExecutor |
| チェックポイント |
@stepごとの結果キャッシュ |
スーパーステップ境界チェックポイント |
| エージェントラッピング |
.as_agent() に FunctionalWorkflow |
.as_agent() に Workflow |
Go SDK では、グラフベースの workflow.NewBuilder API が使用されます。 エッジ、条件、ファンアウトまたはファンイン グループを介してバインドされた Executor を接続し、 inproc.Defaultなどの実行環境を介してグラフを実行します。 エージェント指向のワークフローは、 agentworkflow.New(...)を使用する標準エージェント インターフェイスを介して公開できます。
- ワークフロー ビルダーと実行 では、Go ワークフロー グラフをビルドして実行する方法について説明します。
- Executor、 エッジ、 イベント、および 状態管理 は、グラフ ランタイム プリミティブを記述します。
グラフとランタイム モデル
- Executor は 入力を受け取り、作業を実行し、出力を出力します。
- エッジは 、Executor 間で値をルーティングします。
- イベント は、ワークフローのライフサイクルと実行アクティビティを公開します。
- 状態管理 は、永続的なワークフロー状態と実行スコープのワークフロー状態を制御します。
高度な実行
- Agent Executor は 、エージェントをワークフロー グラフに統合します。
- ワークフロー実行モードでは 、ストリーミング実行と非ストリーミング実行について説明します。
- リセット可能な Executor では、 実行間でリセットされる Executor について説明します。
- サブワークフローは 、より大きなグラフで実行プログラムとしてワークフローを構成します。
チェックポイント、人間のループ、視覚化、オーケストレーションなどの機能指向のガイダンスについては、「 ワークフロー機能」を参照してください。