Agentic AI / Multi Agent Orchestration を整理する
目的
Agentic AI, Multi-Agent を理解して自分の言葉で説明しなおす。
一般用語とGoogleADKの用語が混ざっているため、随時整理していく予定です。
※参照文献の内容を自分なりに再整理した内容になっています。
用語
- Agentic AI
自律的にタスクを分解し、ツールを呼び出し、目標に向かって動くLLMシステム - Multi-Agent Orchestration
それぞれ異なる役割を持ったAgentic AIが協調・協業して目的に向かって動くシステム
Multi-Agent Orchestration
エージェント協業方式
-
Coordinator/Dispatcher Pattern
中心となるエージェントがそれぞれの役割を持った複数のサブエージェントを管理する。 -
Sequential Pipeline Pattern
SequentialAgent が事前に定義された順番でサブエージェントを実行していく。 -
Parallel Fan-Out/Gather Pattern
ParallelAgent が複数のサブエージェントを同時に実行し、多くの場合はその後別のエージェントが結果を集約する。 -
Hierarchical Task Decomposition
複雑な目標を上位のエージェントが分解し、下位のエージェントにサブタスクとして渡す、多層的なエージェントのツリー構造。 -
Review/Critique Pattern (Generator-Critic)
ジェネレーター(回答を生成)とレビュアー(回答をレビュー)の役割をもった2つのエージェントが協業することでアウトプットの品質を上げる。 -
Iterative Refinement Pattern
LoopAgent内に定義された1つ以上のエージェントを繰り返し使用することで、アウトプットの品質を上げる。 -
Human-in-the-Loop Pattern
エージェントのワークフローに、人間の介入ポイントを組み込む。人間による監督、承認、修正、あるいはAIでは実行できないタスクを可能にする。
エージェント間コミュニケーション方式
-
Shared Session State
同じ InvocationContext を共有しているエージェント間で、session.state を通じてデータを受け渡す。SequentialAgent(逐次実行)や LoopAgent(ループ内でのデータ引き継ぎ)に適している。 -
LLM-Driven Delegation
LLM が「どのエージェントに処理を委ねるか」を判断して、transfer_to_agent() という関数呼び出しを生成する。ターゲットエージェントには 明確な description を与えておく必要がある。 -
Explicit Invocation
あるエージェントを「ツール」としてラップして、他のエージェントから明示的に呼び出せるようにする。通常のツール呼び出しと同じ感覚で、エージェントを使える。
Discussion