ADK 向け MLflow observability¶
MLflow Tracing は OpenTelemetry (OTel) トレースの取り込みを第一級でサポートします。Google ADK は エージェント実行、ツール呼び出し、モデル要求の OTel span を出力でき、 それらを MLflow Tracking Server に直接送って分析・デバッグできます。
前提条件¶
- MLflow 3.6.0 以上。OpenTelemetry 取り込みは MLflow 3.6.0+ のみ対応です。
- SQL ベースのバックエンドストア (例: SQLite、PostgreSQL、MySQL)。 ファイルベースストアは OTLP 取り込みをサポートしません。
- 環境に Google ADK がインストール済みであること。
依存関係のインストール¶
MLflow Tracking Server を起動¶
SQL バックエンドとポート (この例では 5000) で MLflow を起動します:
--backend-store-uri は他の SQL バックエンド (PostgreSQL、MySQL、MSSQL) も指定可能です。
OTLP 取り込みはファイルベースバックエンドではサポートされません。
OpenTelemetry の設定 (必須)¶
ADK コンポーネントを使う前に、OTLP exporter を設定し、 グローバルトレーサープロバイダーを設定する必要があります。これにより span が MLflow へ送信されます。
ADK エージェント/ツールを import・構築する前に、OTLP exporter と グローバルトレーサープロバイダーをコードで初期化してください:
# my_agent/agent.py
from opentelemetry import trace
from opentelemetry.exporter.otlp.proto.http.trace_exporter import OTLPSpanExporter
from opentelemetry.sdk.trace import TracerProvider
from opentelemetry.sdk.trace.export import SimpleSpanProcessor
exporter = OTLPSpanExporter(
endpoint="http://localhost:5000/v1/traces",
headers={"x-mlflow-experiment-id": "123"} # replace with your experiment id
)
provider = TracerProvider()
provider.add_span_processor(SimpleSpanProcessor(exporter))
trace.set_tracer_provider(provider) # set BEFORE importing/using ADK
この設定で OpenTelemetry パイプラインが構成され、実行ごとに ADK span が MLflow サーバーへ送信されます。
例: ADK エージェントをトレースする¶
次に、OTLP exporter と tracer provider の設定コードの後に、 シンプルな算数エージェントのコードを追加できます:
# my_agent/agent.py
from google.adk.agents import LlmAgent
from google.adk.tools import FunctionTool
def calculator(a: float, b: float) -> str:
"""Add two numbers and return the result."""
return str(a + b)
calculator_tool = FunctionTool(func=calculator)
root_agent = LlmAgent(
name="MathAgent",
model="gemini-2.0-flash-exp",
instruction=(
"You are a helpful assistant that can do math. "
"When asked a math problem, use the calculator tool to solve it."
),
tools=[calculator_tool],
)
次のコマンドでエージェントを実行します:
算数問題を質問します:
次のような出力が表示されます:
MLflow でトレースを確認¶
http://localhost:5000 で MLflow UI を開き、実験を選択して、
ADK エージェントが生成したトレースツリーと span を確認してください。

ヒント¶
- ADK オブジェクトを import/初期化する前に tracer provider を設定し、 すべての span を確実に収集してください。
- プロキシ配下やリモートホストでは
localhost:5000を サーバーアドレスに置き換えてください。
リソース¶
- MLflow Tracing Documentation: 他ライブラリ連携や評価、監視、検索など、トレースの下流利用まで扱う公式ドキュメント。
- OpenTelemetry in MLflow: MLflow で OpenTelemetry を使う詳細ガイド。
- MLflow for Agents: 本番向けエージェント構築のための MLflow 総合ガイド。