メインコンテンツまでスキップ

トレーシングの概要

ヒント

コーディングエージェントのクイックスタート

コーディングエージェントを使用していますか?次のプロンプトを貼り付けます。

Read the documentation at https://docs.databricks.com/aws/en/mlflow3/genai/tracing/overview and set up MLflow tracing for my agent.

オプションで、mlflow/skills をインストールして、MLflow とのより深い統合を実現します。

MLflow Tracing は、Databricks における GenAI 開発の可観測性の基盤です。AI エージェントは、LLM、リトリーバー、ツール、サブエージェントなどのコンポーネントを組み合わせた、複雑なマルチステップのワークフローを実行します。トレースは、すべてのステップの入力、出力、レイテンシー、トークン使用量、コストを記録し、実行フロー全体をマッピングするため、エージェントの動作を正確に確認し、問題の原因を特定することができます。トレースは、エージェントの品質に関する基礎的なデータレイヤーです。デバッグ、評価、本番運用モニタリングはいずれも、トレースが取得するエビデンスに基づいています。

Databricks MLflow UI の [Traces (トレース)] tab。

トレースを使用すると、次のことが可能です。

  • エージェントのデバッグと理解。
  • パフォーマンスを監視し、コストを最適化します。
  • 本番運用のエージェントを監視する
  • エージェントの品質を評価および改善します。
  • Genie Code で自然言語を使用して、トレースデータの分析、デバッグ、探索を行います。

Databricks における MLflow Tracing の理由

  • オープンソースのMLflowを、フルマネージドで。 標準のMLflow SDKとOpenTelemetryを使用するため、実行する追跡サーバーや自分で維持するバージョンはありません。
  • Unity Catalogネイティブのストレージとガバナンス。 スキーマおよびテーブルレベルのアクセス制御、エクスペリエンスごとの制限なし、直接SQLアクセスを備えたUnity Catalog Deltaテーブルとしてトレースを保存します。OpenTelemetryトレースをUnity Catalogに保存するを参照してください。
  • Genie Codeによる自然言語分析。 SQLを使用せずに、トレースデータに対する質問や障害の探索を行えます。
  • 開発から本番運用まで、これ 1 つのプラットフォームで。 同じトレースによってデバッグ、評価、および本番運用モニタリングが実行され、AI/BI ダッシュボード、アラート、Lakeflow Pipelines などのレイクハウスのその他の機能と連携します。

最初のトレースを取得する

MLflow とサンプル エージェント用のライブラリをインストールします:

Python
%pip install --upgrade "mlflow[databricks]>=3.1.0" "langgraph" "langchain-openai"
dbutils.library.restartPython()

OPENAI_API_KEY を設定して、エージェントがモデルを呼び出せるようにするか (または、外部キーを回避するためにエージェントを Databricks 基盤モデルAPIに向けます)。

Python
import os

os.environ["OPENAI_API_KEY"] = "your-api-key"

このエージェントを実行します。自動ログ記録により、ステップごとにスパンを含むトレースがキャプチャされます:

Python
import mlflow
from langchain_core.tools import tool
from langchain_openai import ChatOpenAI
from langgraph.prebuilt import create_react_agent

mlflow.langchain.autolog() # LangGraph uses LangChain's autolog
mlflow.set_tracking_uri("databricks")
mlflow.set_experiment("/Shared/my-first-trace")

@tool
def get_weather(city: str):
"""Get weather for a city."""
return f"It might be cloudy in {city}"

agent = create_react_agent(ChatOpenAI(model="gpt-4o-mini"), [get_weather])
agent.invoke({"messages": [("user", "What is the weather in SF?")]})
# Trace appears in the MLflow UI automatically

トレースを表示するには:

  1. ワークスペースで、 エクスペリメント に移動します。
  2. エクスペリメント(ここでは mlflow.set_experiment("/Shared/my-first-trace") によって設定されたもの)を見つけます。
  3. Click the Traces tab to see the trace.
  4. トレースを開いて、完全なスパンツリー(エージェント → LLM呼び出し → ツール呼び出し)を表示します。

MLflow UIで開いたトレース。スパンツリー、入力と出力、評価が表示されます。

次のステップ