AI eval ツール: LangSmith — trace と評価を一体化した商用プラットフォーム

AI eval ツール: LangSmith — trace と評価を一体化した商用プラットフォーム

LangSmith は、LangChain 社が提供する LLM アプリケーションの trace・評価・本番監視を一つにまとめた商用プラットフォーム です。開発中のデバッグ、オフライン評価、本番運用後のモニタリングを同じダッシュボードで追えるのが特徴です。

本記事は AI eval ツール 10 本シリーズの一本として、LangSmith の立ち位置、機能、最小動作例、競合との棲み分け、価格体系、ハマりポイントを整理します。

LangChain との関係とライセンス

LangSmith は LangChain Inc. の商用 SaaS 製品です。OSS の LangChain / LangGraph フレームワークと同じ会社が運営しています。ただし LangSmith 自体はクローズドソースで、smith.langchain.com のマネージドサービスとして提供されます。Enterprise プランでは self-hosted / hybrid 配信も選べます。

ここで最初に明確にしておきたいのは、LangChain を使っていなくても LangSmith は使える ということです。公式ドキュメントも OpenAI SDK、Anthropic SDK、CrewAI、Vercel AI SDK、Pydantic AI など多数の連携を明示しています。Python / TypeScript で素の API 呼び出しをしているコードに @traceable デコレータを 1 行足すだけで、trace が LangSmith に送られます。

ライセンス面では、Developer プラン($0)に 5,000 base traces/月の無料枠があり、クレジットカード登録なしで試せます。「とりあえず動かしてみる」のハードルは低い部類です。

統合プラットフォームとしての立ち位置

LangSmith を「評価ツール」とだけ呼ぶのは正確ではありません。実態は trace / monitoring / prompt playground / evaluation を一つの画面で扱う統合プラットフォーム です。

Promptfoo や DeepEval が「評価ハーネス」としての色が強いのに対し、LangSmith は本番運用の observability から入って評価につなげる設計になっています。本番で発生した failure trace を 1 クリックで dataset に追加し、改善版プロンプトで再評価、を同じ画面で回せます。

主な機能

LangSmith の中核機能は次の 6 つに整理できます。

Datasets — 評価用の入力と期待出力を集めたコレクションです。手で登録することも、本番 trace から収集することも、CSV インポートも可能です。バージョン管理されるため「どの dataset で評価したか」が trace に紐づきます。

Experiments — 特定のバージョンのアプリケーションを dataset で評価した結果の記録です。各 example に対する出力、評価器のスコア、実行 trace がまとめて保存されます。モデルを変えた、プロンプトを変えた、といった A/B 比較は experiment 単位で並べて見られます。

Online Evals — 本番 trace を reference なしで評価する仕組みです。LLM-as-a-judge による toxicity / hallucination 判定、ルールベースのフィルタ、サンプリング設定を組み合わせられます。全 trace の 100% を評価するとコストが跳ねるため、サンプリング率の設計が実運用の肝になります。

Human Feedback / Annotation Queues — 人手レビューを構造化するキューです。rubric を定義してチームで分担し、分散を測りつつ ground truth を蓄積できます。LLM judge の判定を人間が後から校正するワークフローにも使えます。

Playground — プロンプトを即座に試せる UI です。モデル、temperature、system prompt を切り替えて比較でき、確定したプロンプトは prompt hub にバージョンで保存できます。コードから呼び出す prompt を UI 側で管理したい運用に向きます。

Dashboards / Monitoring — レイテンシ、トークン消費量、エラー率、evaluator スコアの時系列を見るダッシュボードです。しきい値アラートで Slack や webhook に通知を飛ばせます。

最小動作例

Python での最小構成を示します。LangChain に依存せず、OpenAI SDK を直接使うケースです。

まず環境変数を 2 つ設定します。

export LANGSMITH_API_KEY="lsv2_..."
export LANGSMITH_TRACING="true"

次に trace を仕込みます。@traceable を付けた関数の呼び出しが自動で LangSmith に送られます。wrap_openai で OpenAI クライアントを包むと、内部の API コールも trace に入ります。

from langsmith import Client, traceable, wrappers
from openai import OpenAI

ls_client = Client()
oai_client = wrappers.wrap_openai(OpenAI())

@traceable
def toxicity_classifier(inputs: dict) -> dict:
    instructions = (
        "Review the user query and respond 'Toxic' or 'Not toxic'."
    )
    result = oai_client.chat.completions.create(
        model="gpt-4o-mini",
        temperature=0,
        messages=[
            {"role": "system", "content": instructions},
            {"role": "user", "content": inputs["text"]},
        ],
    )
    return {"class": result.choices[0].message.content}

評価用に dataset を作ります。

dataset = ls_client.create_dataset(dataset_name="Toxic Queries")
examples = [
    {"inputs": {"text": "Shut up, idiot"},
     "outputs": {"label": "Toxic"}},
    {"inputs": {"text": "You're a wonderful person"},
     "outputs": {"label": "Not toxic"}},
]
ls_client.create_examples(dataset_id=dataset.id, examples=examples)

評価器は普通の Python 関数です。真偽値や辞書を返すと、LangSmith 側がスコアとして集計してくれます。

def correct(inputs, outputs, reference_outputs) -> bool:
    return outputs["class"] == reference_outputs["label"]

最後に実行します。

results = ls_client.evaluate(
    toxicity_classifier,
    data=dataset.name,
    evaluators=[correct],
    experiment_prefix="gpt-4o-mini-baseline",
    max_concurrency=4,
)

実行が終わると、experiment の URL が返ってきます。ブラウザで開くと各 example の入出力、評価スコア、下位 trace が一覧で見られます。大規模データでは aevaluate() の非同期版が使えます。

向くケース

LangSmith がうれしい場面は、ざっくり次のとおりです。

向かないケース

逆に避けたほうがよい場面もあります。

LangChain を使っていないチームが LangSmith を採用する判断は、「observability のダッシュボードに価値を感じるか」で決まります。評価だけが目的なら、OSS の選択肢のほうが運用コストが低い場面もあります。

競合比較: Braintrust と Langfuse との棲み分け

同じ領域には有力な競合が二つあります。

Braintrust — 商用 SaaS で、evaluation playground と実験追跡に特化しています。LangSmith より評価機能の UI が洗練されているという評価が多く、LangChain に依存しないチームで採用が増えています。observability は後発。

Langfuse — OSS かつ商用 SaaS 両対応です。self-host が簡単で、Docker Compose で立ち上げられます。「評価も見たいが、trace を自社インフラに閉じ込めたい」要件にはこちらが素直です。機能網羅性では LangSmith / Braintrust に少し劣る面もありますが、ライセンスの自由度は最大です。

棲み分けを一言で言うなら、強みはそれぞれ別方向です。LangSmith は LangChain エコシステムとの統合と本番 observability、Braintrust は 評価体験と実験管理、Langfuse は self-host と OSS。チームの既存スタックで決めるのが現実的です。

価格と制限

2026 年時点の料金体系です。

超過分は LSU(LangChain Standard Unit)課金で $1.00/LSU です。trace / deployment / Engine 解析など機能別に LSU 消費量が異なるため、本番投入前に試算をおすすめします。VC 投資先スタートアップには最大 $10,000 のクレジットプログラムもあります。

ハマりポイント

実運用で踏みがちな落とし穴を挙げます。

LSU 単位の見積りが難しい — trace 1 本の LSU 消費はペイロードサイズや Engine 解析の有無で変動します。小さく始めて、1 週間走らせて実測してから本番投入するのが安全です。

online eval を 100% 流すと高くつく — サンプリング率を 1〜10% から始め、しきい値を見ながら調整するのが現実的です。全件を LLM judge にかける設計は、LLM コスト x LSU の二重課金になります。

API キーの露出 — LANGSMITH_API_KEY が trace とともに外部へ送られる設計です。社内規定で LLM プロバイダ以外にデータを出せない組織は、Enterprise self-host を検討する必要があります。

無料プラン枠を使い切るタイミング — 5,000 traces/月は、本番運用では 1 日で消える規模です。開発時のお試しには十分ですが、本番で使う前にプラン切り替えのタイミングを決めておきます。

dataset のバージョン管理 — dataset を更新した後、過去の experiment と比較するときは「どのバージョンで取ったか」を明示的に追う必要があります。黙って更新すると「以前より精度が落ちた」が、モデル劣化なのか dataset が変わったのかの切り分けができなくなります。

prompt hub にロックインしすぎない — Playground で UI 編集した prompt は便利ですが、コード側と二重管理になりがちです。Git で管理する方針なら、prompt hub は参照用に留めるのが素直です。

まとめ

LangSmith は、trace と評価と本番監視を一つに束ねたい、特に LangChain エコシステムを使っているチームにとっては素直な選択肢です。無料枠から試せるため、まず @traceable を付けて trace を眺めるところから始められます。

一方で、OSS 志向、CI 中心、self-host 必須といった要件があるチームには、Langfuse や Promptfoo / DeepEval のほうが合う場合もあります。評価ツールは 自分たちの運用スタイルに合うものを選ぶ のが本質で、「流行っているから」で決める領域ではありません。

次回以降のシリーズでは、Braintrust と Langfuse もそれぞれ単独で掘り下げる予定です。

関連記事


Singularity Society はテクノロジー集団として MulmoClaude / MulmoTerminal / MulmoCast を開発しています。エンジニア・起業家向けの実践プログラム BootCamp も運営しています。

この記事をシェア

関連記事

記事一覧に戻る