google-adk-python について
google-adk-pythonは、GoogleのPython製エージェント開発ツールキットを解説するスキルです。エージェントの構築、評価、デプロイに加え、複数エージェントの連携、ツール統合、ワークフロー、承認フローを扱います。
主な機能
- 01Pythonによるエージェント定義
- 02階層型の複数エージェント連携
- 03逐次・並列・ループ型ワークフロー
- 04組み込みツールとカスタムツールの統合
- 05ツール実行前の人による承認
- 06エージェントのテストと評価
活用シーン
- 01Web調査とレポート作成のエージェント構築
- 02ワークフロー内で専門エージェントを連携
- 03機密性の高いツール実行に承認を設定
- 04デプロイ前のエージェント評価
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ samhvw8/ dot-claude --skill google-adk-pythonインストール後、Claude Code で/google-adk-pythonを入力して読み込まれたか確認します。
詳細
Google ADK Python スキル
Google の Agent Development Kit(ADK)Python に関するエキスパートガイドです。ADK Python は、AI エージェントの構築、評価、デプロイに使える、オープンソースのコードファーストなツールキットです。
このスキルを使用する場面
次のようなニーズがある場合に、このスキルを使用してください。
- ツール統合とオーケストレーション機能を備えた AI エージェントを構築する
- 階層的な連携を行うマルチエージェントシステムを作成する
- 予測可能なパイプライン向けに、ワークフローエージェント(逐次、並列、ループ)を実装する
- LLM を活用するエージェントを Google Search、Code Execution、またはカスタムツールと統合する
- Vertex AI Agent Engine、Cloud Run、またはカスタムインフラストラクチャにエージェントをデプロイする
- エージェントのパフォーマンスを体系的に評価・テストする
- ツール実行に対する人間参加型の承認フローを実装する
主な概念
エージェントの種類
LlmAgent:動的なルーティングと適応的な振る舞いが可能な、LLM を活用するエージェントです。
- 名前、モデル、指示、説明、ツールを指定して定義します
- 委任や連携のためのサブエージェントをサポートします
- コンテキストに基づいてインテリジェントに意思決定します
ワークフローエージェント:構造化された、予測可能なオーケストレーションパターンです。
- SequentialAgent:定義された順序でエージェントを実行します
- ParallelAgent:複数のエージェントを同時に実行します
- LoopAgent:反復ロジックを使用して実行を繰り返します
BaseAgent:カスタムエージェント実装の基盤です。
主なコンポーネント
ツールのエコシステム:
- 事前構築済みツール(google_search、code_execution)
- ツールとして使用するカスタム Python 関数
- OpenAPI 仕様との統合
- 人間による承認のためのツール確認フロー
マルチエージェントアーキテクチャ:
- 階層的なエージェント構成
- 特定のドメインに特化したエージェント
- 委任を行うコーディネーターエージェント
インストール
# Stable release (recommended)
pip install google-adk
# Development version (latest features)
pip install git+https://github.com/google/adk-python.git@main
実装パターン
ツールを備えた単一エージェント
from google.adk.agents import LlmAgent
from google.adk.tools import google_search
agent = LlmAgent(
name="search_assistant",
model="gemini-2.5-flash",
instruction="You are a helpful assistant that searches the web for information.",
description="Search assistant for web queries",
tools=[google_search]
)
マルチエージェントシステム
from google.adk.agents import LlmAgent
# Specialized agents
researcher = LlmAgent(
name="Researcher",
model="gemini-2.5-flash",
instruction="Research topics thoroughly using web search.",
tools=[google_search]
)
writer = LlmAgent(
name="Writer",
model="gemini-2.5-flash",
instruction="Write clear, engaging content based on research.",
)
# Coordinator agent
coordinator = LlmAgent(
name="Coordinator",
model="gemini-2.5-flash",
instruction="Delegate tasks to researcher and writer agents.",
sub_agents=[researcher, writer]
)
カスタムツールの作成
from google.adk.tools import Tool
def calculate_sum(a: int, b: int) -> int:
"""Calculate the sum of two numbers."""
return a + b
# Convert function to tool
sum_tool = Tool.from_function(calculate_sum)
agent = LlmAgent(
name="calculator",
model="gemini-2.5-flash",
tools=[sum_tool]
)
逐次ワークフロー
from google.adk.agents import SequentialAgent
workflow = SequentialAgent(
name="research_workflow",
agents=[researcher, summarizer, writer]
)
並列ワークフロー
from google.adk.agents import ParallelAgent
parallel_research = ParallelAgent(
name="parallel_research",
agents=[web_researcher, paper_researcher, expert_researcher]
)
人間参加型の処理
from google.adk.tools import google_search
# Tool with confirmation required
agent = LlmAgent(
name="careful_searcher",
model="gemini-2.5-flash",
tools=[google_search],
tool_confirmation=True # Requires approval before execution
)
デプロイの選択肢
Cloud Run へのデプロイ
# Containerize agent
docker build -t my-agent .
# Deploy to Cloud Run
gcloud run deploy my-agent --image my-agent
Vertex AI Agent Engine
# Deploy to Vertex AI for scalable agent hosting
# Integrates with Google Cloud's managed infrastructure
カスタムインフラストラクチャ
# Run agents locally or on custom servers
# Full control over deployment environment
モデルのサポート
Gemini に最適化:
- gemini-2.5-flash
- gemini-2.5-pro
- gemini-1.5-flash
- gemini-1.5-pro
モデル非依存:Gemini に最適化されていますが、ADK は標準 API を通じて他の LLM プロバイダーもサポートします。
ベストプラクティス
- コードファーストの理念:バージョン管理、テスト、柔軟性のために、エージェントを Python で定義します
- モジュール設計:特定のドメインに特化したエージェントを作成し、システムとして構成します
- ツール統合:事前構築済みツールを活用し、カスタム関数で拡張します
- 評価:テストケースを使用してエージェントを体系的にテストします
- 安全性:機密性の高い操作には確認フローを実装します
- 階層構造:複雑なマルチエージェントワークフローには、コーディネーターエージェントを使用します
- ワークフローの選択:予測可能なパイプラインにはワークフローエージェント、動的なルーティングには LLM エージェントを選択します
一般的なユースケース
- リサーチアシスタント:ウェブ検索+要約+レポート生成
- コーディングアシスタント:コード実行+ドキュメント作成+デバッグ
- カスタマーサポート:クエリのルーティング+ナレッジベース+エスカレーション
- コンテンツ作成:調査+執筆+編集のパイプライン
- データ分析:データ取得+処理+可視化
- タスク自動化:条件分岐ロジックを伴う複数ステップのワークフロー
開発 UI
ADK には次の機能を備えたインターフェースが組み込まれています。
- エージェントの振る舞いを対話形式でテストする
- ツール呼び出しと応答をデバッグする
- エージェントのパフォーマンスを評価する
- エージェントの設計を繰り返し改善する
リソース
- GitHub: https://github.com/google/adk-python
- ドキュメント: https://google.github.io/adk-docs/
- llms.txt: https://raw.githubusercontent.com/google/adk-python/refs/heads/main/llms.txt
実装ワークフロー
ADK ベースのエージェントを実装する際は、次の手順に従います。
- 要件を定義する:エージェントの機能と必要なツールを特定します
- アーキテクチャを選択する:単一エージェント、マルチエージェント、またはワークフローベースから選びます
- ツールを選択する:組み込みツール、カスタム関数、または OpenAPI 統合から選びます
- エージェントを実装する:指示とツールを含むエージェント定義を作成します
- ローカルでテストする:開発用 UI を使用して反復します
- 評価を追加する:体系的な検証のためのテストケースを作成します
- デプロイする:Cloud Run、Vertex AI、またはカスタムインフラストラクチャを選びます
- 監視する:エージェントのパフォーマンスを追跡し、改善を繰り返します
ADK では、エージェント開発を従来のソフトウェアエンジニアリングと同様に扱います。バージョン管理を使用し、テストを作成し、エンジニアリングのベストプラクティスに従ってください。
コメント
Markdown 対応