プロンプトエンジニアリングのコツ

## はじめに
ここでは、ChatGPTでの回答の精度を向上させるための３つの方法についてご紹介します。

## 深津式プロンプト
以下のテンプレートの{text}部分に入力し、ChatGPTに回答させます。
そうすることで、より効率的かつ精度高く利用することができます。
>#命令書:
あなたは、{text}です。
以下の制約条件と入力文をもとに、 最高の結果を出力してください。
#制約条件:
・文字数は{text}
・{text}
#入力文: {text}
#出力文:

また、以下のような工夫をすることで、さらに精度の高い回答を期待できます。
・「立場」「入力内容」「出力形式」を明確にする
・条件は、箇条書きで簡潔かつ明快にする
・様々なワードで、出力内容をコントロールする

実際には、どのような質問・回答になるか見ていきましょう。
>#命令書:
あなたは、渋谷区役所の職員です。
以下の制約条件と入力文をもとに、 最高の結果を出力してください。
#制約条件:
・文字数は300文字程度
・具体的に回答してください
#入力文: 住民票を発行するにはどうすればいいですか？
#出力文:

上記のような質問をすることで、回答が得られます。
>住民票を発行するには、以下の手順を踏んでください：
>1. **必要書類の準備**：本人確認書類（運転免許証、マイナンバーカード、パスポートなど）を用意します。
>2. **申請場所**：渋谷区役所の住民票発行窓口に行きます。または、区役所のウェブサイトからオンライン申請も可能です。
>3. **申請書の記入**：窓口で申請書を記入し、必要事項を記載します。オンライン申請の場合は、ウェブサイトの指示に従って入力します。
>4. **手数料の支払い**：発行手数料を支払います。料金は窓口で確認してください。
>5. **受け取り**：窓口で申請した場合、その場で住民票を受け取ります。オンライン申請の場合は、郵送で受け取ることができます。
これらの手順を踏むことで、住民票をスムーズに発行することができます。

## CoT(Chain of Thought)
CoT(Chain of Thought)は、「ステップバイステップで考えてみましょう」のような語句をプロンプトに加えることで、思考過程を出力させる手法のことです。

実際には、どのような質問・回答になるか見ていきましょう。
ここでは、「思考過程がわかるよう段階的に記述してください」と指示します。
>あなたは、IT企業の経営者です。
利益を伸ばすために有効な手段は何ですか？
思考過程がわかるよう段階的に記述してください。

上記のような質問をすることで、回答が得られます。
>利益を伸ばすための有効な手段を段階的に説明しますね。
>### 1. 現状分析
>まず、現在のビジネスの状況を詳細に分析します。以下の点を確認します：
>- 売上と利益のトレンド
>- コスト構造
>- 顧客満足度
>- 競合他社の状況
>
>### 2. 目標設定
>次に、具体的な目標を設定します。例えば：
>- 売上を年間10%増加させる
>- 新規顧客を50%増やす
>- コストを5%削減する
>
>### 3. 戦略立案
>目標を達成するための戦略を立てます。以下のような戦略が考えられます：
>- **新製品の開発**：市場のニーズに応じた新しい製品やサービスを開発します。
>- **マーケティング強化**：デジタルマーケティングやSNSを活用して、ブランドの認知度を高めます。
>- **顧客関係の強化**：既存顧客との関係を深め、リピート購入を促進します。
>
>### 4. 実行計画の策定
>戦略を具体的なアクションプランに落とし込みます。例えば：
>- 新製品の開発スケジュールを作成
>- マーケティングキャンペーンの計画と実施
>- 顧客サポートの強化策を導入
>
>### 5. 実行とモニタリング
>計画を実行し、その進捗を定期的にモニタリングします。以下の点を確認します：
>- 目標に対する進捗状況
>- 問題点や改善点の特定
>- 必要に応じた戦略の修正
>
>### 6. 評価とフィードバック
>最後に、実行結果を評価し、フィードバックを得ます。成功した点や改善が必要な点を明確にし、次のサイクルに活かします。
>
>これらのステップを踏むことで、利益を効果的に伸ばすことができるでしょう。何か具体的な質問や追加の情報が必要であれば、お知らせください！

## ToT(Tree of Thought) 
ToT(Tree of Thought)は、何回かに分けてChatGPTに回答させることで、CoTよりも更にに先読みや探索の精度を高めるための手法です。

実際には、どのような質問・回答になるか見ていきましょう。
まず、以下のようにChatGPTに質問させます。
>自動車の購入に関するアンケートを作成してください。
質の高いアンケートを作るため、まずはアンケート項目を考える手順を作ってください。

質問に対して、以下の回答が出力されます。
>アンケート項目を考える手順を以下のようにまとめました。これを参考にして、質の高いアンケートを作成しましょう。
>### アンケート項目を考える手順
>
>1. **目的の明確化**
>   - アンケートの目的を明確にする（例：顧客の購入意欲を把握する、特定の車種に対する意見を収集>するなど）。
>2. **ターゲットの設定**
>   - アンケートの対象となるターゲット層を決定する（例：新車購入を検討している人、中古車購入を>検討している人など）。
>
>3. **主要テーマの決定**
>   - アンケートで取り上げる主要なテーマを決定する（例：価格、デザイン、燃費、安全性、ブランド>イメージなど）。
>
>4. **質問形式の選定**
>   - 質問形式を選定する（例：選択式、自由記述式、評価スケールなど）。
>
>5. **具体的な質問の作成**
>   - 各テーマに基づいて具体的な質問を作成する。以下に例を示します。
>     - 価格に関する質問：予算はどのくらいですか？
>     - デザインに関する質問：どのデザインが最も魅力的ですか？
>     - 燃費に関する質問：燃費性能はどの程度重要ですか？
>     - 安全性に関する質問：安全機能に対する期待は何ですか？
>     - ブランドイメージに関する質問：どのブランドに最も信頼を寄せていますか？
>
>6. **質問の順序決定**
>   - 質問の順序を決定する。一般的には、簡単な質問から始めて徐々に詳細な質問に移行するのが良い>です。
>
>7. **テストとフィードバック**
>   - アンケートをテストし、フィードバックを収集する。必要に応じて質問を修正する。
>
>8. **最終確認と配布**
>   - 最終確認を行い、アンケートを配布する。
>
>この手順に従ってアンケート項目を考えることで、質の高いアンケートを作成することができます。何か他にお手伝いできることがあれば教えてください。

回答に対して、再び質問をします。
>今作ってもらった手順を改めて評価してください。
評価には「上司やクライアントが見て納得するか？」という観点を含めてください。

質問に対して、以下の回答が出力されます。
>評価の観点から見て、以下のように手順を評価します。
>### 手順の評価
>>
>>1. **目的の明確化**
>   - 明確な目的設定は、アンケートの方向性を定めるために重要です。このステップは上司やクライアントにとっても納得できるポイントです。
>
>2. **ターゲットの設定**
>   - ターゲット層の設定は、アンケートの効果を最大化するために不可欠です。具体的なターゲットを設定することで、より的確なデータを収集できます。
>
>3. **主要テーマの決定**
>   - 主要テーマを決定することで、アンケートの焦点が明確になります。上司やクライアントにとっても、どのテーマが重要かを理解しやすくなります。
>
>4. **質問形式の選定**
>   - 質問形式の選定は、回答者の負担を軽減し、回答率を高めるために重要です。多様な形式を取り入れることで、データの質も向上します。
>
>5. **具体的な質問の作成**
>   - 具体的な質問を作成することで、収集するデータがより具体的で有用なものになります。上司やクライアントにとっても、具体的な質問は納得しやすいポイントです。
>
>6. **質問の順序決定**
>   - 質問の順序を工夫することで、回答者がスムーズに回答できるようになります。これも上司やクライアントにとって納得できる要素です。
>
>7. **テストとフィードバック**
>   - テストとフィードバックを行うことで、アンケートの質をさらに向上させることができます。このステップは、上司やクライアントに対しても信頼性を示す重要なポイントです。
>
>8. **最終確認と配布**
>   - 最終確認を行うことで、ミスを防ぎ、アンケートの完成度を高めることができます。上司やクライアントにとっても、最終確認は安心材料となります。
>
>### 総合評価
>この手順は、上司やクライアントが見ても納得できる内容となっています。各ステップが具体的であり、アンケートの質を高めるための工夫が随所に見られます。特に、目的の明確化やターゲットの設定、テストとフィードバックのステップは、信頼性と効果を高めるために重要です。

## 今後の課題
他にも、効果的なプロンプトエンジニアリングの手法もあるので、それらも学びながら記事にしていこうと思います。