最終更新日:
ChatGPTとの対話で使うプロンプトエンジニアリングに関して、Kezmann氏はそのノウハウを以下のような5項目にまとめています。
ChatGPT向けプロンプトエンジニアリングを作成する際の秘訣5項目
|
最近では日本でもプロンプトエンジニアリングを作成するノウハウの整備が進み、Prompt Engineering Guideが日本語に翻訳されたりしています。プロンプトエンジニアリングは、対話型AIの普及に伴って社会人の必須教養になるかも知れません。
なお、以下の記事本文はJan Marcel Kezmann氏に直接コンタクトをとり、翻訳許可を頂いたうえで翻訳したものです。また、翻訳記事の内容は同氏の見解であり、特定の国や地域ならびに組織や団体を代表するものではなく、翻訳者およびAINOW編集部の主義主張を表明したものでもありません。
以下の翻訳記事を作成するにあたっては、日本語の文章として読み易くするために、意訳やコンテクストを明確にするための補足を行っています。
目次
ChatGPTを使ったプロンプトエンジニアリングのショートガイド
ChatGPTのような言語モデルを次のプロジェクトで使いたい場合、効果的なプロンプトの作り方を知っておく必要がある。
プロンプトの設計が良ければ、言語モデルから欲しい情報や結果を獲得できるが、逆に設計が悪いと、混乱や誤解を招く可能性がある。
このブログでは、ChatGPTで効果的なプロンプトを設計するためのノウハウを紹介する。
プロンプトの目的を理解することから、コンテキストの追加、トーンの検討まで、言語モデルとのやり取りを最大限に活用するために必要な知識をすべて解説する。
では、さっそく始めよう!
・・・
プロンプトの目的を理解する
プロンプトの構成を始める前に、何を実現したいかを明確にする必要がある。
情報を探しているのか、仕事を終わらせたいのか、あるいは単純に指導を受けたいのかなど、思い浮かべている目的を明確にすることで効果的かつ効率的なプロンプトを構築できる。
プロンプトの目的を決めるために、以下の質問を自問してみよう。
- どのような情報を得たいのか。
- どのようなタスクをこなしたいのか。
- 自分が求めているのは、どのようなアドバイスや推奨なのだろうか。
何を実現したいのかを明確に理解すれば、プロンプトの設計に取り掛かれる。
また(プロンプトを設計する)プロセスを通じて目的を意識することで、プロンプトの焦点が合って成功するものとなる。
それゆえ、時間をかけて目標を考えてから、次のステップである「コンテキストの提供」に進もう。
・・・
コンテキストの提供
質問の目的を知ることに加えて、ChatGPTのためにコンテキストを提供することが重要だ。
コンテキストの提供は、言語モデルがユーザの要求を解釈して、正しく応答するために必要な情報を提供することを意味する。
以下のような情報を入れることで、コンテキストを提供できる。
- 質問したトピックに関する背景情報
- 関連する詳細や具体的な内容
- さらなる質問や説明
例えば、ChatGPTに特定の車種について質問する場合、以下のようなコンテキストを提供できるだろう。
「燃費が良く、車内が広いコンパクトSUVを探しています」
このコンテキストは、ChatGPTがあなたの求めているものを理解し、正確な回答をするために必要なデータを提供するのに役立つ。
以上のようにコンテキストを提供すると、言語モデルは、あなたの条件を満たすコンパクトSUVのリストを燃費や車内空間に関する情報とともに回答するかも知れない。
プロンプトを設計する時は、あなたがChatGPTに何を求めているのかを理解できるように十分なコンテキストを含めるようにしよう。より多くの情報を提供すればするほど、言語モデルの応答はより正確で役立つものになる。
・・・
プロンプトを具体的にする
ChatGPTの効果を最大限に発揮させるためには、命令をできるだけ明確にしよう。つまり、正確で簡潔な言葉を使い、あいまいな表現を避けるのだ。
例えば、以下のような一般的な質問は良くない。
「いい映画を教えてくれませんか。」
代わりに以下のように具体的な質問をすると良いだろう。
「過去5年間のラブコメ映画からおすすめを教えてください。」
このように的確な質問をすることで、ChatGPTはあなたが求めているものを簡単に理解できるようになり、正確に返答できるようになる。以下のことを覚えておこう。
プロンプトを具体化するには、まずその目的を理解する必要がある。
また、プロンプトをより正確にする方法として、何を求めているのかを詳細に記載することもある。例えば、以下のような事例だ。
「高タンパクで調理が簡単なビーガン料理のレシピを教えてください」
こうした詳細を入力することで、ChatGPTはあなたの要求を理解し、特定のニーズをターゲットにして回答できる。
もちろん、私が例に挙げたものよりもさらに(詳細を)明示するのは自由だが、詳細にすればするほど、返答が制約される可能性があることに留意しよう。
そんなわけでプロンプトを作成する際には、できるだけ具体的な内容にするように心がけよう。
・・・
自然言語の使用
ChatGPTを使用する主な利点の1つは、このAIが自然言語を理解し応答するように訓練されていることにある。つまり、人間と同じように、自然でわかりやすい会話でこのAIに質問や要望を伝えられるのだ。
例えば、以下のように格式ばって質問しなくてもよい
「”banter(※訳註1) “という言葉の定義は何でしょうか」
代わりにより会話に近い以下のようなアプローチを試してみよう。
「やあ、”banter”って言葉の意味知ってるかい」
ChatGPTは日常会話で鍛えられた可能性が高いので、あまり堅苦しくするよりも、以上のように砕けた文章の方がいいかも知れない。
また、ChatGPTとやり取りする際には、適切な文法とスペルを使用することが有益である。これにより、言語モデルがあなたの要求を正確に理解し、適切に応答できるようになる。
・・・
完璧なプロンプトを構成する
これまでにプロンプトについての考え方や準備の仕方、使用する言葉についての考察を述べてきた。
ところでChatGPTのプロンプトを設計するうえで最も重要なことの1つは、プロンプトが適切に構成されているのを確認することである。適切に設計されたプロンプトは、ChatGPTがあなたの要求を理解し、正確で適切な応答を提供するのに役立つ。
プロンプトを構成する場合、考慮すべきいくつかの要素がある(※原註1)
- コンテキストを設定する:質問、説明、背景シナリオを提供することから、プロンプトを開始すること。
- 主な指示:ChatGPTが行うべきタスクを明確かつ正確に定義すること。
- データ入力:提案された質問に対する回答として期待しているデータを入力する。回答できるデータ形式としてはExcelファイルの表、コードスニペット、またはE-Mailがある。
・・・
書式と制限事項:
上記に説明した要素を満たせば、十分に適切な回答を得られる。しかし、以下のようにさらなる詳細を提供することで、より良い出力が得られることも少なくない。
- 書式設定:データ入力に加えて、記事、コードブロック、リスト、特定のファイル形式、またはその他のスタイルで出力を提供するようにモデルに指示する。
- 指示子:対象者、時間枠、トーン、タスクの範囲などを定義する(※訳註2)。
- 制約事項:その他の不要な項目や動作はここに設定する。
以上の設計を支援する内容があれば、完璧な入力を妨げるものは何もない。
ChatGPT向けの指示子一覧表
指示子名 |
説明 |
具体例 |
フォーマット指示子 | 出力形式を指定するために使用。指示子「コードブロックを使用する」を使用すると、簡単にコピー&ペーストで出力できるため便利な場合が多い。 | 「HTMLを使う」 「リストを作る」 「コードブロックを使う」 「表で提供する」 |
オーディエンス指示子 | 生成されたテキストが想定する読者が誰であるかをモデルに伝える。 | 「本文は14歳向け」 |
時間的指示子 | モデルがテキストを生成する際に考慮すべき時間情報を指定。 | 「2021年8月時点における」 |
範囲指示子 | モデルが実行することになっているタスクの範囲を指定。 | 「今後の性能の予測も含めて”」 「メインパートは彼のワイマール時代であるべき」 |
制限事項 | モデルがテキストを生成する際に考慮すべき制約や制限を指定。 | 「20文字以内で」 「センシティブな内容は除外」 「ゲーテのワイマール時代は無視」 |
・・・
最後の注釈
ChatGPTのような言語モデルで理想的なプロンプトを作成するには、プロンプトの目的、提供するコンテキスト、使用する言語の特定など、いくつかの重要な特性を慎重に検討する必要がある。
また、プロンプトエンジニアリングは言語モデルとのやり取りを成功させるための重要な役割を担う。というのも、これは言語モデルがやり取りの目的、データソース、ターゲットオーディエンスを特定するのに役立つからである。
今回紹介したいくつかのガイドラインに従うことで、プロンプトが明確で簡潔、かつ効果的に望んでいる結果を達成できるようになる。
さて、このブログ記事を楽しんで頂けたでしょうか。もしそうなら、以下に拍手やコメントを残していただけると、とてもうれしいです(※訳註3)。
すべての記事にアクセスできるMedium memberのプレミアム会員になろうとお考えの方は、以下のリンクからご参加ください。
LinkedInで私と連絡を取る。
GitHubにある私の他の作品や 、Mediumにある他の記事も見てみてください。
参考資料:
(※原註1)Thorbjoern Heise, ‘A Generic Framework for ChatGPT Prompt Engineering‘, 2023, Medium.com
・・・
生成系AIで公開されている記事をフォローすれば、クリエイティブAI分野の最新ニュースやアップデートをお届けします。
原文
『Is This The Secret To The Perfect ChatGPT Prompt?』
著者
Jan Marcel Kezmann
翻訳
吉本幸記(フリーライター、JDLA Deep Learning for GENERAL 2019 #1取得)
編集
おざけん