コンテンツにスキップ

エージェント

Agent Development Kit (ADK)において、エージェントとは、特定の目標を達成するために自律的に行動するように設計された、自己完結型の実行ユニットです。エージェントはタスクの実行、ユーザーとの対話、外部ツールの利用、他のエージェントとの連携が可能です。

ADKにおけるすべてのエージェントの基盤はBaseAgentクラスです。これは基本的な設計図として機能します。機能的なエージェントを作成するには、通常、BaseAgentを主に3つの方法のいずれかで拡張し、インテリジェントな推論から構造化されたプロセス制御まで、さまざまなニーズに応えます。

ADKにおけるエージェントの種類

主要なエージェントのカテゴリ

ADKは、洗練されたアプリケーションを構築するために、明確なエージェントのカテゴリを提供します:

  1. LLMエージェント (LlmAgent, Agent): これらのエージェントは、自然言語の理解、推論、計画、応答の生成、そしてどのように進めるかやどのツールを使用するかを動的に決定するためのコアエンジンとして大規模言語モデル(LLM)を利用し、柔軟性が求められる言語中心のタスクに最適です。LLMエージェントについてさらに学ぶ...

  2. ワークフローエージェント (SequentialAgent, ParallelAgent, LoopAgent): これらの特化したエージェントは、フロー制御自体にLLMを使用せず、事前定義された決定論的なパターン(シーケンシャル、パラレル、またはループ)で他のエージェントの実行フローを制御します。予測可能な実行が必要な構造化されたプロセスに最適です。ワークフローエージェントを探る...

  3. カスタムエージェント: BaseAgentを直接拡張して作成されるこれらのエージェントは、標準的なタイプではカバーされていない独自の運用ロジック、特定の制御フロー、または特化した統合を実装でき、高度にカスタマイズされたアプリケーション要件に対応します。カスタムエージェントの構築方法を発見する...

適切なエージェントタイプの選択

以下の表は、エージェントタイプを区別するのに役立つ高レベルな比較を提供します。後続のセクションで各タイプをより詳細に探るにつれて、これらの違いはより明確になるでしょう。

機能 LLMエージェント (LlmAgent) ワークフローエージェント カスタムエージェント (BaseAgentサブクラス)
主な機能 推論、生成、ツール使用 エージェント実行フローの制御 独自のロジック/統合の実装
コアエンジン 大規模言語モデル(LLM) 事前定義されたロジック(シーケンシャル、パラレル、ループ) カスタムコード
決定性 非決定的(柔軟) 決定的(予測可能) 実装に応じてどちらにもなり得る
主な用途 言語タスク、動的な意思決定 構造化されたプロセス、オーケストレーション カスタマイズされた要件、特定のワークフロー

連携するエージェント:マルチエージェントシステム

各エージェントタイプは異なる目的を果たしますが、真の力はしばしばそれらを組み合わせることから生まれます。複雑なアプリケーションでは、マルチエージェントアーキテクチャが頻繁に採用され、そこでは:

  • LLMエージェントが、インテリジェントで言語ベースのタスク実行を担当します。
  • ワークフローエージェントが、標準的なパターンを使用して全体的なプロセスフローを管理します。
  • カスタムエージェントが、独自の統合に必要な特殊な機能やルールを提供します。

これらのコアタイプを理解することは、ADKで洗練された有能なAIアプリケーションを構築するための第一歩です。


次のステップ

ADKで利用可能なさまざまなエージェントタイプの概要を理解したところで、それらがどのように機能し、効果的に使用する方法についてさらに深く掘り下げていきましょう:

  • LLMエージェント: 指示の設定、ツールの提供、プランニングやコード実行などの高度な機能の有効化を含む、大規模言語モデルを搭載したエージェントの設定方法を探ります。
  • ワークフローエージェント: 構造化された予測可能なプロセスのために、SequentialAgentParallelAgentLoopAgentを使用してタスクを調整する方法を学びます。
  • カスタムエージェント: 特定のニーズに合わせて独自のロジックと統合を持つエージェントを構築するために、BaseAgentを拡張する原則を発見します。
  • マルチエージェント: 複雑な問題に取り組むことができる、洗練された協調的なシステムを作成するために、さまざまなエージェントタイプを組み合わせる方法を理解します。
  • モデル: 利用可能なさまざまなLLM統合について学び、エージェントに適したモデルを選択する方法を学びます。