プロンプトのテストと改善
学習の目的
この単元を完了すると、次のことができるようになります。
- 7 ステップの反復サイクルを適用してプロンプトを改善する。
- 実際のデータでプロンプトをテストする。
- プロンプトのよくある問題を特定して修正する。
- 本番環境にプロンプトをリリースして監視する。
- 結果に基づいてプロンプトを継続的に改善する。
7 ステップの反復サイクル
どんなレシピでも、何度も試しながら仕上げていくのが普通です。最初から思いどおりにできるとは限りません。味付けや火加減、調理方法を調整しながら、より良い仕上がりを目指します。プロンプトの反復改善も同じです。最初の試みでうまくいくことはまれです。以下の 7 ステップを繰り返しながら、望む結果に近づけていきます。
プロンプトのテストと改善は継続的なプロセス 次の 7 つのステップに従ってください。
- 作成する。 6 つの構成要素を使用して、最初のプロンプトを作成します。
- テストする。 サンプルデータと実際のシナリオを使って実行します。
- 評価する。成功基準に照らして結果を評価します。
- 問題を特定する。 うまくいった点と、うまくいかなかった点を特定します。
- 調整する。 学んだことをもとに、プロンプトを調整します。
- 再テストする。 同じサンプルデータを使用して、改善したプロンプトを実行します。
- リリースする。 問題なく機能するようになったら、本番環境に移行します。
これらのステップを順番に進めますが、必要に応じて前のステップに戻ってもかまいません。何度も試して改善するのは、うまくいっていないからではありません。そうやってプロンプトの質を高めていくのです。
メール生成の例: 初期バージョンから最終バージョンまで
反復サイクルの実際の流れは次のとおりです。
初期プロンプト (バージョン 1):
Write a follow-up email to a customer Customer: Sarah Issue: Billing problem Status: Resolved
テスト結果: メールの内容が一般的で、個別性が感じられません。
改善したプロンプト (バージョン 2):
Write a follow-up email to Sarah who had a billing issue Include: - Apology - Explanation of what happened - What we did to fix it Tone: Professional and empathetic
テスト結果: 改善されましたが、実際にどのように解決したかという詳細がまだ不足しています。
最終プロンプト (バージョン 3):
Role: You are a customer service manager Context: Sarah is a 2-year customer who experienced a billing error. We discovered we overcharged her $150 due to a system error on her third billing cycle. We've issued a full refund and applied a $50 loyalty credit. Task: Write a follow-up email thanking her for her patience and restoring confidence """ Customer: Sarah Issue: Billing error ($150 overcharge) Our action: Full refund issued, $50 loyalty credit applied Customer's response so far: Frustrated but cooperative """ Instructions: - Start with a sincere apology - Explain the root cause (system error on our part, not her mistake) - Confirm the refund and loyalty credit - Thank her for giving us a chance to fix it - Mention one way we're improving our billing system - Include a discount code for her next purchase (15% off) Tone: Warm, professional, genuinely apologetic Format: Email with subject line Constraints: Keep body under 200 words
最終結果: メールはパーソナライズされていて具体的で、関係を修復しようとする真摯な姿勢が伝わります。顧客の Sarah も、自分の話をきちんと聞いてもらえて、大切にされていると感じるでしょう。
Salesforce Platform の制約
リリースする前に、Salesforce がプロンプトの出力をどのように処理するかを理解しておきましょう。対象となる項目のデータ型によって、プロンプトの設計方法が変わります。たとえば、500 語の要約を生成するプロンプトは、標準のテキスト項目には収まりません。これらの制限を事前に把握しておけば、後から設計をやり直す手間を省けます。
Salesforce でプロンプトをリリースする場合は、次の項目の制限を理解しておきましょう。
テキスト項目
- 文字数制限: 255 文字
- 用途: 短い回答、概要、1 行の出力
- 制限事項: 長文コンテンツには使用できません
ロングテキストエリア
- 文字数制限: 131,072 文字 (約 20,000 語)
- 用途: メール全文、詳細な説明、複数段落のコンテンツ
- メリット: ほとんどのユースケースに十分な容量がある
リッチテキストエリア
- 文字数制限: 131,072 文字
- 用途: 書式設定、リスト、強調を含むコンテンツ
- メリット: 太字、斜体、箇条書き、番号付きリストに対応
- 最適な用途: 書式付きメール、詳細なガイド、構造化されたコンテンツ
リリースのヒント: 対象項目を念頭に置いてプロンプトを設計します。出力先をテキスト項目にする場合は、255 文字未満という制約を設定しましょう。
監視と継続的な改善
プロンプトは、リリースして終わりではありません。そこがスタートラインです。プロンプトビルダーには、本番稼働後のパフォーマンス監視に役立つ組み込みツールがあります。実際のデータ入力でプロンプトをプレビューしたり、トークン使用量を追跡したり、応答時間を監視したり、モデルやバージョンごとの結果を比較したりできます。これらのツールを使用して問題を早期に発見することで、継続的に改善します。
料理なら味見をするようなものです。皿に盛り付けてから味の問題に気づくのでは遅すぎます。
次のような兆候は、プロンプトに改善が必要であることを示していますので注意してください。
- 類似した入力なのに出力に一貫性がない
- 応答が汎用的すぎる、または要点を外している
- 出力が中途半端
- 応答が著しく遅い
- ユーザーから出力が役に立たないというフィードバックが来る
問題に気づいたら、プロンプトを改善してもう一度テストします。
よくあるプロンプトの問題とその解決方法
よく設計されたプロンプトでも、問題が発生することがあります。よくある問題とその対処方法は次のとおりです。
問題 | 症状 | 修正 |
|---|---|---|
曖昧すぎる | 汎用的で役に立たない出力 | タスクと指示をもっと具体的にする |
長すぎる | 応答が遅い、または途中で切れる | もっと短く、焦点を絞ったプロンプトに分割する |
指示が矛盾している | 出力が一貫しない | 矛盾がないか確認して簡潔にする |
項目のデータ型が間違っている | 出力が途中で切れる | プロンプトの出力を対象項目のサイズに合わせる |
データが繰り返される | 予期しない結果または一貫性のない結果が返される | 「一度だけ参照する」原則を適用する |
リリースチェックリスト
プロンプトを本番環境にリリースする前に、このチェックリストを使用して、実際の環境で使用できる状態かどうかを確認しましょう。
- 20 件以上の代表的なサンプルを使用してテスト済みである。
- 成功基準が明確に定義され、それらが満たされている。
- モデルを選択してテスト済みである (推測だけで選んでいない)。
- プロンプトが 6 つの構成要素から構成されている。
- 項目サイズの制約が検証済みである。
- エッジケースが特定され、対処済みである。
- プロンプトのドキュメントを作成済みである。
- 監視用の成功メトリクスが定義されている。
- ユーザーフィードバックを収集する計画が用意されている。
- 監視と改善のスケジュールが設定されている。
リリース後も、継続的に改善していくことが大切です。プロンプトは、実際の利用状況を踏まえて改善を重ねることで、さらに質が高まります。