生成精度の黄金ルール、プロンプトエンジニアリングの公式とは?

2024.10.14

生成AI

ChatGPT

プロンプトエンジニアリング

こんにちは株式会社pilandにてAIやアプリを開発しているデータサイエンティストに島方です。



ChatGPTが大活躍する中で、まだその精度に疑問を持っている方もいるのではないでしょうか?

 

「なんかちょっと違うんだよな…」と思ったこと、ありますよね?

 

 

 

 

今回は、生成AIの精度を高めるためのいくつかのテクニックを紹介しながら、実例を交えて解説していきます。

 

特にカレーに関するプロンプトを使った実演も交えて、楽しく学びましょう!

 

・・その前に生成精度に対するユーザーの疑問点をまとめました。

 

 

 

まずは、生成AIの精度に対するユーザーの疑問点を見ていきましょう

 

生成AIを使ったことがある方はほとんど以下の

ように感じたことがあるはずです・・

 

 

生成AIに対するユーザーの疑問

文脈の理解不足
  長い会話や複雑なトピックでは、ChatGPTが文脈を十分に理解せず、関連性のない回答をすることがある。

事実の誤り
  専門的な質問に対して、事実に基づかない情報を提供する場合があり、正確性に疑問を感じるユーザーもいる。

バイアスの存在  
  トレーニングデータに由来するバイアスが含まれることがあり、回答に偏りが見られるという声もある。

曖昧な回答
  質問に対して具体性に欠けた曖昧な回答をすることがあり、これが不満の原因になることがある。

クリエイティブなタスクでの限界  
  創造的なタスクにおいては、既存のデータに基づいているため、新しいアイデアを生み出すのが難しいことがある。

 

 

 

napkin-selection (13)

 

 

上記のような疑問点を抱いているのではないでしょうか?

 

どのようにして精度を高めていけば良いか?

解決したいですよね?

 

 

 

 

次に事例を見ていきましょう。

 

 

 

 

データセットの質を高める




AIが正しいコンテンツを生成するためには、まずは質の高いデータが不可欠です。

 

例えば、カレーのレシピをAIに生成させる場合を考えてみましょう。

 

適切な食材や調理手順を学んだAIは、ユーザーが求める味に近いカレーのレシピを提供できますが、

誤った情報を学んだ場合、「カレーに砂糖を大さじ10杯」なんて提案をされるかもしれません。

 

質の高いデータセットを使用することで、こういったトンデモ提案を避けることができます。

 

プロンプトエンジニアリングの重要性




生成AIに正確な答えを導き出してもらうためには、

プロンプトの作り方が非常に重要です。

 

 

 

ここでは、カレーのレシピを生成するための例を見てみましょう。

 

※"""(ダブルクオテーション)で括弧とじにする

 ことで生成AIは精度の高い出力につながります。

 


プロンプトの実演:

 


 

"""
1. 前提条件:
   - タイトル: 友人のために特別なカレーを作る
   - 依頼者条件: 料理初心者
   - 制作者条件: 料理が得意なAI
   - 目的と目標: 簡単で美味しいカレーを作る

2. 対象プロファイル:
   - 名前: 太郎
   - 年齢: 30歳
   - 性別: 男性
   - 料理経験: 初心者

3. 参考情報:
   - 太郎が好きな食べ物: 辛口のカレー、ジャガイモ
   - 使用できる食材: 鶏肉、ジャガイモ、ニンジン、玉ねぎ、スパイス

4. 名詞と動詞:
   - {対象プロファイル}に対して、{参考情報}を活用して、簡単で美味しいカレーを作って。

5. 形容詞:
   - スパイシーで満足感がある

6. 出力形式:
   - 話し言葉形式で書き出してください。

7. 参考フォーマット:
   - 友人へ「今日は特別なスパイシーカレーを作るよ」と伝えてから、料理を始めてください。

8. 文体指定:
   - カジュアルスタイルで、楽しく料理をしている雰囲気を出してください。

"""

 

ここに追加の情報や追加の出力形式の指示を入れることで全く違う生成になります。

 




生成AIの応答(例)


「友達に『今日は特別なスパイシーカレーを作るよ!』と言ってから、まず鶏肉とジャガイモを大きめに切って、玉ねぎを炒めてみよう。スパイスをたっぷり使って、ピリッとした味を楽しめるはず!辛いのが好きなら、最後にカイエンペッパーを少し追加してみて。」

 

 

 

追加情報に「友達の雑談で話すように500文字でまとめてください。」

と、入力しました。

 

 

 

実際に実行した結果はこちらです。

→ https://chatgpt.com/share/6708a413-d060-800e-b986-a319476f18ba

このように、プロンプトが具体的であればあるほど、

AIの応答もより期待に沿ったものになります。

 

単に「カレーを教えて」と頼むより、しっかりした指示を出すことで精度の高い提案が得られます。

 

 

 

次に、公式をいれずに出力したプロンプトも掲載します。

 

プロンプトの実演:

 


 

 

友人のために特別なカレーを作ります。友達の雑談で話すように500文字でまとめてください。

 

 


 

実行した結果はこちらです

→ https://chatgpt.com/share/6708a856-4b48-800e-a847-d24fb8dd377e

 

 

ぱっと見た感じですと公式を使うとしっかり友人に説明されるように出力されました。

 

 

人の確認作業の必要性

 


AIに任せっぱなしではなく、人間がその結果を確認し、改善することでさらに精度を上げることができます。

 

例えば、AIが生成したカレーのレシピを試してみて、

「この分量は少し多すぎるな」と感じたら、調整をフィードバックすることが重要です。

 

このプロセスを繰り返すことで、AIが生成する内容の品質がどんどん向上します。

 

まとめ

 

生成AIを使って精度の高いコンテンツを得るためには、

 

精度の高いコンテンツを得るためには、

 

質の高いデータ、具体的なプロンプト、そして人間によるフィードバックの連携が鍵となります。

 

AIにカレーのレシピを聞くときには、ぜひ今日学んだテクニックを試してみてください!