オープンソースLLMOps・プロンプト管理比較:Langfuse vs PromptLayer vs MLflow でLLMを監視する
オープンソースラボ編集部 ・ 2026年6月13日
オープンソースプロンプト管理・LLMOps比較:Langfuse vs PromptLayer vs MLflow でLLMを監視する
LLMアプリを本番環境で運用するには、プロンプトのバージョン管理・コスト追跡・品質評価・A/Bテストが必要です。Langfuse・PromptLayer・MLflowでLLMOps(LLMのDevOps)を実現しましょう。
LLMOpsが解決する問題
本番LLMアプリで必ず直面する課題:
- プロンプトの管理: どのバージョンのプロンプトが最良か追跡できない
- コスト爆発: どの機能が何トークン使っているか不明
- 品質低下の検知: モデルアップデートでレスポンス品質が変わっても気づかない
- デバッグ困難: ユーザーがエラーを報告しても再現できない
主要ツールの概要
Langfuse
オープンソースのLLM可観測性プラットフォームです。すべてのLLMコール・トレース・スコアを記録し、ダッシュボードで品質・コスト・レイテンシを可視化します。
# Langfuseのセルフホスト
git clone https://github.com/langfuse/langfuse.git
cd langfuse
cp .env.example .env
docker compose up -d
from langfuse import Langfuse
from langfuse.openai import openai
# Langfuseで自動トレーシング(OpenAIをwrap)
langfuse = Langfuse(
public_key="pk-lf-...",
secret_key="sk-lf-...",
host="http://localhost:3000",
)
# OpenAIのAPIコールが自動的にLangfuseに記録される
response = openai.chat.completions.create(
model="gpt-4o",
messages=[{"role":"user","content":"こんにちは"}],
name="chat-endpoint",
)
# スコアを記録(人間評価・自動評価)
langfuse.score(
trace_id=response.id,
name="quality",
value=0.9,
comment="正確で簡潔な回答",
)
PromptLayer
プロンプトのバージョン管理とログ記録に特化したツールです。GitHubのようにプロンプトを管理し、A/Bテストを実施できます。
import promptlayer
openai = promptlayer.openai
response = openai.chat.completions.create(
model="gpt-4o",
messages=[{"role": "user", "content": "こんにちは"}],
pl_tags=["production", "chat"],
return_pl_id=True,
)
MLflow(LLMトラッキング)
機械学習実験管理ツールとして有名なMLflowですが、v2.11以降でLLMトレーシング・プロンプト管理・評価機能が大幅に強化されました。
import mlflow
import mlflow.openai
mlflow.set_experiment("llm-chatbot")
with mlflow.start_run():
mlflow.log_param("model", "gpt-4o")
mlflow.log_param("temperature", 0.7)
response = client.chat.completions.create(
model="gpt-4o",
messages=[{"role": "user", "content": prompt}],
)
mlflow.log_metric("tokens_used", response.usage.total_tokens)
mlflow.log_metric("latency_ms", latency)
mlflow.log_text(response.choices[0].message.content, "response.txt")
機能比較表
| 比較項目 | Langfuse | PromptLayer | MLflow |
|---|---|---|---|
| LLMトレーシング | ✅ 高機能 | ✅ | ✅ |
| プロンプト管理 | ✅ | ✅ 高機能 | ✅ |
| コスト追跡 | ✅ | ✅ | ✅ |
| 品質評価(スコア) | ✅ | ✅ | ✅ |
| A/Bテスト | ✅ | ✅ | ⚠️ |
| データセット管理 | ✅ | ❌ | ✅ |
| LangChain統合 | ✅ | ✅ | ✅ |
| LlamaIndex統合 | ✅ | ✅ | ✅ |
| リアルタイムダッシュボード | ✅ | ✅ | ✅ |
| セルフホスト | ✅ | ❌(SaaSのみ) | ✅ |
| モデル評価(Evals) | ✅ | ❌ | ✅ |
| ライセンス | MIT | プロプライエタリ | Apache 2.0 |
| GitHub Stars | 8k+ | 1k+ | 18k+ |
Langfuseのプロンプト管理機能
Langfuseのプロンプト管理を使うと、プロンプトのバージョン(v1・v2・v3)をGit履歴のように管理し、本番環境で特定バージョンにロールバックできます。
from langfuse import Langfuse
langfuse = Langfuse()
# プロンプトのバージョンを取得
prompt = langfuse.get_prompt("customer-support-prompt", version=3)
# 変数を注入してプロンプトを構築
compiled_prompt = prompt.compile(
customer_name="田中太郎",
product="Pro Plan",
)
# LLMに送信してトレース記録
response = openai.chat.completions.create(
model="gpt-4o",
messages=[{"role":"user","content": compiled_prompt}],
)
# A/Bテスト: 50%のユーザーにv3・50%にv4を送信
import random
version = 4 if random.random() > 0.5 else 3
LLM観測・管理ツールはLLMツールカテゴリ(/categories/llm-tools)で一覧でき、DevOps・監視ツールはDevOpsカテゴリ(/categories/devops)でも探せます。
FAQ
Q. LangfuseはLangSmithと何が違いますか?
A. 機能的には非常に近いです。LangSmith(LangChain公式)はLangChainとの統合が深く設定が容易で、セルフホストはエンタープライズプランのみです。Langfuseはオープンソース・セルフホスト可能・LangChain以外のSDKにも対応しています。データをEU/日本サーバーに保持したい場合はLangfuseのセルフホストが最適です。
Q. プロンプトエンジニアリングの品質をどう数値化しますか?
A. Langfuseでは「スコア」として記録できます: LLMに自動採点させる方法(LLM-as-judge)・ユーザーのフィードバック(サムズアップ/ダウン)・人間評価者のスコア。複数の採点方法を組み合わせてRaagasやTruEraのような評価ライブラリとも連携できます。
Q. 本番のLLMアプリでどんなメトリクスを監視すべきですか?
A. 最低限監視すべきメトリクス: レイテンシ(P50・P95)・エラーレート・トークンコスト・モデル別使用量。品質指標: ユーザー満足度(フィードバックボタン)・LLM-as-judgeスコア・タスク成功率。Langfuseのダッシュボードでこれらをリアルタイムに可視化できます。
Q. ファインチューニング後のモデル評価はどのツールが最適ですか?
A. MLflowの実験管理機能が最適です。ファインチューニングの各実行(学習率・バッチサイズ・ステップ数)をMLflowに記録し、ベースモデルとの比較・異なるデータセットでの評価を一覧表示できます。HuggingFaceのevaluateライブラリと組み合わせて自動評価パイプラインを構築するのが一般的です。
まとめ
| ユースケース | 推奨ツール |
|---|---|
| LLMトレーシング・セルフホスト | Langfuse |
| プロンプトバージョン管理 | Langfuse / PromptLayer |
| ML実験管理・ファインチューニング | MLflow |
| LangChainとの深い統合 | LangSmith(非OSS) |