---
title: 実験
sidebarTitle: 実験
description: 変数を分離して出力を比較することで、LLM アプリケーションを体系的に改善するための実験の使い方。
translatedAt: 2026-08-19
---

# 実験

## 実験はループのどこに位置するか

システムの挙動を体系的に理解・改善するには、原因と結果を分離する方法が必要です。
[実験](/docs/evaluation/core-concepts#experiments)がそれを提供します。
1 つまたは複数の変数を選び、システムの 2 つのバージョンに同じデータセットを通し、出力を比較します。
結果は、ある変更が本当に役立ったか、どの程度役立ったかを教えてくれます。
どの程度役立ったかを理解するには、実験の出力を評価することも必要です ([評価を参照](/academy/japan/evaluate))。
このセクションでは、評価の前段にある体系的な実験の進め方を扱います。

## 実験の構造

すべての実験には 4 つの構成要素があります。

| 要素               | 内容                                                                                                                                              |
| ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------- |
| **ベースライン**   | 現在の本番システム。他のすべての構成を測定する対照条件です。1 つだけ変数を変える間、これは固定したまま保ちます。                                  |
| **データセット**   | 両条件に対して通す入力。時系列で比較可能にするため、実験間で同じデータセットを使い続けます。                                                      |
| **変数**           | 変更する設定。モデル、プロンプト、コンテキスト、ツールアクセス、エージェントアーキテクチャなど。下記の [変数](#on-variables) を参照してください。 |
| **比較対象の出力** | 各条件のもとでシステムが生成するもの。これらを比較することが、実験を実施する実質的な作業です。                                                    |

一度に変更する変数は 1 つに絞ると役立つことが多いです。
ただし、変数同士は相互作用し、複数を同時に変える必要のある構成もあります。

### 変数 [#on-variables]

- **モデル。** 使っている AI モデル。推論重視のモデル、安価なモデル、速いモデルがあり、それぞれ品質・速度・コストでトレードオフがあります。
- **プロンプト。** 最もよく動かす変数。[プロンプト実験を行う](/docs/evaluation/experiments/experiments-via-ui)前に問いかけてください。失敗は仕様の問題 (曖昧または不完全なプロンプト) か、汎化の問題 (明確な指示をモデルが一貫して適用できていない) か?
  後者は計測する価値があります。
- **コンテキスト。** プロンプトに含める情報。取得したドキュメント、会話履歴、ユーザーメタデータなど。
- **ツールアクセス。** ツールの追加・削除により、システムが取りうる経路が変わります。
- **エージェントアーキテクチャ。** シングルエージェント vs マルチエージェント、どのフレームワークか、タスクをどう分解するか。
  最も影響範囲の大きな選択で、最も分離が難しい変数です。

## 実験の使い方 [#how-experiments-are-used]

中心となる流れは、変数を 1 つ選んで仮説を立て、両方の条件をデータセットに対して実行し、出力を比較し、何かを学び、それを繰り返すことです。

![実験ループ](/images/academy/experimentation.png)

典型的な試みには次のようなものがあります。

- 新しいモデルが出た。システムの性能を向上させるだろうか?
- プロンプトを変更したら、システムの出力品質は向上するだろうか?
- 新しいエージェントの構成は、マルチエージェント構成より良い結果を生むだろうか?

定性的なところから始めましょう。
同じ入力、両条件、トレースを並べて比較します。
これがアプリにとっての「良い」が何かを学ぶ方法です。
実出力を定期的に読まなければ、メトリクスは誤読しやすいものです。

[スコア](/docs/evaluation/scores/overview)は比較を具体的にしてくれます。
勝率、勝ちが入力全体に分散しているか集中しているか、コストやレイテンシーのトレードオフなど。
品質・価格・速度は同方向に動くことはまれです。
実験はそれらの綱引きを抽象論ではなく、自分たちのデータで見せてくれます。

## どこから始めるか

インフラを整える前に、小さく手動の比較から始めましょう。
トレースを並べた数件の例から、最初の 1 時間で学べることは、セットアップに 1 週間かけて学べることよりも多いはずです。

1. 20〜30 件の実例を集めます。本番トレースから引いてくるか、現実的な例を考えます。
   全経路を網羅する必要はなく、アプリケーションが扱う現実の一断面で十分です。
2. 設定を変更し、両方のバージョンを実行します。それ以外はすべて同一に保ちます。
3. トレースを並べて読みます。評価器はまだ不要です。ただ読んでください。
   何が違うか? どちらが実際に良く、なぜそうなのか?
   失敗の種類に注目してください。プロンプトが不明瞭なのか、明確な指示をモデルが一貫して適用していないのか。
   この区別が、次にどんな修正を試すべきかを教えてくれます。
4. 直感が育ったら評価器を追加します。何度か手動で見比べた後で、何を探すべきかが分かるはずです。
   それをコード化します。そこからスケールできます。

## 次のステップ

実験が改善につながったかを判断するには、結果を評価する必要があります。
次のセクションで [評価手法](/academy/japan/evaluate) について学んでください。

> **ガイド: [CI/CD での実験](/docs/evaluation/experiments/experiments-ci-cd)**
>
> リリース前に一貫したテストを行うため、実験をリリースプロセスに統合します。

<!-- agent-instructions -->

---

## Agent Instructions

This page is part of the [Langfuse](https://langfuse.com) documentation, published as plain Markdown for AI agents. Every page is available as Markdown by appending `.md` to its URL, or by sending an `Accept: text/markdown` header. This page: `https://langfuse.com/academy/japan/experiments.md`.

### Querying these docs

If the answer is not on this page, query the documentation instead of guessing:

- **Semantic search** across all Langfuse docs, returning an answer with the relevant pages and excerpts. Ask a specific, self-contained question:

  ```bash
  curl -sG "https://langfuse.com/api/search-docs" --data-urlencode "query=How do I trace a LangGraph agent?"
  ```

- **Index of every page**: <https://langfuse.com/llms.txt>, with per-section indexes [llms-docs.txt](https://langfuse.com/llms-docs.txt), [llms-integrations.txt](https://langfuse.com/llms-integrations.txt), and [llms-self-hosting.txt](https://langfuse.com/llms-self-hosting.txt).

### Before writing Langfuse code

- **Install the [Langfuse Agent Skill](https://langfuse.com/docs/api-and-data-platform/features/agent-skill).** It encodes Langfuse's own best practices for instrumentation, prompt management, and evaluation, and materially improves results.
- **Read [What does a good trace look like?](https://langfuse.com/docs/observability/best-practices.md)** before instrumenting an application.
- **Verify endpoints, parameters, and response fields** against the [API reference](https://api.reference.langfuse.com) instead of inferring them from code examples.
- **Use the [Langfuse CLI](https://langfuse.com/docs/api-and-data-platform/features/cli)** (`npx langfuse-cli api <resource> <action>`) to read or write traces, prompts, datasets, and scores from the terminal.

Found an error in these docs? Please open an issue at <https://github.com/langfuse/langfuse-docs/issues>.
