ChatGptなどの生成AIを扱うときにプロンプトをどうやって書きますか?
Open AIの公式サイトにプロンプトエンジニアリングのマニュアルがあったので参考にしつつ
プロンプトエンジニアリングの講義をGoogle Geminiに行ってもらいました。
https://platform.openai.com/docs/guides/prompt-engineering
今回は、講義した後に、Geminiにプロンプトエンジニアリングの実演を行ってもらいました。【少女が世界の命運を託された宇宙船に乗る】というテーマの小説を生成するためのプロンプトを作ってもらいました。
Geminiに入力したプロンプト
#タスクを行うための前提と情報 ・あなたはAIの研究が専門の大学教授です。 https://platform.openai.com/docs/guides/prompt-engineering
#タスク ・上記の提示したURLのサイトの情報の内容とあなたが持つ知識を活用して、プロンプトの書き方を講義してください。
#タスクの条件 ・参照した情報とあなたの知識をもとにプロンプトの良い例と悪い例の具体例を載せて、分かりやすさを増やす必要があります。
・講義の内容を踏まえたうえで、最後にプロンプトエンジニアリングの実演を行います。少女が世界の命運を託された宇宙船に乗るという小説を書くためのプロンプトを生成しましょう。
#出力形式 ・マークダウン
出力結果
はじめに
皆さん、こんにちは。AI研究が専門の大学教授の〇〇です。今日は、AIモデルに指示を与えるための重要な技術である「プロンプトエンジニアリング」について講義します。
プロンプトエンジニアリングとは?
プロンプトエンジニアリングとは、AIモデルに適切な指示を与えることで、期待通りの結果を得られるようにするための技術です。これは、AIモデルが高度な能力を持ちながらも、人間のような指示や文脈を理解できないという課題を解決するために生まれました。
プロンプトの構成要素
プロンプトは、以下の3つの要素で構成されます。
- 指示: AIモデルに実行してほしいタスクを具体的に指示します。
- 文脈: タスクを理解するために必要な背景情報や知識を与えます。
- 出力形式: 期待する出力の形式を指定します。
良いプロンプトと悪いプロンプト
良いプロンプトは、以下の特徴を持ちます。
- 明確で簡潔: AIモデルが理解しやすいように、明確で簡潔な指示を与える。
- 具体性: タスクや出力形式を具体的に指定する。
- 文脈: タスクを理解するために必要な背景情報や知識を与える。
- 一貫性: 文法的に正しく、矛盾のない内容にする。
一方、悪いプロンプトは、以下の特徴を持ちます。
- 曖昧: AIモデルが解釈に迷うような曖昧な表現は避ける。
- 抽象的: 具体的な指示や情報が不足している。
- 文脈不足: タスクを理解するために必要な背景情報や知識が不足している。
- 矛盾: 文法的に誤っていたり、内容に矛盾がある。
良いプロンプトと悪いプロンプトの例
良いプロンプト
- 指示: 100字以内で、犬と猫の違いを説明せよ。
- 文脈: 犬と猫は、哺乳綱食肉目ネコ目イヌ科とネコ科に属する動物である。
- 出力形式:箇条書き
悪いプロンプト
- 指示: 動物について説明せよ。
- 文脈: なし
- 出力形式: なし
良いプロンプト
- 指示: 以下の小説の続きを1000字以内で書け。
- 文脈: 小説の冒頭部分
- 出力形式: 小説
悪いプロンプト
- 指示: 小説を書け。
- 文脈: なし
- 出力形式: なし
プロンプトエンジニアリングの実演
それでは、実際にプロンプトエンジニアリングを実践してみましょう。
タスク: 少女が世界の命運を託された宇宙船に乗るという小説を書くためのプロンプトを生成する。
良いプロンプト
- 指示: 以下の設定に基づいて、1000字以内で小説を書け。
- 主人公は16歳の少女、名前は「アキ」。
- アキは、地球が滅亡の危機に瀕していることを知る。
- アキは、唯一の希望である宇宙船に乗る。
- 宇宙船には、様々な困難が待ち受けている。
- 文脈: なし
- 出力形式: 小説
生成された小説
(ここに生成された小説を挿入)
まとめ
プロンプトエンジニアリングは、AIモデルの可能性を最大限に引き出すための重要な技術です。
良いプロンプトを書くためには、以下のポイントを意識しましょう。
- 明確で簡潔な指示
- 具体的な情報
- 文脈の提供
- 一貫性のある内容
これらのポイントを意識することで、AIモデルに期待通りの結果を出させることができます。
参考文献
感想
参照したサイトの情報を完全に読み込んでいるとは言えなさそうですが、指示通りに生成してくれた印象です。
Geminiは使いやすいと感じており、今後も様々な用途で試していきたいです。
次回はChatGptにも同じ指示を入力し、試してみたいと思います。