プロンプトとは
生成AIのプロンプトとは、人工知能に特定のタスクを実行するよう指示するための入力テキストまたはコマンドのことです。このプロンプトは、AIに何をしてほしいのかを明確に伝えるためのもので、具体的な要望や条件を含むことが一般的です。生成AIは、このプロンプトに基づいてテキスト、画像、音楽、コードなどのコンテンツを生成します。
生成AIのプロンプトは、以下のような様々な形態や用途があります:
- テキスト生成:
- 例:「500文字以内で科学技術についての記事を書いてください。」
- これによりAIは指定されたテーマに基づいて記事を生成します。
- 画像生成:
- 例:「熱帯のビーチで夕日を背景にリラックスする人の絵を描いてください。」
- AIはこの指示に従って、指定されたシナリオの画像を生成します。
- 音楽生成:
- 例:「リラックスできるピアノの曲を作成してください。」
- AIはリラックスした雰囲気のピアノ曲を作ることを目指します。
- コード生成:
- 例:「Pythonでリスト内の数字の平均値を計算する関数を書いてください。」
- AIは指定されたプログラミング言語で機能するコードを生成します。
生成AIのプロンプトは、ユーザーが具体的で明確な指示を与えることで、AIがより正確かつ効果的な結果を提供するのを助けることができます。プロンプトが曖昧または不完全な場合、生成された内容は期待と異なる場合があります。そのため、プロンプトの設計はAIのパフォーマンスに直接影響を与える重要な要素です。
プロンプト作成のコツ
プロンプトを作る時のコツや注意点は、次のとおりです。
目的を明確にする
- AIに何をしてほしいのか、具体的な目標を設定する
- 文章作成、要約、翻訳、コード生成など、タスクを明確にする
簡潔にする
- 長々と書かず、必要な情報を簡潔にまとめる
- 冗長な表現や不要な情報は省く
具体的な指示を与える
- AIが求められるタスクを正確に理解できるよう、明確な指示を提供する
- 曖昧さを避け、具体的な表現を用いる
- 必要な入力形式やデータ形式を指定する
- 文章スタイルやトーンを指示する
- 必要に応じて、生成されるテキストの長さや形式(段落、箇条書き、対話形式など)を指定する
論理的な構成で文章を作る
- 情報が論理的な順序で提示されるように構成する
- 最初に概要を説明し、次に詳細を述べる
- 適切な箇所に接続詞や文脈を表す表現を使用する
- AIに背景情報や文脈を提供することで、より適切でリアルなテキストが生成される可能性が高まる。
ターゲットオーディエンスを考慮する
- プロンプトが対象とするユーザーのニーズや知識レベルを考慮に入れる
- 専門用語や難しい表現は避ける
- 適切な文体を選択する
創造性を促す
- AIの創造力を引き出すために、クリエイティブな要素をプロンプトに含める
- 自由度の高い指示を与える
- 発想力を刺激するようなキーワードを使用する
反復と改善
- プロンプトをテストし、フィードバックに基づいて改善を繰り返す
- 異なる表現や言い回しを試してみる
- AIの生成結果を分析し、不足している点や改善点を特定する
- 必要に応じて、プロンプトを修正し、再実行する
その他のコツ
- 正しい文法とスペルを使用する
- 句読点を適切に使用する
- プロンプトを分かりやすくフォーマットする
- 必要に応じて、参考資料や例を添付する
- 制約や禁止事項を明記する: 生成するテキストに含めてはいけない内容や話題を明確に伝える。(偏見や差別を含まない、有害な内容や違法な情報を含まない、など)
ふだん他のサイトの文例を参考にしたり、自分で工夫して考えたりして、実際に生成AIツールで実行させたプロンプトの文章は、必ずNotionのこのページ(文章だけのプロンプト)にペーストして保存しておくようにしましょう。あとで使い回しすることができますし、良い回答を引き出せた場合には、アーカイブとして残すことができます。もう二度と使うことのないプロンプトは削除すれば、自分にとって最良のプロンプト・グロッサリーを作成することができます。Notionのデータベースとして保存すれば、プロパティを設定することによって、使いたいプロンプトをすぐに探すことができるでしょう。詳しい手順は、5章で説明します。
代表的なプロンプトの書式
代表的なプロンプトの書式は次のとおりです。
Zero-shot プロンプティング
Zero-Shotプロンプティングとは、予め情報を伝えずに質問を直接提示するプロンプトを指します。膨大なデータを用いて学習し、指示通りに機能するように調整された言語モデルは、Zero-Shotの状況下でも適切な解答を提供することが可能です。
例:{失恋の悲しみ}を歌った{バラード}の歌詞を書いてください。
ここで、{ }は変数で、好きな内容に差し替えることができます。この場合の回答 (ChatGPT-4)は次のとおりでした。
雨が降り止むころ、僕はまだ
君の声を探してる
街の灯り一つ一つが
今夜も僕を照らし出す
別れ道で手を振った
その背中が遠くなる
言葉にできなかった想いが
胸の奥で泣いている
さよならの意味を知ってしまった
愛した分だけ傷つくんだね
君がくれた時間(とき)は美しかった
でも今はただ、涙に変わる
悲しみに雨が降り注ぐ夜に
君の笑顔思い出すたび
心はまだ、君を求めてる
だけどもう、戻れない
夢の中で君に逢えたら
もう一度、抱きしめたい
でも夜明けがすべてを消して
目が覚めると君はいない
さよならの意味を知ってしまった
愛した分だけ傷つくんだね
君との記憶を胸に秘めて
一人、前を向いて歩くよ
Few-shot プロンプティング
Few-shotプロンプティングとは、生成AIが特定のタスクを実行するための方法を学習させるために、いくつかの例を提示するプロンプトのことです。これは、複雑なタスクに対応するために使用され、例を提示しないZero-shotプロンプティングでは不十分な場合に有効です。具体的には、関連する例を数個(通常は3~5個)提供します。これにより、生成AIは提供された例からパターンを学習し、新しい入力に対して適切な出力を生成することができます。
例:
5月25日に東京経済大学で開催されるWebLab研究会の{告知文}を作成してください。
# 告知文の例
生成AI時代の知的生産の技術について最新情報が得られる
プロンプト作成の技術を知ることができる
ハルシネーション、情報セキュリティなど、生成AIの問題点についての認識を深めることができる。
以下は、東京経済大学で開催されるWebLab研究会の告知文の出力例(ChatGPT-4)です:
【WebLab研究会のご案内】
日時: 2024年5月25日(木)
場所: 東京経済大学 キャンパス内
テーマ: 「生成AI時代の知的生産の技術」
生成AIの時代が急速に進展する中で、知的生産のあり方も大きく変わりつつあります。このたびのWebLab研究会では、生成AIを利用した新しい知的生産の技術に焦点を当て、以下のようなトピックについて深掘りします:
– プロンプト活用の技術:どのようにして効果的なプロンプトを設計し、生成AIの可能性を最大限に引き出すか
– ハルシネーション対策: 生成AIが誤った情報を生成する「ハルシネーション」とその対策方法
– 情報セキュリティ: AI生成コンテンツの安全性と課題
参加者は最新の知見を共有し、生成AIの利用における実践的なスキルと理解を深める機会を得られます。学生、研究者、業界の専門家など、幅広い方々の参加をお待ちしております。
参加費: 無料(事前登録が必要です)
登録・詳細情報: [東京経済大学WebLab研究会ウェブサイト](http://)
この研究会で、生成AIの最前線に触れる貴重な機会をお見逃しなく!
Chain-of-Thought (CoT)プロンプティング
CoT(Chain-of-Thought)プロンプティングは、生成AIに対して複数の関連するプロンプトを連続して提示する手法です。この方法では、ユーザーが特定のトピックやタスクについて連続的に質問をする場合に有効です。
具体的な例を見てみましょう。以下はCoTプロンプティングの一例です(Copilot):
1. ユーザーが最初のプロンプトで「春の花について教えてください」と尋ねます。
2. AIは「桜は日本の春の花で、美しいピンク色の花を咲かせます」と回答します。
3. ユーザーが次のプロンプトで「桜の花言葉は何ですか?」と尋ねます。
4. AIは「桜の花言葉は希望や新たな始まりを象徴します」と回答します。
このように、ユーザーの質問とAIの応答が連鎖的に続くことで、より深い対話や詳細な情報提供が可能になります。CoTプロンプティングは、対話型のAIアシスタントやクエリに対する柔軟な応答を実現するために活用されています。
ReActプロンプティング
ReActプロンプティングは、生成AIを単に指示に従う以上のものへと押し上げる技術である。AIが何をすべきかを理解するだけでなく、行動を推論し、状況に基づいて行動を適応させることができます。
ReAct Promptingの利点
– より高い精度: 行動の背後にある理由を理解することによって、AIはより正確で適切な出力を生成することができます。
– 創造的なアイデア: ReActプロンプトは、AIが目標を達成するために異なるアプローチを考えることを促し、より創造的な解決策を導きます。
– 複雑なタスク:複雑なタスクをより小さく論理的なステップに分解することで、AIがより効果的に処理できるようになります。
– AI能力の向上: ReActプロンプトは、AIの推論と計画能力を訓練するのに役立ち、全体的なパフォーマンスの向上につながります。
例
従来のプロンプト: “カフェでコーヒーを注文してください。客と店員の間の会話を英語で表現してください。”
回答例(Gemini):
Customer: “Hi, can I get a large latte, please?”
Barista: “Sure, one large latte coming up! Would you like anything else with that?”
Customer: “No, that’s all for me. Thank you.”
Barista: “Great! Your total will be $5.25. Cash or credit?”
Customer: “Cash, please.”
Barista: (Takes cash and gives change) “Here’s your change. Your latte will be ready in a few minutes. You can take a seat and I’ll bring it over to you.”
Customer: “Thanks!”
A few minutes later:
Barista: “Here’s your large latte. Enjoy!”
Customer: “Thank you so much!”
ReActプロンプティング:
客はカフェに入り、店員に丁寧に挨拶します。席に着くまで待ちます。メニューを見てコーヒーを選びます。決まったら店員を呼び、注文をし、支払いをします。客と店員との間の会話を英語で表現してください。
回答例(Gemini):
Customer: (Enters cafe) Excuse me, hello! (Smiles)
Waiter: (Approaches) Good morning/afternoon! Welcome to [Cafe Name]. Would you like a table for one?
Customer: Yes, please. That would be great.
Waiter: (Leads customer to a table) Perfect, this table by the window is free. Please, have a seat and take your time browsing the menu.
Customer: Thank you very much. (Sits down and looks at the menu)
(A short pause as the customer reads the menu)
Customer: (Catches the waiter’s eye) Excuse me!
Waiter: (Approaches table) Certainly! Can I take your order today?
Customer: Yes, please. I’d like to have a (name of chosen coffee) (Size, if desired: for example, “large”)
Waiter: Excellent choice. Would you like anything to go with your coffee today? Perhaps a pastry or breakfast sandwich?
Customer: No, thank you. Just the coffee for now.
Waiter: Understood. Your (name of chosen coffee) will be right up. How would you like to pay today? Cash or credit card?
Customer: I’ll pay with (cash/credit card) please.
Waiter: Perfect. (Processes the payment) Here’s your receipt. Your coffee will be ready at the counter in a few minutes. You can wait here, or I can bring it to you when it’s done.
Customer: I’ll wait here, thanks.
(A few minutes later)
Waiter: (Places the coffee on the table) Here you go, your (name of chosen coffee). Enjoy your drink!
Customer: Thank you very much!
ReActプロンプトを効果的に使用することで、生成AIの可能性を最大限に引き出し、より複雑でニュアンスのある結果を引き出すことができます。
深津式プロンプティング
深津式プロンプトとは、Note株式会社のCXO、深津貴之氏が開発したChatGPT向けプロンプトのテンプレートです。このテンプレートを利用することによって、ユーザーはChatGPTに対してより具体的で明確な指示を出すことが可能になり、結果として、より有用で正確な情報やテキストを得ることができるようになります。その基本的な書式は次のとおりです。
#命令書:
あなたは、{text}です。
以下の制約条件と入力文をもとに、 最高の結果を出力してください。
#制約条件:
・文字数は{text}
・{text}
#入力文: {text}
#出力文:
例題:世界史の教材を作成してもらう。
- 命令書: あなたはプロの高校教師です。以下の制約条件と入力文をもとに、理解しやすい教材を出力してください。
- 制約条件: 文字数は500語以内。対象は高校生。
- 入力文: フランス革命について説明。
- 出力文: (世界史の{フランス革命}についての説明)
プロンプト:
#命令書:
あなたは、{プロの高校教師}です。
以下の制約条件と入力文をもとに、 最高の結果を出力してください。
#制約条件:
・文字数は{500語以内}
#入力文: {フランス革命について説明してください}
#出力文:
出力結果(ChatGPT4):
フランス革命は1789年から1799年にかけて起こった歴史的な出来事で、フランスの社会と政治体制に深刻な変革をもたらしました。この革命は、絶対王政の打倒と共和国の樹立を目指し、広範囲にわたる社会的・政治的動乱に繋がりました。
革命の背景には、財政危機、社会的不平等、啓蒙思想の普及などがあります。特に、貴族と聖職者は税の免除特権を享受していましたが、第三身分(農民、都市の労働者、そしてブルジョワジー)は重税に苦しみ、政治的にも無視されていました。
1789年5月5日、ルイ16世は財政危機を解決するために三部会を召集しましたが、第三身分は投票方法に不満を持ち、自らを「国民議会」と宣言し独自の会議を開始します。6月20日の「テニスコートの誓い」では、国民議会のメンバーが憲法制定まで解散しないことを誓いました。この行動は革命の火付け役となり、7月14日のバスティーユ牢獄襲撃が象徴的事件となります。
バスティーユ襲撃後、フランス全土で革命は拡大し、1789年8月には「人間と市民の権利の宣言」が採択され、自由、平等、博愛の理念が打ち立てられました。しかし、権力の掌握を巡る内部抗争が続き、1792年には共和国が宣言され、ルイ16世は処刑されました。
その後、ロベスピエールらが率いる「山岳派」が恐怖政治を展開し、多くの反対派が処刑されました。この時期、社会の安定は大きく損なわれ、1794年にロベスピエール自身が処刑されると、恐怖政治は終焉を迎えます。
フランス革命はナポレオン・ボナパルトの台頭を経て、1799年のブリュメール18日のクーデターによって一段落します。この革命によってフランスは王政から共和制へ大きく舵を切り、現代の民主主義の基礎を築いたとされています。
マークダウン記法とプロンプト
マークダウン記法(Markdown)は、テキストベースのマークアップ言語の一つで、2004年にジョン・グルーバーによって開発されました。この言語の主な目的は、プレーンテキストで書かれた文書からHTMLなどのリッチフォーマット文書を簡単に生成することです。簡単な記法で文書構造を表現することができます。
生成AIのプロンプトで使えるマークダウン記法をいくつか紹介します。
- 見出し:
# 見出し1は最大の見出しを作成します。## 見出し2は次に大きな見出しを作成します。### 見出し3、#### 見出し4と続きます。
- リスト:
- 項目または* 項目で無順序リストを作成します。1. 項目で順序付きリストを作成します。
- テキストの強調:
**太字**で太字にします。*イタリック*でイタリックにします。
- リンク:
リンクテキストでリンクを挿入します。
- 画像:
!代替テキストで画像を挿入します。
- 引用:
> 引用文で引用を挿入します。
- コード:
- `コード` でインラインコードを表します。
- “` コードブロック “` でコードブロックを作成します。
- 表:
- 表を作成するには、ヘッダーとセルをパイプ (
|) とダッシュ (-) で区切ります。| ヘッダー1 | ヘッダー2 | | --------- | --------- | | セル1 | セル2 |
- 表を作成するには、ヘッダーとセルをパイプ (
- LaTeX 数式:
$$ 数式 $$で数式を挿入します。例えば、$$ x^2 + y^2 = z^2 $$でピタゴラスの定理を表します。
これらのマークダウン記法を使って、見やすく整理されたプロンプトを作成することができます。
自然な会話で使うプロンプト (ChatGPT-4oなど)
これは、もはやプロンプトというより、生成AIとの間で、ごく自然な会話を交わすことで、これまでよりも迅速かつ的確な回答を得ることができるというものです。2024年5月に発表されたChatGPT4oがその一例です。これからは、このような音声入力を使った会話型のプロンプトが主流になっていくのかもしれません。
プロンプトの文例集
以下では、筆者が普段使う機会の多いテーマに関するプロンプトの例を、テーマ別に紹介しておきたいと思います。{ }の部分を取り替えれば、どんな事例にも対処できるでしょう。
【この文例集は、以下の章を執筆しながら追加していきます】
【文章の作成】
- {ヨガ入門ガイド}の記事を作成してください。
- {新しいスマートフォン市場}についての市場調査レポートを作成してください。
- 最新のテクノロジートレンドに関する記事を生成してください。AI、ビッグデータ、IoTに焦点を当て、各トピックの現状と将来の展望を含めてください。
- {糖尿病}についての簡潔で理解しやすい解説記事を作成してください。リスク要因と予防策を中心に説明してください。
- 物語の続きを生成:「この物語の続きを書いてください」というプロンプトと共に物語の一部を提供します。
- {二人の男女が織りなす、笑いと涙のラブコメディ}の脚本を書いてください
- {自分が行った海外旅行}を紹介するWebサイトを作成してください
- {失恋の悲しみ}を歌ったバラードの歌詞を書いてください
- 友人への誕生日のお祝いメールを書いてください
- { }の料理のレシピを書いてください。料理の写真もつけてください。
- 次の文章をもとに、4択のクイズ問題を5つ作ってください { 文章を入れる }
- { }を対象として、{ }をテーマとするアンケート項目を10個作成してくださ
【文章の要約、書き換え、校正】
- 次の文章を要約してください { 文章を入れる }
- (長すぎる場合)もっと短く要約してください { 要約文を入れる }
- (短すぎる場合)もっと長く要約してください { 要約文を入れる }
- 以下の文章を、意味を変えずに500字に膨らませてください { 文章を入れる }
- 以下の箇条書きを文章に直してください { 箇条書きを入れる }
- 次の文章の文末を「です」「ます」調に書き直してください {「だ」「である」調の文章を入れる}
【語学に関するプロンプト:マークダウンも含む】
- 次の{フランス語}の文章を日本語に訳してください。 {フランス語の文章} Tradurre il seguente {testo francese} in giapponese. {testo francese}
- 次の日本語の文章を{英語}に訳してください。 {日本語} Please translate the following Japanese sentence into {English}. {Japanese}
- 次の{イタリア語}の文章から単語を抜き出し、表形式で日本語の意味をつけてください。 {イタリア語の文章}
- 英単語{ }を使った例文を5個作成し、それぞれ( )に入れた日本語訳をつけてください。
- {フランス語}の動詞{lire}の{直説法現在形}を表形式でまとめてください。
- {イタリア語}の{形容詞}について基本的な文法を例文を交えて説明してください。
- 駅までの道順を尋ねる{イタリア語}の会話文を作ってください。
- レストランで、客がウェイトレスに食事の注文をするときの{フランス語}の会話文を作ってください。
- Make a dialogue between an client and an waitress at a restaurant. Write in both French and Japanese.
- Faites un dialogue entre un client et un serveur dans un restaurant. Le client demande un diner,[. Faites le dialogue en français et en japonais traduit.
- 以下の#制約条件と#入力文をもとに、{英語}の文章の校正を行ってください。 #制約条件 ・#入力文中の{英語}単語のスペルと、文法や表現が正しいかチェックし、間違っていた場合は修正して上で、どのように間違えていたのかを日本語で詳しく解説してください。 ・入力文の評価を教えてください。
#入力文 {英語}の文章: {文章} 12. 原文の{英語}を校正して、校正結果を出力してください。
#制約条件 ・どこがどう間違っているかを校正結果に出力 ・表現を変えてほうがいいものは改善点に出力
#原文 {英語}


コメント