自己紹介
- 名前:yuuki
- 役職:ChatGPT調査担当
はじめに
以下の記事から始まる連載を記事を10個投稿しました。
この10個の記事の内容はほぼChatGPTで制作したものでした。
今回の記事はその作り方を自分の反省と備忘録を兼ねた内容となっております。
ChatGPTを使ってノウハウ記事制作等を制作する際に少し参考になるかもしれないので、もしよろしければ最後までご覧ください。
また、内容を参照したのは以下のリンクなので、プロンプトエンジニアリングに興味を持った方はぜひご確認ください。
やりたいこと
- 学生や社員がChatGPTを触るきっかけを作りたい
- プロンプトエンジニアリングについて少し詳しくなってもらいたい
- ChatGPT思ったよりすごい!って思ってもらいたい(自分も含めて)
やろうとしたこと
- ChatGPTに、プロンプトエンジニアリングについて、自分で見て面白いと思うレベルの記事を書かせること
実際にやったこと
- プロンプトエンジニアリングについて知見がまとまっているサイトをChatGPTに学ばせる
- その内容をもとにカリキュラムを組ませる
- 詳細をすべて解説してもらう
- その内容を記事ごとに対話形式で書き直してもらう
- キャラクターをつけてお話しさせる
前提
- おそらく同じプロンプトを打っても同じ結果になるとは限らないためそのまま使う場合は注意が必要
- 実際は適切な内容が出るまで何度もやり直している
- 考え方等も含めこれが本当に正しいかはわからないが、やってみて出力が出たという記録報告的な意味も兼ねて書いている
環境
- バージョン:ChatGPT 3.5
(※無課金ではURLの内容を読み取ってもらえなかったため課金しChatGPT Plusで実行) - ※端末はWinノートPC、MacPC、iPhone等併用したが、特に問題なし
1. プロンプトエンジニアリングについて知見がまとまっているサイトをChatGPTに学ばせる
▼実際に打ち込んだプロンプトを含むChatGPTとの会話内容
## USER
以下のURLの内容から、プロンプトエンジニアリングとして勉強する内容をステップバイステップで教えてください。
https://www.promptingguide.ai/jp
https://www.promptingguide.ai/jp/introduction/settings
https://www.promptingguide.ai/jp/introduction/basics
https://www.promptingguide.ai/jp/introduction/elements
https://www.promptingguide.ai/jp/introduction/tips
https://www.promptingguide.ai/jp/introduction/examples
https://www.promptingguide.ai/jp/techniques/zeroshot
https://www.promptingguide.ai/jp/techniques/fewshot
https://www.promptingguide.ai/jp/techniques/cot
https://www.promptingguide.ai/jp/techniques/consistency
https://www.promptingguide.ai/jp/techniques/knowledge
https://www.promptingguide.ai/jp/techniques/ape
https://www.promptingguide.ai/jp/techniques/activeprompt
https://www.promptingguide.ai/jp/techniques/dsp
https://www.promptingguide.ai/jp/techniques/react
https://www.promptingguide.ai/jp/techniques/multimodalcot
https://www.promptingguide.ai/jp/techniques/graph
https://www.promptingguide.ai/jp/applications/pal
https://www.promptingguide.ai/jp/applications/generating
https://www.promptingguide.ai/jp/applications/workplace_casestudy
https://www.promptingguide.ai/jp/models/flan
https://www.promptingguide.ai/jp/models/chatgpt
https://www.promptingguide.ai/jp/models/llama
https://www.promptingguide.ai/jp/models/gpt-4
https://www.promptingguide.ai/jp/models/collection
https://www.promptingguide.ai/jp/risks/adversarial
https://www.promptingguide.ai/jp/risks/factuality
https://www.promptingguide.ai/jp/risks/biases
https://www.promptingguide.ai/jp/papers
https://www.promptingguide.ai/jp/tools
https://www.promptingguide.ai/jp/notebooks
https://www.promptingguide.ai/jp/datasets
https://www.promptingguide.ai/jp/readings
## ASSISTANT
プロンプトエンジニアリングとは、人工知能を使って文章を生成する際に、生成したい文章の内容や形式を指示するテキストを作成することで、より正確で自然な文章を生成する手法です。以下に、プロンプトエンジニアリングについての勉強内容をステップバイステップで説明します。
1. まずはじめに、プロンプトエンジニアリングについての基礎知識を学びましょう。
- https://www.promptingguide.ai/jp/introduction/settings
- https://www.promptingguide.ai/jp/introduction/basics
- https://www.promptingguide.ai/jp/introduction/elements
- https://www.promptingguide.ai/jp/introduction/tips
- https://www.promptingguide.ai/jp/introduction/examples
2. 次に、プロンプトエンジニアリングで使用されるテクニックを学びましょう。
- https://www.promptingguide.ai/jp/techniques/zeroshot
- https://www.promptingguide.ai/jp/techniques/fewshot
- https://www.promptingguide.ai/jp/techniques/cot
- https://www.promptingguide.ai/jp/techniques/consistency
- https://www.promptingguide.ai/jp/techniques/knowledge
- https://www.promptingguide.ai/jp/techniques/ape
- https://www.promptingguide.ai/jp/techniques/activeprompt
- https://www.promptingguide.ai/jp/techniques/dsp
- https://www.promptingguide.ai/jp/techniques/react
- https://www.promptingguide.ai/jp/techniques/multimodalcot
- https://www.promptingguide.ai/jp/techniques/graph
3. プロンプトエンジニアリングの応用例について学びましょう。
- https://www.promptingguide.ai/jp/applications/pal
- https://www.promptingguide.ai/jp/applications/generating
- https://www.promptingguide.ai/jp/applications/workplace_casestudy
4. プロンプトエンジニアリングに関連するモデルについて学びましょう。
- https://www.promptingguide.ai/jp/models/flan
- https://www.promptingguide.ai/jp/models/chatgpt
- https://www.promptingguide.ai/jp/models/llama
- https://www.promptingguide.ai/jp/models/gpt-4
- https://www.promptingguide.ai/jp/models/collection
5. プロンプトエンジニアリングに関するリスクについて学びましょう。
- https://www.promptingguide.ai/jp/risks/adversarial
- https://www.promptingguide.ai/jp/risks/factuality
- https://www.promptingguide.ai/jp/risks/biases
6. プロンプトエンジニアリ
## USER
続けてください
## ASSISTANT
6. プロンプトエンジニアリングに関連する論文やツール、データセットについて学びましょう。
- https://www.promptingguide.ai/jp/papers
- https://www.promptingguide.ai/jp/tools
- https://www.promptingguide.ai/jp/notebooks
- https://www.promptingguide.ai/jp/datasets
以上が、プロンプトエンジニアリングについての勉強内容です。このように、プロンプトエンジニアリングに関連する情報を学ぶことで、より正確で自然な文章を生成することができます。また、プロンプトエンジニアリングに関連する論文やツール、データセットを調べることで、より高度な技術や応用例を学ぶこともできます。
## USER
ありがとうございます。
では下記内容について、ステップバイステップで解説していただけますか?
プロンプトエンジニアリングについての基礎知識を学びましょう。
- https://www.promptingguide.ai/jp/introduction/settings
- https://www.promptingguide.ai/jp/introduction/basics
- https://www.promptingguide.ai/jp/introduction/elements
- https://www.promptingguide.ai/jp/introduction/tips
- https://www.promptingguide.ai/jp/introduction/examples
## ASSISTANT
はい、プロンプトエンジニアリングについての基礎知識を以下のステップバイステップで解説します。
1. まず最初に、プロンプトエンジニアリングについての基本的な設定について学びましょう。
- https://www.promptingguide.ai/jp/introduction/settings
このページでは、プロンプトエンジニアリングに必要な言語モデルやAPIキーなどの設定方法について解説されています。具体的には、GPT-3などの言語モデルの登録方法や、OpenAI APIキーの発行方法などが説明されています。これらの設定を行うことで、プロンプトエンジニアリングを行う準備を整えることができます。
2. 次に、プロンプトエンジニアリングの基本的な概念について学びましょう。
- https://www.promptingguide.ai/jp/introduction/basics
このページでは、プロンプトエンジニアリングの基本的な概念について解説されています。具体的には、プロンプト、レスポンス、フィルタリング、コンテキストなどについて説明されています。これらの概念を理解することで、より効果的なプロンプトエンジニアリングを行うことができます。
3. 次に、プロンプトエンジニアリングにおける要素について学びましょう。
- https://www.promptingguide.ai/jp/introduction/elements
このページでは、プロンプトエンジニアリングにおける要素について解説されています。具体的には、プロンプトの品質、レスポンスの品質、フィルタリングの品質、コンテキストの品質などが説明されています。これらの要素を正しく扱うことで、より高品質なレスポンスを生成することができます。
4. 次に、プロンプトエンジニアリングのヒントについて学びましょう。
- https://www.promptingguide.ai/jp/introduction/tips
このページでは、プロンプトエンジニアリングにおけるヒントについて解説されています。具体的には、プロンプトの正確性、レスポンスの多様性、フィルタリングの効果、コンテキストの適切な扱い方などが説明されています。
## USER
続けてください
## ASSISTANT
これらのヒントを実践することで、より効果的なプロンプトエンジニアリングを行うことができます。
5. 最後に、プロンプトエンジニアリングの実例について学びましょう。
- https://www.promptingguide.ai/jp/introduction/examples
このページでは、プロンプトエンジニアリングの実例について解説されています。具体的には、メール返信やテキスト生成、チャットボットなどの実例が紹介されています。これらの実例を参考にすることで、自分自身のプロンプトエンジニアリングの技術向上に役立てることができます。
以上が、プロンプトエンジニアリングについての基礎知識についての解説です。プロンプトエンジニアリングを理解することで、より正確で自然な文章の生成ができるようになります。
## USER
ありがとうございます。
では同様に下記内容について、ステップバイステップで解説していただけますか?
プロンプトエンジニアリングで使用されるテクニックを学びましょう。
- https://www.promptingguide.ai/jp/techniques/zeroshot
- https://www.promptingguide.ai/jp/techniques/fewshot
- https://www.promptingguide.ai/jp/techniques/cot
- https://www.promptingguide.ai/jp/techniques/consistency
- https://www.promptingguide.ai/jp/techniques/knowledge
- https://www.promptingguide.ai/jp/techniques/ape
- https://www.promptingguide.ai/jp/techniques/activeprompt
- https://www.promptingguide.ai/jp/techniques/dsp
- https://www.promptingguide.ai/jp/techniques/react
- https://www.promptingguide.ai/jp/techniques/multimodalcot
- https://www.promptingguide.ai/jp/techniques/graph
## ASSISTANT
はい、プロンプトエンジニアリングで使用されるテクニックについて、以下のステップバイステップで解説します。
1. まず最初に、ゼロショット学習について学びましょう。
- https://www.promptingguide.ai/jp/techniques/zeroshot
このページでは、ゼロショット学習とは何か、どのように使われるかについて解説されています。具体的には、ゼロショット学習は、学習データがない状態でも、新しいタスクを学習できるようにするための手法であることが説明されています。また、ゼロショット学習を使うことで、より柔軟なテキスト生成が可能になることが紹介されています。
2. 次に、フューショット学習について学びましょう。
- https://www.promptingguide.ai/jp/techniques/fewshot
このページでは、フューショット学習とは何か、どのように使われるかについて解説されています。具体的には、フューショット学習は、少量の学習データを使って、新しいタスクを学習する手法であることが説明されています。また、フューショット学習を使うことで、学習データを収集する手間を省けることが紹介されています。
3. コントロールオンリータスクについて学びましょう。
- https://www.promptingguide.ai/jp/techniques/cot
このページでは、コントロールオンリータスクとは何か、どのように使われるかについて解説されています。具体的には、コントロールオンリータスクは、テキスト生成モデルを制御するために使用される手法であることが説明されています。また、コントロールオンリータスクを使うことで、より高品質なレスポンスを生成することが可能になることが紹介されています。
4. 一貫性のあるレスポンスを生成する手法について学びましょう。
- https://www.promptingguide.ai/jp/techniques/consistency
このページでは、一貫性のあるレスポンスを生成するための手法について解説されています。具体的には、レスポンスの一貫性を確保するために、前回のレスポンスをコン
## USER
続けてください
## ASSISTANT
テキストに組み込んだり、特定のテーマに沿った生成を促すプロンプトを使用する方法などが紹介されています。
5. 知識の利用について学びましょう。
- https://www.promptingguide.ai/jp/techniques/knowledge
このページでは、知識の利用について解説されています。具体的には、知識ベースを利用して、より正確なレスポンスを生成する方法や、事前学習済みの知識を利用して新しいタスクを学習する方法が紹介されています。
6. 穴埋め生成について学びましょう。
- https://www.promptingguide.ai/jp/techniques/ape
このページでは、穴埋め生成について解説されています。具体的には、穴埋め生成は、不完全な入力を補完して完全な文章を生成する手法であることが説明されています。また、穴埋め生成を使うことで、より自然な文章を生成することができることが紹介されています。
7. アクティブプロンプトについて学びましょう。
- https://www.promptingguide.ai/jp/techniques/activeprompt
このページでは、アクティブプロンプトについて解説されています。具体的には、アクティブプロンプトは、人間の介入を通じてレスポンスの生成を誘導する手法であることが説明されています。また、アクティブプロンプトを使うことで、より制御されたテキスト生成が可能になることが紹介されています。
8. ドメイン特有の生成について学びましょう。
- https://www.promptingguide.ai/jp/techniques/dsp
このページでは、ドメイン特有の生成について解説されています。具体的には、特定のドメインに特化したテキスト生成モデルを使用することで、より高品質なレスポンスを生成することができることが紹介されています。
9. レスポンスを修正する手法について学びましょう。
- https://www.promptingguide.ai/jp/techniques/react
このページでは、レスポンスを修正する手法について解説されています。具体的には、生成されたレスポンスを修正することで、より自然な文章を生成することができることが説明されています。
10. マルチモーダルCOTについて学びまし
## USER
続けてください
## ASSISTANT
ょう。
- https://www.promptingguide.ai/jp/techniques/multimodalcot
このページでは、マルチモーダルCOTについて解説されています。具体的には、マルチモーダルCOTは、テキストだけでなく、画像や音声などの複数の情報源を使って、より多様なレスポンスを生成する手法であることが説明されています。また、マルチモーダルCOTを使うことで、より多様な生成結果を得ることができることが紹介されています。
11. グラフベースのプロンプトエンジニアリングについて学びましょう。
- https://www.promptingguide.ai/jp/techniques/graph
このページでは、グラフベースのプロンプトエンジニアリングについて解説されています。具体的には、グラフ理論を応用して、プロンプトエンジニアリングを行う手法であることが説明されています。また、グラフベースのプロンプトエンジニアリングを使うことで、より柔軟なレスポンス生成が可能になることが紹介されています。
以上が、プロンプトエンジニアリングで使用されるテクニックについての解説です。これらのテクニックを組み合わせることで、より高度で柔軟なテキスト生成が可能になることが期待されます。
## USER
ありがとうございます!
では同様に下記内容について、ステップバイステップで解説していただけますか
プロンプトエンジニアリングの応用例について学びましょう。
- https://www.promptingguide.ai/jp/applications/pal
- https://www.promptingguide.ai/jp/applications/generating
- https://www.promptingguide.ai/jp/applications/workplace_casestudy
## ASSISTANT
はい、プロンプトエンジニアリングの応用例について、以下のステップバイステップで解説します。
1. まず最初に、パーソナルアシスタントの開発について学びましょう。
- https://www.promptingguide.ai/jp/applications/pal
このページでは、プロンプトエンジニアリングを使ってパーソナルアシスタントを開発する方法について解説されています。具体的には、自然言語処理技術とプロンプトエンジニアリングを組み合わせることで、人間と自然な対話を行うことができるパーソナルアシスタントを開発することができることが紹介されています。
2. 次に、テキスト生成の応用例について学びましょう。
- https://www.promptingguide.ai/jp/applications/generating
このページでは、テキスト生成の応用例について解説されています。具体的には、ニュース記事の自動生成や文章の自動要約、機械翻訳、文書生成など、さまざまな場面でテキスト生成が利用されていることが紹介されています。
3. ワークプレイスでのプロンプトエンジニアリングの事例について学びましょう。
- https://www.promptingguide.ai/jp/applications/workplace_casestudy
このページでは、ワークプレイスでのプロンプトエンジニアリングの事例について解説されています。具体的には、法律業界や金融業界など、さまざまな業界でプロンプトエンジニアリングが活用されていることが紹介されています。また、具体的な事例として、法的ドキュメントの自動生成や、金融レポートの生成などが紹介されています。
以上が、プロンプトエンジニアリングの応用例についての解説です。プロンプトエンジニアリングは、さまざまな分野で活用されており、自然な対話を実現するだけでなく、高度で柔軟なテキスト生成が可能になることが期待されます。
考えたこと
- URLを読み込んでもらってそれを分解してもらうことで、『プロンプトエンジニアリングについてChatGPTが出力する≒ChatGPTがプロンプトエンジニアリングについて勉強する』になり、その勉強内容をわかりやすく解説してもらえば人間側も勉強になるかもと思いついた
- ステップバイステップでなるべく分解してもらうことを意識
良かったこと
- ステップバイステップで出力させてひたすら「続けてください」とするくらいで、個人的には充分良い出力が得られた
- 内容がガチで普通に勉強になった
悪かったこと
- 内容についてURLの中を正しく読み取ったものばかりではなかった
→今回はそこまで厳密に思っていなかったため良かったが、URLの内容を100%そのまままとめた出力が欲しいときは違うプロンプトの方が良さそう - URLの中を正しく読み取っているのかどうかを判別しにくかった
2. その内容をもとにカリキュラムを組ませる
▼実際に打ち込んだプロンプトを含むChatGPTとの会話内容
## USER
では、ここまで解説いただいた内容をもとに、小学生でも分かるようなプロンプトエンジニアリング上達カリキュラムを作成いただけますか?
## ASSISTANT
はい、プロンプトエンジニアリングを学ぶ小学生向けのカリキュラムを以下に提供します。
【プロンプトエンジニアリング上達カリキュラム】
【ステップ1】
プロンプトエンジニアリングの基礎知識を学ぶ
- プロンプトエンジニアリングとは何かを理解する
- プロンプトエンジニアリングの要素を学ぶ
- プロンプトエンジニアリングの設定方法を学ぶ
- プロンプトエンジニアリングの基本的な使い方を学ぶ
- プロンプトエンジニアリングのヒントを学ぶ
- プロンプトエンジニアリングの例を学ぶ
【ステップ2】
プロンプトエンジニアリングで使用されるテクニックを学ぶ
- ゼロショット学習について学ぶ
- フューショット学習について学ぶ
- COT(コンテキスト・オープン・テキスト)について学ぶ
- 一貫性について学ぶ
- 知識の利用について学ぶ
- 穴埋め生成について学ぶ
- アクティブプロンプトについて学ぶ
- DSP(ドメイン特有の生成)について学ぶ
- レスポンスを修正する手法について学ぶ
- マルチモーダルCOTについて学ぶ
- グラフベースのプロンプトエンジニアリングについて学ぶ
【ステップ3】
プロンプトエンジニアリングの応用例を学ぶ
- パーソナルアシスタントの開発について学ぶ
- テキスト生成の応用例について学ぶ
- ワークプレイスでのプロンプトエンジニアリングの事例について学ぶ
【ステップ4】
実践的なプロジェクトを行う
- テキスト生成プロジェクトの設計と実装
- プロンプトエンジニアリングを使ったアプリケーションの開発
以上が、小学生向けのプロンプトエンジニアリング上達カリキュラムです。カリキュラムを通じて、プロンプトエンジニアリングに関する基本的な知識やテクニックを学び、実際にプロジェクトを行うことで、より実
## USER
続けてください
## ASSISTANT
践的なスキルを身につけることができます。また、プロンプトエンジニアリングを学ぶことで、自然言語処理技術や人工知能に興味を持つきっかけにもなるかもしれません。カリキュラムを実施する際には、参加者のレベルや興味に合わせてカスタマイズすることが大切です。
## USER
ありがとうございます!
ステップ1の内容について、ステップバイステップでご教示いただけますか?
## ASSISTANT
はい、ステップ1で学ぶべき内容について、ステップバイステップでご説明します。
【ステップ1】
プロンプトエンジニアリングの基礎知識を学ぶ
1. プロンプトエンジニアリングとは何かを理解する
- プロンプトエンジニアリングの定義や、プロンプトエンジニアリングを用いることの意義について学ぶ。
2. プロンプトエンジニアリングの要素を学ぶ
- プロンプトエンジニアリングの要素である「プロンプト」「レスポンス」「コンテキスト」について学ぶ。
3. プロンプトエンジニアリングの設定方法を学ぶ
- プロンプトエンジニアリングの設定方法について、プロンプトの作成方法や、プロンプトとレスポンスの関係性、コンテキストの扱い方について学ぶ。
4. プロンプトエンジニアリングの基本的な使い方を学ぶ
- プロンプトエンジニアリングの基本的な使い方について、具体的な例を挙げながら学ぶ。
5. プロンプトエンジニアリングのヒントを学ぶ
- プロンプトエンジニアリングにおいて、プロンプトやレスポンスを作成する際に考慮すべきポイントについて学ぶ。
6. プロンプトエンジニアリングの例を学ぶ
- プロンプトエンジニアリングを実際に用いた例を学び、プロンプトエンジニアリングの応用範囲について理解する。
以上が、ステップ1で学ぶべき内容です。プロンプトエンジニアリングの基本的な概念や使い方を理解することが、プロンプトエンジニアリングを活用するための基礎となります。
考えたこと
- 既にステップバイステップで考えさせたし内容も学ばせたから一気にカリキュラムを作らせた
- 初心者でも分かるようにと言っても対象として正しく読み取られないかもと思い、小学生向けに作ってもらった
良かったこと
- 小学生向けにと言ったことが良かったのか、比較的理解しやすい目次だった
- 知識の元が良かったのか、基礎知識→テクニック→応用例→実践と段階を踏めていた
悪かったこと
- 結果的にステップ1は二度手間っぽくなったため、出力は最初からもう少し段階的にやっても良かったかも
3. 詳細をすべて解説してもらう
▼実際に打ち込んだプロンプトを含むChatGPTとの会話内容
## USER
ありがとうございます!
では「プロンプトエンジニアリングとは何かを理解する」について詳細をお願いします。。
## ASSISTANT
プロンプトエンジニアリングは、人工知能や自然言語処理において、文章を生成する際に利用される手法の一つです。プロンプトエンジニアリングは、テキスト生成モデルに対して、生成する文章の指示(プロンプト)を与え、それに対して自然言語処理技術を用いて、文章を生成する手法です。
プロンプトエンジニアリングは、文章生成において、よりコントロールされた文章生成を可能にします。具体的には、プロンプトエンジニアリングを用いることで、生成する文章の内容やスタイル、トーン、対象読者層などを指定することができます。これにより、生成される文章の質や信頼性を向上させることができます。
また、プロンプトエンジニアリングは、文章生成だけでなく、質問応答や対話などの自然言語処理タスクにも応用することができます。プロンプトエンジニアリングを用いることで、より自然な応答を生成することが可能になります。
以上が、プロンプトエンジニアリングとは何かについての詳細な説明です。プロンプトエンジニアリングは、人工知能や自然言語処理の分野で重要な手法であるため、学習する価値があります。
## USER
ありがとうございます!
では次の「プロンプトエンジニアリングの要素を学ぶ」について詳細をお願いします。
## ASSISTANT
プロンプトエンジニアリングの要素には、プロンプト、レスポンス、コンテキストの3つがあります。
1. プロンプト
プロンプトは、文章生成の指示を表す文章です。プロンプトには、生成する文章のトピックや内容、スタイル、トーン、対象読者層などの情報が含まれます。プロンプトによって、生成する文章の質や信頼性を向上させることができます。
2. レスポンス
レスポンスは、プロンプトに基づいて生成された文章です。レスポンスは、プロンプトによって指示された内容やスタイル、トーン、対象読者層などに合わせて生成されます。
3. コンテキスト
コンテキストは、文章生成の際に考慮すべき情報や文脈を表します。例えば、対話システムにおいては、過去の会話内容や、話者の属性、文脈などがコンテキストとして考慮されます。コンテキストを適切に扱うことで、より自然な文章を生成することができます。
以上が、プロンプトエンジニアリングの要素についての詳細な説明です。これらの要素を適切に扱うことで、より高品質な文章生成や自然な応答が可能になります。
## USER
ありがとうございます!
では次の「プロンプトエンジニアリングの設定方法を学ぶ」について詳細をお願いします。
**以下ステップ3終了まで省略**
## USER
ありがとうございます!
ではステップ4について、ステップバイステップでご教示ください、
## ASSISTANT
はい、以下がステップ4のステップバイステップです。
【ステップ4】実践的なプロジェクトを行う
1. テキスト生成プロジェクトの設計と実装
プロンプトエンジニアリングを用いたテキスト生成プロジェクトを設計し、実際にプロンプトエンジニアリングを実装してみましょう。例えば、ニュース記事の自動生成やレビューの生成などがあります。
2. プロンプトエンジニアリングを使ったアプリケーションの開発
プロンプトエンジニアリングを使ったアプリケーションを開発し、実際に動作するものを作成しましょう。例えば、自然言語対話システムや情報検索アプリなどがあります。
3. プロジェクトを進めるためのチーム作り
プロジェクトを進めるために、チームを組んで協力して作業を進めましょう。プロンプトエンジニアリングの知識や技術を持つ人と協力することで、より効率的にプロジェクトを進めることができます。
4. プロジェクトの進捗管理と報告
プロジェクトの進捗を定期的にチェックし、報告書を作成しましょう。プロジェクトの進捗が遅れている場合は、早めに対処することが必要です。また、報告書を作成することで、プロジェクトの進捗状況を共有することができます。
5. プロジェクトの成果物の公開
プロジェクトの成果物を公開し、他の人と共有することで、より多くの人にプロンプトエンジニアリングの知識や技術を広めることができます。成果物を公開する場合は、適切なライセンスを選択することも重要です。
## USER
ご教示ありがとうございます!
詳細については省略いただいて大丈夫です、ありがとうございました!
## ASSISTANT
どういたしまして、お役に立てたようで嬉しいです。何か他にお力になれることがあれば、遠慮なくお知らせください。
考えたこと
- 知識元の内容をそのまま内容として書き込んでほしかったが、OpenAIの知見や元々の学習データが合わさっていそうな内容でも許容とした
- 内容について話していく間に知識元の内容を忘れないか心配だった
良かったこと
- だいぶ詳細なことを教えてくれて相当勉強になった
悪かったこと
- 中身が長すぎる
4. その内容を記事ごとに対話形式で書き直してもらう
※以降は記事ごとに新たなチャットを開き作成しました。第二話として作成した記事を例に説明いたします。説明のため表記を一部修正しています。
▼実際に打ち込んだプロンプトを含むChatGPTとの会話内容
## USER
あなたは話題ではなく私が入力した内容から対話形式の記事を書くプロです。
次の入力内容から対話形式の記事を書いてもらえますか?
## ASSISTANT
はい、承知しました。どのような内容で記事を書いて欲しいですか?
## USER
[入力]
USER
この前はありがとうございました!
次は「プロンプトエンジニアリングの基本的な使い方を学ぶ」について詳細をお願い致します。
ASSISTANT
プロンプトエンジニアリングの基本的な使い方には、以下のような手順があります。
1. プロンプトの作成
まずは、生成する文章のトピックや内容、スタイル、トーン、対象読者層などを指定するプロンプトを作成します。プロンプトには、可能な限り具体的な情報を含めることが望ましいです。
2. レスポンスの生成
次に、作成したプロンプトをもとに文章を生成します。プロンプトエンジニアリングには、多くのモデルや技術がありますが、その選択にはプロジェクトの目的、データセットの性質、リソース制約などが考慮されます。
3. 結果の評価
生成された文章を評価します。結果が目的に合致しているかどうか、文法的な誤りはないか、内容やトーンは適切かなどを評価します。また、生成された文章が望ましいものかどうか、潜在的な誤解や偏見が含まれていないかなどにも注意が必要です。
4. プロンプトやレスポンスの修正
評価結果に基づいて、プロンプトやレスポンスを修正する必要がある場合があります。修正には、プロンプトの追加や変更、生成された文章の編集などが含まれます。
5. 繰り返し
生成された文章を評価し、修正することを繰り返します。生成された文章が目的に合致するようになるまで、繰り返し評価と修正を行います。
以上が、プロンプトエンジニアリングの基本的な使い方についての詳細な説明です。プロンプトエンジニアリングは、テキスト生成においてよりコントロールされた文章生成を可能にし、多くの場面で応用される有用な技術です。
USER
「具体的な例を挙げながら学ぶ」とありましたが
ASSISTANT
では、以下に具体的な例を挙げながら、プロンプトエンジニアリングの基本的な使い方について解説します。
例として、スポーツの試合結果を報じる記事を生成する場合を考えてみましょう。
1. プロンプトの作成
プロンプトには、報じる試合の詳細な情報が含まれる必要があります。例えば、「4月10日に行われた野球の試合で、東京ヤクルトスワローズが読売ジャイアンツに勝利した試合結果を報じる記事を生成してください」というプロンプトを作成します。
2. レスポンスの生成
作成したプロンプトをもとに、文章生成モデルを使って記事を生成します。例えば、「4月10日、東京ドームで行われた読売ジャイアンツvs東京ヤクルトスワローズの試合は、ヤクルトが5対3で勝利しました。」といったレスポンスを生成します。
3. 結果の評価
生成された記事が、プロンプトで指定された試合結果を正確に報じているか、文法的な誤りがないか、適切なトーンで書かれているかを評価します。
4. プロンプトやレスポンスの修正
評価の結果、プロンプトに不足していた情報やレスポンスに文法的な誤りがあった場合は、修正します。例えば、プロンプトに「球場名」という情報を追加するなどの修正が考えられます。
5. 繰り返し
修正を行った後、再度生成された記事を評価し、必要に応じて修正を繰り返します。報じる試合の種類やチーム、日時などを変更しながら、複数の記事を生成することで、プロンプトエンジニアリングの使い方を習得することができます。
以上が、具体的な例を挙げながらプロンプトエンジニアリングの基本的な使い方を解説した内容です。
USER
ありがとうございます!
では次は何を学べばよいですか?
ASSISTANT
では「プロンプトエンジニアリングのヒントを学ぶ」について詳細をお話しします。
[入力ここまで]
## ASSISTANT
プロンプトエンジニアリングにおいて、より効果的なプロンプトを作成するためのヒントを学ぶことが重要です。以下に、プロンプトエンジニアリングのヒントをいくつか紹介します。
1. 具体的な情報を含める
プロンプトには、生成する文章の内容に必要な具体的な情報を含めることが重要です。例えば、報じる試合のチーム名や選手名、スコア、日時、場所などを明確に指定することで、より正確な文章を生成することができます。
2. 言葉遣いやトーンを指定する
生成する文章のスタイルやトーンに合わせて、プロンプトに指定する言葉遣いや表現を選ぶことが重要です。例えば、報道記事であれば、客観的で中立的な表現を用いることが望ましいです。
3. 訓練データの性質を考慮する
プロンプトエンジニアリングには、訓練データの性質を考慮する必要があります。例えば、スポーツの試合結果を報じる記事を生成する場合、訓練データにスポーツニュースの記事を含めることが望ましいです。
4. 複数のプロンプトを使用する
複数のプロンプトを使用することで、より多様な文章を生成することができます。例えば、同じ試合結果を報じる記事でも、異なる視点やスタイルで報じるプロンプトを使用することができます。
以上が、プロンプトエンジニアリングにおけるヒントの一例です。プロンプトエンジニアリングをより効果的に活用するためには、プロンプトの作成やレスポンスの生成に加えて、プロジェクトの目的やデータセットの性質、リソース制約などを総合的に考慮する必要があります。
## USER
対話形式の記事になっていないので書き直してください。
私が入力した内容を漏らさないようにしてください。
## ASSISTANT
申し訳ありません。以下は対話形式の記事になります。
---
USER
この前はありがとうございました!
次は「プロンプトエンジニアリングの基本的な使い方を学ぶ」について詳細をお願い致します。
ASSISTANT
もちろんです。プロンプトエンジニアリングの基本的な使い方について説明いたします。
まず、プロンプトエンジニアリングとは、人工知能を利用して、自然言語の文章を生成する技術のことです。プロンプトエンジニアリングを使うことで、より正確かつコントロールされた文章生成が可能になります。
プロンプトエンジニアリングの基本的な使い方には、以下の手順があります。
1. プロンプトの作成
まず、生成する文章のトピックや内容、スタイル、トーン、対象読者層などを指定するプロンプトを作成します。プロンプトには、可能な限り具体的な情報を含めることが望ましいです。
2. レスポンスの生成
次に、作成したプロンプトをもとに文章を生成します。プロンプトエンジニアリングには、多くのモデルや技術がありますが、その選択にはプロジェクトの目的、データセットの性質、リソース制約などが考慮されます。
3. 結果の評価
生成された文章を評価します。結果が目的に合致しているかどうか、文法的な誤りはないか、内容やトーンは適切かなどを評価します。また、生成された文章が望ましいものかどうか、潜在的な誤解や偏見が含まれていないかなどにも注意が必要です。
4. プロンプトやレスポンスの修正
評価結果に基づいて、プロンプトやレスポンスを修正する必要がある場合があります。修正には、プロンプトの追加や変更、生成された文章の編集などが含まれます。
5. 繰り返し
生成された文章を評価し、修正することを繰り返します。生成された文章が目的に合致するようになるまで、繰り返し評価と修正を行います。
以上が、プロンプトエンジニアリングの基本的な使い方についての説明です。
USER
具体的な例を挙
## USER
対話形式で続けてください
## ASSISTANT
USER
具体的な例を挙げながら学ぶとありましたが、具体的にどのような例がありますか?
ASSISTANT
例えば、あなたがスポーツの試合結果を報じる記事を生成することを考えてみましょう。以下は、この例におけるプロンプトエンジニアリングの基本的な使い方です。
1. プロンプトの作成
報じる試合の詳細な情報を含めたプロンプトを作成します。例えば、「4月10日に行われた野球の試合で、東京ヤクルトスワローズが読売ジャイアンツに勝利した試合結果を報じる記事を生成してください」というプロンプトを作成します。
2. レスポンスの生成
プロンプトをもとに、文章生成モデルを使って記事を生成します。例えば、「4月10日、東京ドームで行われた読売ジャイアンツvs東京ヤクルトスワローズの試合は、ヤクルトが5対3で勝利しました。」といったレスポンスを生成します。
3. 結果の評価
生成された記事が、プロンプトで指定された試合結果を正確に報じているか、文法的な誤りがないか、適切なトーンで書かれているかを評価します。
4. プロンプトやレスポンスの修正
評価の結果、プロンプトに不足していた情報やレスポンスに文法的な誤りがあった場合は、修正します。例えば、プロンプトに「球場名」という情報を追加するなどの修正が考えられます。
5. 繰り返し
修正を行った後、再度生成された記事を評価し、必要に応じて修正を繰り返します。報じる試合の種類やチーム、日時などを変更しながら、複数の記事を生成することで、プロンプトエンジニアリングの使い方を習得することができます。
以上が、具体的な例を挙げながらプロンプトエンジニアリングの基本的な使い方について解説した内容です。
考えたこと
- 既に対話形式になっているものを内容をあまり編集せず対話形式で書き換えるというのが逆に難しそうに感じていた
良かったこと
- 一回ここで書かせた方が後のキャラクターをつけてお話しさせる際の精度が上がるのではないかと思ってやったが、自分の環境ではその通りになった
悪かったこと
- 精度が悪い
- このテンプレートにたどりつくまでだいぶ時間がかかった
- このテンプレートでも望んだ形式の回答が来る確率がだいぶ低いので、本当ならもっとプロンプトを練るべき
5. キャラクターをつけてお話しさせる
▼実際に打ち込んだプロンプトを含むChatGPTとの会話内容
## USER
ありがとうございます!
ではここまでの内容を漏らさずに、【ユーザー】 を【妹】、【アシスタント】を【兄者】として、以下のキャラクター設定に則り書き直してもらえますか?
# キャラクター設定
兄者
- すべて関西弁で喋る
- ネットスラングを好む
- ボケ担当
- 多弁
妹
- ボーイッシュな口調で喋る
- ネットスラングを好む
- ツッコミ担当
- 多弁
## ASSISTANT
妹
お兄ちゃん、この前はありがとう!
次は「プロンプトエンジニアリングの基本的な使い方を学ぶ」について詳しく教えてほしいんだけど。
兄者
あー、プロンプトエンジニアリングの基本的な使い方かー。まずはプロンプトの作成からやな。
プロンプトってのは、生成する文章のトピックや内容、スタイル、トーン、対象読者層などを指定するんやで。具体的な情報を含めた方がいいねん。
妹
ええやん!それからどうするの?
兄者
次は、作ったプロンプトを元に文章を生成するんや。文章生成には、いろんなモデルや技術があるけど、プロジェクトの目的やデータセットの性質、リソース制約に合わせて選ぶんやで。
妹
わかった!文章を生成したら、どうやって評価するの?
兄者
生成された文章を評価して、目的に合致してるかどうか、文法的な誤りはないか、内容やトーンは適切かどうかをチェックするんやで。生成された文章が望ましいものかどうか、潜在的な誤解や偏見が含まれていないかなどにも注意が必要やで。
妹
そういうことやねんね!評価した結果、プロンプトやレスポンスを修正することもあるんやろ?
兄者
うんうん、そうやで。評価結果に基づいて、プロンプトやレスポンスを修正する必要がある場合があるねん。プロンプトの追加や変更、生成された文章の編集などが含まれるよ。
妹
なるほど、ちょっと難しそうやけど、繰り返し練習することでうまくなっていけばええんやな!
兄者
そうそう、繰り返し練習することが大事やで!生成された文章が目的に合致するようになるまで、評価と修正を繰り返していこうな!
以上が、プロンプトエンジニアリングの基本的な使い方やな!
## USER
続けてください
## ASSISTANT
妹
すごく分かりやすかったよ、ありがとうお兄ちゃん!
でも、もっと具体的な例を挙げてくれると嬉しいな。
兄者
具体例かー、ちょっと考えてみよか。
例えば、野球の試合結果を報じる記事を生成する場合を考えてみよう。
プロンプトには、報じる試合の詳細な情報が含まれる必要があるで。例えば、「4月10日に行われた野球の試合で、東京ヤクルトスワローズが読売ジャイアンツに勝利した試合結果を報じる記事を生成してください」というプロンプトを作成するわけや。
妹
なるほど!それからどうなるの?
兄者
それからは、作成したプロンプトを元に、文章生成モデルを使って記事を生成するんや。例えば、「4月10日、東京ドームで行われた読売ジャイアンツvs東京ヤクルトスワローズの試合は、ヤクルトが5対3で勝利しました。」といった記事を生成するわけや。
妹
あとは評価するんやな!
兄者
そうやで!生成された記事が、プロンプトで指定された試合結果を正確に報じているか、文法的な誤りがないか、適切なトーンで書かれているかどうかを評価するんや。もしプロンプトに不足している情報があったり、レスポンスに文法的な誤りがあった場合は修正する必要があるねん。
妹
それで、またプロンプトを修正したりするんやね。
兄者
そうやで!修正を繰り返して、目的に合致する記事が生成できるようになるまで評価と修正を繰り返そうな!
妹
うんうん、分かったよ!
具体的な例を挙げながら説明してくれて、とってもわかりやすかったよお兄ちゃん!
兄者
以上が、野球の試合結果を報じる記事を例に挙げながら、プロンプトエンジニアリングの基本的な使い方を解説した内容や!
考えたこと
- 読者がどんな形式だと軽く読めるかを考慮して、独断と偏見で兄妹の設定にした
- キャラクター生成は得意だと思っていたが、どこまで仲の良い兄妹感を出せるか興味があった
良かったこと
- 兄妹だとChatGPTが勝手に認識して「お兄ちゃん」って読んだり、意外と補完してくれていること
悪かったこと
- 精度が悪い
- 望んだ形式、望んだ内容が来る確率が低い
- 妹まで関西弁になる場合がとても多い
- なぜか「多弁」等を消すとうまくいかない確率が上がる気がする
感想
- 読んでいただいた方々の素直な感想が気になる
→どこがChatGPTが作った記事に感じたか、ChatGPTが作った記事として良いか悪いか、内容が理解できたか、そもそもどう感じたか等 - ドキュメント化/マニュアル化されているものは今回のプロンプトを参考にするとよしなに記事にしてくれる可能性はある
- 逆に言うと応用するにしてもこれくらい体系化したものをChatGPTに読み込ませてあげたい感じはある
- 今回は対話形式ということとキャラクター設定を人手で作成したが、もちろんこれもChatGPTにお願いすることは可能(前提として今回もやってみたが個人的に好かなかったので人手にした)
- どこまでChatGPTでやって、どこから人手でやるのか、6~8割ChatGPTにやらせて仕上げを人手でやるというバランスも身に着けたいお気持ちで今回行ったが、これくらい使っても正直底が見えないためあまり分からなかった、使いようでChatGPTくんなんでもできすぎる
実際の記事へのリンク
参考記事
※誠に勝手ですが参考にしました記事を下記に記載させていただきます。
ご連絡いただけましたら取り下げますのでご迷惑な場合ご連絡ください。