[Virtual] Langfuse Town Hall · Jun 11 →
Academy実験
Academy実験

実験

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

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

実験の構造

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

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

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

変数

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

実験の使い方

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

実験ループ

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

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

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

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

どこから始めるか

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

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

次のステップ

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

ガイド: CI/CD での実験
開く

リリース前に一貫したテストを行うため、実験をリリースプロセスに統合します。


Was this page helpful?

Last edited