コンテンツにスキップ

ワークフロー エージェント

このセクションでは、「ワークフローエージェント」を紹介します。これは、サブエージェントの実行フローを制御する特殊なエージェントです。

ワークフローエージェントは、ADKにおけるサブエージェントの実行フローを調整(オーケストレーション)するためだけに設計された特殊なコンポーネントです。その主な役割は、他のエージェントがいつどのように実行されるかを管理し、プロセスの制御フローを定義することです。

動的な推論と意思決定のために大規模言語モデルを使用するLLMエージェントとは異なり、ワークフローエージェントは事前定義されたロジックに基づいて動作します。オーケストレーション自体にLLMを参照することなく、そのタイプ(例:シーケンシャル、パラレル、ループ)に応じて実行シーケンスを決定します。これにより、決定的で予測可能な実行パターンが実現します。

ADKは、それぞれが異なる実行パターンを実装する3つの主要なワークフローエージェントタイプを提供します:

  • シーケンシャルエージェント


    サブエージェントを次々にシーケンシャル(順次)に実行します。

    詳細はこちら

  • ループエージェント


    特定の終了条件が満たされるまで、サブエージェントを繰り返し実行します。

    詳細はこちら

  • パラレルエージェント


    複数のサブエージェントをパラレル(並列)に実行します。

    詳細はこちら

なぜワークフローエージェントを使用するのか?

一連のタスクやエージェントがどのように実行されるかを明示的に制御する必要がある場合、ワークフローエージェントは不可欠です。それらは以下を提供します:

  • 予測可能性: 実行フローは、エージェントのタイプと設定に基づいて保証されます。
  • 信頼性: タスクが必要な順序やパターンで一貫して実行されることを保証します。
  • 構造: 明確な制御構造内にエージェントを構成することで、複雑なプロセスを構築できます。

ワークフローエージェントが制御フローを決定論的に管理する一方で、それが調整するサブエージェントは、インテリジェントなLLMエージェントのインスタンスを含む、あらゆるタイプのエージェントであり得ます。これにより、構造化されたプロセス制御と、柔軟なLLM駆動のタスク実行を組み合わせることが可能になります。