top of page

Langfuseによるプロンプト管理 (後半) - プロンプト開発&実験編

執筆者の写真: KAMON NobuchikaKAMON Nobuchika

更新日:3月8日

[前回の記事] では、「Langfuse」を活用したプロンプト管理の方法を具体的に解説しました。Prompt をハードコードすることなく、Diff 、 Commit コメント 、Duplicate (複製) 、タグ などの機能を、直感的にエンジニアから非エンジニアまで幅広く使うことができますという内容です。まだご覧になっていない方は、ぜひチェックしてみてください。


さて今回は、Langfuseでのプロンプト開発と評価について触れていきたいと思います。



Langfuseによるプロンプトの新規作成


Langfuse にログインをしたら、左側のメニューバーから [Prompts] を選択し、右上の [+ New prompt] から新規作成を始めます。


画面右側の [+ New prompt] を選択
画面右側の [+ New prompt] を選択

そして以下の新規作成ページに移りますので、必要項目を埋めるだけです。


新規作成ページ
新規作成ページ

各項目の説明は以下の通りです。

  • Name は Prompt に対する任意の名前で、プログラム側から指定するもの

  • Prompt に具体的に入れたいプロンプト内容を入力します。Text か Chat を選ぶことができ、Chat を指定すると、それぞれのrole (System, Assistant, Developer, User) を指定してメッセージを入れることが可能です。Prompt の中には {{variable}} の形式で変数を埋め込め、ユーザーの入力値などを受け取って処理するために使えます。

  • Config は前回のブログでご紹介した通り、JSONで任意の値を入れることができるパラメーターになっております。例えば以下のようにモデル名の指定などで使うことができます。


{
    "model": "models/gemini-2.0-flash-001"
} 

  • LabelsはデフォルトでProduction ラベルをつけるかどうかの選択です。Productionになっていると、プログラムコードでラベルを指定しない場合に選択されて使用されます。後で変更可能です。

  • Commit message は必須ではありませんが、Version1 以降はつけておくとチームメンバーなどに意図を伝えるために有益だと思います。



Playgroundの利用


まず新規での作り方を記載しましたが、場合によっては0から考えるのが難しいことがあると思います。そんな時に使える Playground 機能をご紹介します


Playground 画面
Playground 画面

左側のメニューから [Playground] を選択すると、Playground画面に遷移します。


基本的な使い方としては、試してみたいPrompt を [Messages] に入れ、画面右側で定義した [Model] で、モデルの種類や、各種パラメータを設定するだけ* です。また変数を入れて、右下の [Variables] に値を入れます。


例えば今回のPromptには


以下の文章が LLM の動作原理を説明する文章として正しいかどうかを判定しなさい。
{{text_input}}

という記載が含まれており、この変数 text_input の値として テキストボックスに


LLM は、主に「Transformer」と呼ばれる深層学習 (ディープラーニング) のアーキテクチャを基盤としています。このモデルは、大量のテキストデータ (書籍、ウェブサイト、記事など) を読み込み、単語や文の間の関係性 (文脈、意味など) を学習します。また学習した知識を基に、与えられた入力 (プロンプト) に対して、最も適切と思われる出力 (文章、回答など) を生成します。

を入れます。そしてSubmit すると、 [Output] にLLM からの回答が入っています。

この内容が気に入れば、右上の [Save as prompt] を押すと先ほどの新規作成画面に遷移し、そのまま新規Prompt にすることができます。

気に入らなければ好きなだけ修正するなり、初期化したければ [Reset playground] をするだけです。


*Model自体の登録はこの画面ではなく、メニューの [Settings] から あらかじめ設定しておく必要がありますのでご注意ください。Langfuse側からLLMモデルを利用しますので、課金されることにご注意ください。



Prompt Experiment の利用


新規作成後、LLMアプリケーションの運用においてPromptの改善が必要な場面に出くわすと思います。Prompt Experiment 利用すると変更したプロンプトに対して、リリース前に過去のユーザーのTrace をDataset にするなどして挙動が改善するかを確かめることができます。


Prompt Experiment
Prompt Experiment

文字通りPrompt の実験として、対象Prompt とバージョンやモデルなどを指定し、

利用するDataset を設定します。


Datasetの指定
Datasetの指定

このDataset は0から作っておくもよいですし、Trace から直接Dataset に入れることで過去正常に動いたものがデグレしないか、不具合あったInputが改善されているかを実際に確かめていただくことができるようになります。また、LLM as a judge などと連携することで、自動で定量的な評価なども付加することが可能です。LLM as a judge については、こちらのブログ で詳しく紹介しておりますので、是非あわせてご覧ください。(当該ブログの "テスト実行と結果の可視化" に相当する部分が本項に相当します。)


なお今回ご紹介したPlayground とExperiment はSelf-hosted のOSS 版には含まれません (SaaS であれば無償のHobbyプランで使えます) のでご注意ください。


まとめ:Langfuseでプロンプト新規開発とテストを簡単に。


いかがでしたでしょうか。Langfuseを活用し、Promptの新規作成 - 管理までを簡単に実施できることがご確認いただけたと思います。本記事が効率的なLLMアプリケーションの開発とオペレーションのお役に立てれば幸いです。

本機能の具体的なユースケースや使い方のデモなどにご興味がある方は、ぜひこちらからお気軽にお問い合わせください。






 
 
 

Comments


bottom of page