MLflow AI Gateway を使用した LLM トレーシング
MLflow AI Gateway は LLM 呼び出しのトレースを自動的に記録し、エージェンティックアプリやコーディングアシスタントのデバッグを支援します。この記事では、使用方法、LiteLLM との統合、Copilot CLI のサポート、そしてトレーシングがスケーリング問題であることについて説明しています。
記事インテリジェンス
要点
- MLflow AI Gateway はコード変更なしで LLM 呼び出しのトレースを取得できます。
- LiteLLM を介して Ollama をプロバイダーとするローカルテストが可能です。
- Copilot CLI などのツールは環境変数を設定することでゲートウェイ経由で呼び出せます。
- 大規模システムでは、個々のリクエストのログを関連付ける課題をトレーシングが解決します。
重要な理由
このニュースが重要なのは、MLflow AI Gateway はコード変更なしで LLM 呼び出しのトレースを取得できますためです。
技術的影響
モデル選定、推論コスト、プロダクト能力、評価基準に影響する可能性があります。
エージェンティックアプリやコーディングエージェントの普及に伴い、開発者はトークン消費量だけを気にしがちですが、LLM 呼び出しの内部で何が起こっているかはブラックボックスになりがちです。Claude Code、Gemini CLI、Codex、OpenCode、Copilot CLI などのツールは消費トークンを報告しますが、ユーザーがエージェントにクエリを送信した後、どのツールが使用され、LLM に何が送信されているのかは不明瞭です。エージェンティックフレームワークは元のプロンプトを書き換えることがあり、さらにフレームワークに組み込まれたシステムプロンプトはソースコードを調べない限り見えません。これ自体は悪いことではありませんが、プロンプトが期待通りに機能しない理由をデバッグする際には、LLM に実際に送信されている内容を把握することが非常に役立ちます。
MLflow AI Gateway を使用すると、指定されたゲートウェイ経由で LLM を呼び出すだけで、トレースが自動的に記録されます(無効化も可能)。これにより、コードを変更することなく LLM 呼び出しの詳細を取得できます。ローカルテストには、MLflow サーバーをデプロイし、LiteLLM 経由で Ollama をプロバイダーとして設定することで試せます。現時点ではレート制限はサポートされていませんが、計画中です。
MLflow AI Gateway はパススルー呼び出しもサポートしており、例えば Gemini ゲートウェイに対しては Gemini SDK を使用してアクセスできますが、Anthropic SDK では動作しません。すでに LiteLLM を採用しているチームは、MLflow を可観測性バックエンドとして利用できます。
CLI コーディングエージェントの場合、環境変数を設定することで MLflow AI Gateway エンドポイントを経由して LLM を呼び出し、トレースを確認できます。例えば、Copilot CLI では COPILOT_PROVIDER_BASE_URL、COPILOT_PROVIDER_TYPE、COPILOT_PROVIDER_API_KEY、COPILOT_MODEL を設定し、起動すると MLflow トレースに詳細が表示されます。記事では、プロジェクトを読み込んで説明するよう指示した際のトレース例が示されています。
さらに、eBPF と OTel を用いた可観測性ソリューションにも触れられており、これらはエージェンティックフレームワークや LLM プロバイダー SDK と連携可能ですが、結果は場合によります。最後に、トレーシングはスケーリングの問題であると指摘しています。小規模では手動デバッグが可能でも、大規模・高並行環境では個々のリクエストのログを追うのは困難であり、トレーシングツールがその負担を軽減します。