# ADK 2.0の便利だけど知られていない機能
🌍 Pythonコードを書かずに、YAMLファイルだけでAIエージェントを定義できたらと思いませんか?
ADK 2.0のAgent Configは、YAML/JSON形式の宣言的な設定ファイルでエージェントを定義する機能です。コードなしでエージェントの構成・実行・変更が可能になります。
📌 タイトル:Agent Config(宣言的なエージェント定義)
🔗 URL:
🧩 概要
Agent Configでは、エージェントの名前、モデル、説明、指示をYAML/JSONで宣言的に記述します。ツール(google_searchなどの組み込みツールやカスタムツール)やサブエージェント(config_pathで別の設定ファイルを参照)も設定ファイル内で定義できます。LlmAgentをサポートしており、LangGraphAgentとA2aAgentは未サポートです。定義したエージェントは`adk web`、`adk run`、`adk api_server`、または`from_config()`で実行できます。
🛠 使い方
YAMLファイルでエージェントを定義し、ADK CLIで実行します。
```yaml
# root_agent.yaml
name: research_assistant
model: gemini-2.0-flash
description: リサーチを支援するエージェント
instruction: |
ユーザーの質問に対して、検索ツールを使って
最新の情報を調査し、わかりやすく回答してください。
tools:
- name: google_search
sub_agents:
- config_path: ./summarizer.yaml
```
```bash
# CLIで実行
adk web # ブラウザUIで対話
adk run # ターミナルで実行
```
プログラムから利用する場合は`from_config()`でエージェントオブジェクトを生成できます。
🏗 本番システムへの組み込み方
・エージェント定義をYAMLファイルとしてGitで管理し、変更履歴を追跡する
・環境ごと(開発/ステージング/本番)に設定ファイルを分離して管理する
・sub_agentsのconfig_pathを活用し、再利用可能なエージェントモジュールを構築する
・`adk api_server`を使って、設定ベースのエージェントをAPIとしてデプロイする
💡 ユースケース
📝 非エンジニアでもYAMLを編集するだけでエージェントの振る舞いを変更
🔄 CI/CDパイプラインでのエージェント定義のバージョン管理とデプロイ自動化
🧩 共通サブエージェントを複数のプロジェクトで再利用
🚀 プロトタイプからプロダクションまで、同じ設定ファイルで一貫した構成管理
⚠️ 注意点
この機能は現在実験的(Experimental)なステータスです。Geminiモデルのみに対応しており、LangGraphAgentやA2aAgentは未サポートです。複雑なカスタムロジックやコールバックが必要な場合は、従来のPythonコードベースのアプローチの方が適切です。今後のバージョンで仕様が変更される可能性があるため、本番導入時は最新のドキュメントを確認してください。
✨ Agent Configにより、エージェントの定義と運用のハードルが大きく下がります。特にチームでの共同作業や設定管理の効率化に効果を発揮します。
#
ADK# #
AIAgent#