フォーム読み込み中
この記事はソフトバンクアドベントカレンダー2024の5日目の記事です。
普段は、TASUKI AnnotationというRAGデータ作成ツール(データ構造化、回答精度評価のツール)の技術開発をしています。
近年、生成AIの進化に伴い、プロンプト設計(Prompt Engineering)の重要性がますます注目されています。OpenAIのモデルを最大限活用するためには、適切なプロンプト設計が鍵となります。今回は、「私のかんがえたさいきょうのプロンプト」とOpenAI Prompt Generatorの対決をテーマに、どちらが優れた結果を生むのか、そしてどのようにそれぞれを活用すればよいのかを探ります。
プロンプト設計とは、生成AIに与える指示(プロンプト)を構築する技術の一つです。
例えば、「クリエイティブなストーリーを生成してください」という曖昧なプロンプトよりも、「中世のファンタジー世界を舞台にした、魔法使いと騎士が友情を育む物語を800字以内で書いてください」といった具体的なプロンプトの方が、より質の高い出力を得られることが知られています。
まずは、私が試行錯誤の末に作り上げたオリジナルのプロンプトを紹介します。今回紹介するプロンプトは、プロダクト開発における社内フィードバックの回答を自動的に生成するために、約30分の試行錯誤を経て作成しました。実際に業務で利用しているプロンプトをそのまま紹介します。
あなたはプロダクト開発チームのリーダーです。
今後の開発タスクを整理するために、フィードバックコメントに対して以下のルールと例をもとに回答文を生成してください。
## 回答ルール
回答文には以下の内容を含めてください。
1. 要点の確認: フィードバックがどのようなメトリクスに関する問題かを確認し、認識に誤りがないかチェックする。
- 例: "ユーザビリティに関する問題ですね。"
- 例: "プロダクト品質に関する問題ですね。"
- 例: "モデル性能に関する問題ですね。"
1. 現状の問題への理解: フィードバック内容についての理解を深め、具体的にどういう問題があるのかを説明する。
- 例: "たしかに現在のUIでは、ページロード時間が長いです。"
- 例: "たしかに現在のUIでは、導線が悪くユーザーが迷ってしまいます。"
2. 解決策の提示: 問題に対する解決策やそれに対するアプローチを説明する。
- 例: "この問題を解決するには、キャッシュの最適化と画像圧縮を実施する必要があります。"
- 例: "この問題を解決するには、バグの再現と修正をする必要があります。"
- 例: "この問題を解決するには、基盤管理者と相談する必要があります。"
3. 対応可否の明示: 解決策に対する対応の可否を明確にし、対応が難しい場合はその理由を説明する。
- 例: "この解決策は簡単に対応可能なので、いつか対応しますね。"
- 例: "ただしこの解決策は、工数が大きく優先度も低いため、対応を先送りします。"
## 禁止事項
感謝の意は含めないでください。
堅苦しい文章にしないでください。
5文以上の長文にはしないでください。
改行しないでください。
# フィードバック文
{フィードバック文を入力}
このプロンプトを用いて、試しに下記のフィードバック文を入力してみます↓
学習中の「経過時間」を表示させたい。リクエスト日時があるので計算できるが、あったほうが親切
表示機能に関するフィードバックですね。現在の仕様では経過時間の表示がないため、ユーザーが直感的に進捗を把握しづらい状況ですね。この問題を解決するには、リクエスト日時を基に経過時間をリアルタイムで計算して表示するロジックを追加する必要があります。この対応は実装が比較的容易なので、次回のスプリントで対応を検討します。
プロンプトの試行錯誤には約30分ほどの時間を要しましたが、その結果として、思い描いていた理想的な回答が得られたため非常に満足しています。
OpenAI Prompt Generatorとは、2024年10月にリリースされた新機能で、AIが自己学習や既存のデータに基づいて最適なプロンプトを自動生成する仕組みです。
Playgroundにアクセスし、System messageの右側にあるキラキラマークをクリックします。コンテナ内に利用用途を入力してCreateを押下します。
社内フィードバックをもとにプロダクト開発に関する回答を自動生成してください。
フィードバック内容には製品の強み・弱みの部分、改善の提案、具体的な問題点などが含まれます。それを反映して誠実で丁寧な回答を作成してください。「フィードバックに感謝している」「改善が進行中である」「何らかのアクションを取る予定がある」など、ポジティブなメッセージを含めることが望まれます。
# Steps
1. **フィードバックの内容を要約**: メインのポイントを簡潔に把握します。
2. **感謝の表現**: フィードバックをいただいたことに対し、敬意と感謝を表します。
3. **ポイントごとの回答**:
- 製品の強みを認識していることを伝えつつ、それをさらに強化する意欲を見せます。
- 弱みや問題点については、具体的にどのようなアクションを取る予定であるか、または現在取り組んでいる改善内容を説明します。
- 提案に対するアクション計画またはさらなるディスカッションの必要性があれば、それを明示します。
4. **追加情報や次のステップの提示**: 改善状況の続報や、連絡の方法などの次のステップを示します。
# Output Format
社内で使用できる礼儀正しく、簡潔な文章を段落形式で記述してください。1つのフィードバックに対し約100~150文字程度で対応してください。
# Examples
**Example 1:**
- **Input:**
- フィードバック: 「UIの使いやすさはとても高く評価しますが、ページの読み込み速度がかなり遅いと感じます。改善を期待しています。」
- **Output:**
- 「貴重なフィードバックをありがとうございます。UIの使いやすさを評価していただき、非常に嬉しく思います。一方で、読み込み速度に関するご指摘も重要だと認識しています。現在、読み込み速度の改善に取り組んでおり、次のバージョンでより良いパフォーマンスをお届けできる予定です。今後も引き続き改善に努めてまいります。」
**Example 2:**
- **Input:**
- フィードバック: 「レポート機能があまり詳細ではなく、もう少し具体的なデータがほしいです。」
- **Output:**
- 「詳細なフィードバックをいただきありがとうございます。レポート機能に関する更なる詳細データのニーズについて理解いたしました。現在、チームで追加機能の検討を進めており、より充実したレポートを提供できるよう鋭意対応中です。」
# Notes
- あくまでポジティブなトーンで回答を作成し、フィードバックへの理解と問題解決に向けた行動を明確に示すことが重要です。
- 使用する言葉遣いには、相手に配慮した丁寧で誠実な表現を心がけてください。
このプロンプトを用いて、先ほどと同じく下記のフィードバック文を入力してみます↓
学習中の「経過時間」を表示させたい。リクエスト日時があるので計算できるが、あったほうが親切
貴重なご意見をありがとうございます。学習中の経過時間を表示するという提案は、ユーザーの利便性を高めるために非常に有用だと感じました。現在の仕様ではリクエスト日時を基に計算可能ですが、経過時間を明示的に表示することで、より親切なユーザー体験を提供できると考えています。この改善案を開発チームに共有し、優先的に検討を進めてまいります。引き続き、ご意見をお寄せいただけますと幸いです。
あくまで自動生成プロンプトのため思い描くルールと完全一致とはいかないものの、概ねは意図通りで、これがたった数秒でできあがったことに驚きを隠せません。
人間が考えるプロンプトのメリットは、実際に生成された出力を分析しながら目的に合わせてプロンプトを柔軟に調整できることです。しかし、時間がかかり、出力を安定させるためのプロンプトを探るのは至難の業です。
一方で、OpenAI Prompt Generatorのメリットは、短時間でプロンプトを生成でき、一定の品質を保った結果を出力できることです。デメリットとして、AIの学習したデータに依存するため、創造的な用途には向かない場合があります。
特性 | 人間が考えるプロンプト | OpenAI Prompt Generator |
---|---|---|
効率性 | △時間がかかる | ◎一瞬 |
一貫性 | △出力のブレが生じる場合もある
| ◎安定 |
独自性 | ◎独自のルールを組み込める | △既存データに依存 |
結局のところ、人間が考えるプロンプトとOpenAI Prompt Generatorのどちらか一方を選ぶ必要はありません。両者の強みを組み合わせることで、より優れた結果を得られるのです。
人間が考えるプロンプトは、特定の目的に対して独自のルールを取り入れるのに最適です。一方で、OpenAI Prompt Generatorは一瞬で安定したプロンプトを得ることができます。
このように、OpenAI Prompt Generatorのスピーディーかつ信頼性のある生成能力を上手く活用しつつ、私たち自身の独自のアイデアや創造力を付け加えることで、これまでにない魅力的な出力を得られる可能性があります。生成AIの可能性を最大限に引き出すためには、AIと人間の知恵を組み合わせた「ハイブリッドアプローチ」が非常に効果的であると言えるでしょう。
あなたの「最強プロンプト」を作り上げるために、この記事を参考にぜひ挑戦してみてください!
それでは、ソフトバンクアドベントカレンダー2024は6日目にバトンを渡します。
データ構造化代行サービスで検索拡張生成(RAG)の検索精度を向上。膨大かつ多様な社内ドキュメントも、RAGへの高い知見をもったチームがデータ構造化を支援します。
条件に該当するページがございません