プロンプト管理比較:LangSmith vs PromptLayer vs Pezzo でプロンプトをバージョン管理する
オープンソースラボ編集部 ・ 2026年6月14日
プロンプト管理比較:LangSmith vs PromptLayer vs Pezzo でプロンプトをバージョン管理する
📝 LLMアプリのプロンプトをGitのようにバージョン管理・テスト・モニタリングするツール。LangSmith・PromptLayer・Pezzoを比較します。
プロンプト管理の必要性
LLMアプリケーションではプロンプトが「コード」の役割を担います。バージョン管理なしでは「昨日から急に性能が落ちた原因がわからない」という状況が生まれます。
主要ツール比較表
| 項目 | LangSmith | PromptLayer | Pezzo |
|---|---|---|---|
| ライセンス | SaaS(LangChain社) | SaaS | Apache 2.0(OSS) |
| セルフホスト | × | × | ◎ |
| バージョン管理 | ◎ | ◎ | ◎ |
| A/Bテスト | ◎ | ○ | ○ |
| トレース/ログ | ◎ | ◎ | ◎ |
| LangChain統合 | ◎ネイティブ | ○ | ○ |
| コスト計算 | ◎ | ◎ | ○ |
| 評価(Eval) | ◎ | △ | ○ |
各ツールの特徴
LangSmith
LangChain社が提供するLLMアプリのObservability・プロンプト管理プラットフォーム。LangChainユーザーには特に強力な選択肢です。
主な特徴:
- LangChainのすべての呼び出しを自動でトレース
- プロンプトのHub(バージョン管理・共有)
- 評価(Evaluator)でプロンプトの品質を定量測定
- データセットとテストの管理
- コスト・レイテンシーのダッシュボード
from langchain import hub
from langchain_openai import ChatOpenAI
import langsmith
# 環境変数設定
import os
os.environ["LANGCHAIN_TRACING_V2"] = "true"
os.environ["LANGCHAIN_API_KEY"] = "ls-xxxx"
os.environ["LANGCHAIN_PROJECT"] = "my-app"
# プロンプトをHubから取得(バージョン管理済み)
prompt = hub.pull("myorg/article-writer:v3")
# 自動的にLangSmithへトレースが送られる
llm = ChatOpenAI(model="gpt-4o")
chain = prompt | llm
result = chain.invoke({
"topic": "Kubernetes",
"language": "日本語"
})
# 評価(Evaluator)の実行
from langsmith.evaluation import evaluate
def accuracy_evaluator(run, example):
# カスタム評価ロジック
prediction = run.outputs["output"]
reference = example.outputs["expected"]
score = 1.0 if reference in prediction else 0.0
return {"score": score, "key": "accuracy"}
evaluate(
"myorg/article-writer",
data="my-test-dataset",
evaluators=[accuracy_evaluator],
experiment_prefix="v3-test"
)
向いているケース: LangChain使用中・トレース+評価をセットで
PromptLayer
LangChainに依存しないプロンプトロギング・バージョン管理SaaS。どのLLMプロバイダーにも対応します。
主な特徴:
- 1行でOpenAI/Anthropicの呼び出しをラップしてログ取得
- プロンプトテンプレートのバージョン管理
- コスト・トークン使用量のレポート
- チームでのプロンプト共有と権限管理
import promptlayer
from promptlayer import openai
promptlayer.api_key = "pl-xxxx"
# OpenAIをそのまま置き換えるだけ
response = openai.chat.completions.create(
model="gpt-4o",
messages=[
{"role": "system", "content": "あなたは技術記事ライターです。"},
{"role": "user", "content": "Kubernetesについて500字で解説してください。"}
],
pl_tags=["article-generation", "kubernetes"], # タグで分類
)
# プロンプトテンプレートを取得して実行
template = promptlayer.templates.get("article-writer", version=3)
response = openai.chat.completions.create(
**template.format(topic="Kubernetes"),
pl_tags=["from-template"]
)
向いているケース: LangChain非依存・シンプルなロギング
Pezzo
セルフホスト可能なOSSのプロンプト管理プラットフォーム。データをSaaSに送りたくない場合の選択肢です。
主な特徴:
- Apache 2.0のOSSでセルフホスト可能
- プロンプトのバージョン管理・デプロイ(staging/production環境分離)
- OpenAI/Anthropic対応のAPIプロキシ
- チームコラボレーション機能
// Pezzo TypeScript SDK
import { Pezzo, PezzoOpenAI } from "@pezzo/client";
import OpenAI from "openai";
const pezzo = new Pezzo({
apiKey: "pez-xxxx",
projectId: "my-project",
environment: "Production",
});
const openai = new PezzoOpenAI(pezzo);
// プロンプトはPezzoダッシュボードで管理
const prompt = await pezzo.getPrompt("ArticleWriter");
const response = await openai.chat.completions.create(
prompt.content,
{ variables: { topic: "Kubernetes" } }
);
# Docker Composeでセルフホスト
git clone https://github.com/pezzolabs/pezzo
cd pezzo
docker-compose up -d
向いているケース: セルフホスト必須・データプライバシー重視
選択ガイド
| 状況 | 推奨 |
|---|---|
| LangChain使用中・トレース重視 | LangSmith |
| LangChain不使用・シンプルログ | PromptLayer |
| セルフホスト・OSS必須 | Pezzo |
内部リンク
外部リソース
FAQ
Q. プロンプトのバージョン管理はGitだけではダメですか?
Gitはコードのバージョン管理に向いていますが、実行ログ・コスト・レイテンシー・評価スコアといったLLM特有の情報はGitでは管理できません。
Q. LangSmithはLangChainなしでも使えますか?
はい。LangSmithのSDK(langsmith パッケージ)を使えばLangChain非依存でもトレースを記録できます。
Q. プロンプトのA/Bテストはどうやって実施しますか?
LangSmithのExperiments機能で同一データセットに複数プロンプトを適用してメトリクスを比較できます。
Q. APIコストが心配です。プロンプト管理ツール自体にコストはかかりますか?
LangSmith・PromptLayerは無料枠あり(月数千〜数万リクエストまで)。Pezzoはセルフホストなので無制限・無料です。