仕組み
フィーチャーフラグは、テストしたいプロンプトごとに1つのバリエーションを設け、各プロンプトをフィーチャー変数の値として保存します。訪問者がアプリケーションにアクセスすると、Kameleoon SDK は訪問者にバリエーションを割り当て、対応するプロンプトを返します。このプロンプトはアプリケーションコードから LLM に送信されます。フィーチャーフラグに紐づけられたゴールは、訪問者が LLM を活用した機能とやり取りしたとき、たとえばフォローアップの質問をしたり、アシスタントの助けを借りてタスクを完了したりしたときに、コンバージョンを記録します。十分なトラフィックを収集したら、各バリエーションのコンバージョン率を比較して、どのプロンプトが最も効果的かを判断します。前提条件
- Feature Experimentation 用に設定されたプロジェクトを持つ Kameleoon アカウント。
- アカウントのクライアント ID とクライアントシークレット。これらの値を確認するには、API認証情報 を参照してください。
- Kameleoon SDK をインストールできる Python アプリケーション。
Kameleoon でプロンプト実験を設定する
アプリケーションコードに手を加える前に、Kameleoon プラットフォームでフィーチャーフラグ、プロンプトのバリエーション、追跡するゴールを設定します。フィーチャーフラグを作成する
プロンプトのバリエーションを保持し、実験の展開を制御するフィーチャーフラグを作成します。- Kameleoon アプリで、Features > Flags & Experiments > New feature flag をクリックします。
- 名前を入力します (例:
LLM prompt test)。フラグを使用するプロジェクトを選択します。 - Description フィールドに、フラグが何を制御するかを記録し、チームの他のメンバーがその目的を理解できるようにします。
- Validate をクリックします。
プロンプトをフィーチャー変数に保存する
プロンプトのテキストを保持するフィーチャー変数を追加します。これにより、アプリケーションコードを編集せずに、Kameleoon プラットフォームからプロンプトを変更できます。- フラグのページで、左サイドバーの Set Up > Variables > Add Variable をクリックします。
- 変数の Type を String に設定します。
- Variable Key を入力します (例:
prompt_template)。 - Default Value に、アプリケーションが現在使用しているプロンプトを設定します。この値は、実験に含まれていない訪問者に配信されます。
- Save をクリックします。

プロンプトごとにバリエーションを作成する
テストしたいプロンプトごとに1つのバリエーションを作成し、それぞれでprompt_template 変数に対応するテキストを設定します。
- 左サイドバーで Set Up > Variations > Add variation をクリックします。
- バリエーションの Name を入力します (例:
Detailed summary)。 - このバリエーションの
prompt_template変数にプロンプトのテキストを設定します。 - Save をクリックします。
- テストしたい追加のプロンプトごとに、これらの手順を繰り返します。

エンゲージメントを測定するゴールを紐づける
フィーチャーフラグにゴールを紐づけて、どのプロンプトのバリエーションがより多くのエンゲージメントを生み出すかを Kameleoon が測定できるようにします。Kameleoon は統合されたプラットフォームであるため、他のチームが定義したトランザクションのゴールなど、組織内に既に存在するゴールを紐づけることも、LLM を活用した機能専用のゴールを新たに作成することもできます。- フラグのページで、Set Up メニューの Goals > Add goal をクリックします。
- 既存のゴールを選択するか、Create a new goal をクリックして、訪問者が LLM を活用した機能とやり取りしたときに発火するカスタムゴールなどを定義します。
- Save をクリックします。

実験を展開する
プロンプトのバリエーション間でトラフィックを分割する実験ルールを作成し、環境を有効化してデータの収集を開始します。- Rollout Planner で、対象としたい環境 (例: Production) を選択します。
- Add a rule > Experiment をクリックします。
- Variations to serve の下で、各プロンプトのバリエーションを追加し、それぞれの露出率を設定します。たとえば、2つのバリエーションにトラフィックを均等に50%ずつ振り分けます。
- テストしたい訪問者 (例: アプリケーションに到達するすべての訪問者) を含むように、ルールのターゲティングを設定します。
- 環境の ON/OFF トグルを ON に切り替えます。
- Save をクリックします。

アプリケーションでプロンプトを取得する
Kameleoon の Python SDK をインストールし、訪問者に割り当てられたプロンプトを取得して、訪問者が LLM を活用した機能とやり取りしたときにコンバージョンを追跡します。同じパターンは、Node.js、Java、Go を含む、任意の Kameleoon サーバーサイド SDK にも当てはまります。-
SDK を依存関係としてインストールします。
-
サイトコードと認証情報を使ってクライアントを初期化します。
-
LLM を呼び出す前に割り当てられたプロンプトを取得し、訪問者が LLM を活用した機能とやり取りしたときにコンバージョンを追跡します。
LLM にリクエストを送る前に、訪問者の
visitor_codeを指定してget_prompt_for_visitor()を呼び出し、返された値をプロンプトとして使用します。訪問者が質問を送信したり応答を受け取ったりするなど、LLM を活用した機能とやり取りしたときにtrack_llm_interaction()を呼び出します。
各訪問者に一意の ID を割り当てるには
get_visitor_code() を使用します。データを追跡する前に訪問者の同意が必要なアプリケーションでは set_legal_consent() を使用します。クライアントの初期化と構成に関する完全なリファレンスについては、Python SDK 開発者ガイド を参照してください。モニタリングと改善
フィーチャーフラグの結果ページを開き、紐づけたゴールに対する各プロンプトのバリエーションのコンバージョン率を比較します。アプリケーションがget_variation() と track_conversion() を呼び出すたびに、Kameleoon は露出とコンバージョンを自動的に追跡するため、追加の計測は必要ありません。
詳細については、フィーチャーフラグの全体的な結果を表示する を参照してください。
次のステップ
- カスタムデータ、クロスデバイス実験、ターゲティング条件などの高度なオプションについては、Python SDK リファレンス を参照してください。
- 実験を特定のオーディエンスにターゲティングするには、高精度なセグメンテーション条件 を紐づけます。
- モデルパラメータや検索設定など、LLM を活用した機能の他の部分を変数化するには、フィーチャー変数 を確認してください。