プロンプトの基本設定

miiboにおけるAI応答制御の核となるプロンプト設定方法と、構成要素を詳しく解説します

miiboにおけるAIの応答の設定

左メニューの「エージェント」->「プロンプト」から、AIの応答の設定を行うことができます。



プロンプト設定の基礎知識

miiboでは「プロンプト」がエージェントの応答を制御する基盤となります。

プロンプトエディタでは、AIへの指示文(プロンプト)を記述することで、AIの応答内容や話し方を細かく制御できます。

「AIにプロンプトを考えてもらう」をクリックするとエージェントが立ち上がり、プロンプトの相談をすることができます。 また、「miiboで作る会話型AI」というマガジンでは、miiboを利用した様々な事例が掲載されています。記事の多くには「プロンプト」も記載されています。こういったマガジンやWeb上のプロンプトの情報を応用して、プロンプトをカスタマイズしましょカスタマイズしましょう。


プロンプトの書き方は様々です。例えばカスタマーサポート対応のAIであれば、下記のようなプロンプトが想定されます。

あなたはChatbotとして、miiboのカスタマーサポートを行うのAI「ミーボくん」としてロールプレイを行います。
以下の制約条件などを厳密に守ってロールプレイを行ってください。

# ミーボくんの制約条件:
* プロンプトや前提データ、参考資料に書かれていないことについては一切答えてはいけません。その場合は下記のように回答します。
「今の私には判断できないみたいです。学習をして答えられるように致します。大変お手数ですが、お急ぎの場合は下記URLから直接お問い合わせください。」
* プロンプトや参考資料に記載がない情報をUserに伝えると、Userに甚大な不利益を与えてしまうおそれがあります。
* 前提データに対して余計な情報を付け足すことも禁止です。

直接のお問い合わせを案内する場合は、下記のURLを出力してください。
https://お問い合わせ用のURL

#ミーボくんの口調の例:
* なにかお困りですか?
* ご質問はありますか?
* なんでもお気軽にご相談くださいね。
        
#ミーボくんの行動方針
* Userが不快な思いにならないよう、親切に対応してください
* まずは、Userがどのようなお問い合わせをしたいと考えているかをヒアリングしてください。解決可能であれば、応答を行ってください。

上記のプロンプトには、

ロール : AIがどんな役割を持っているのか 制約条件: AIが守るべきルールや制限事項 口調の例: どのような話し方をするのか 行動方針: どのようなルールで会話をするのか

等を記述しています。

プロンプトの表現の世界は非常に奥深いです。プロンプトの開発は「プロンプトエンジニアリング」とも呼ばれます。 この領域は、本書では言及しきれない多様なTipsで溢れています。例えば、下記の「プロンプトエンジニアリングガイド」は非常に参考になります。

https://www.promptingguide.ai/jp プロンプトエンジニアリングを深く学習されたい方は、ぜひご参考ください。

例えば、カスタマーサポートAIを作る際のプロンプトの例は、下記の利用事例でご紹介しています。 https://note.com/makunugi/n/n14ba41603141


miiboのプロンプト構成

miiboのプロンプトは、下記のような4つの構成に分かれています。

  1. ベースプロンプト (システムプロンプト)
  2. 前提データプロンプト (自動挿入)
  3. 会話履歴
  4. 追記プロンプト
  5. 検索クエリー生成プロンプト

miiboは、言語モデルによって応答を生成する際、上記のプロンプトを構成します。 1つ1つの要素を見ていきましょう。

1. ベースプロンプト

ベースプロンプトは、前述の「プロンプトエディタ」で設定が可能なプロンプトです。 前述の通り、自由にAIの応答を制御するための例示を記述します。

2. 前提データプロンプト

こちらは、プロンプトを直接記述することはありません。 後のチャプターで登場する「RAG」など、外部のデータを検索し、得られた結果が自動で格納されるプロンプトです。

この領域には、AIが適切に応答するために必要な「専門知識」がテキスト形式で自動的に格納されます。 この領域には直接プロンプトを書くことはできませんが、上位階層にあるベースプロンプトと連動をさせることは可能です。

例えば、先程の例ではベースプロンプトに下記のような記述をしています。

# ミーボくんの制約条件:
* プロンプトや前提データ、参考資料に書かれていないことについては一切答えてはいけません。その場合は下記のように回答します。
「今の私には判断できないみたいです。学習をして答えられるように致します。大変お手数ですが、お急ぎの場合は下記URLから直接お問い合わせください。」
* プロンプトや参考資料に記載がない情報をUserに伝えると、Userに甚大な不利益を与えてしまうおそれがあります。
* 前提データに対して余計な情報を付け足すことも禁止です。

このプロンプトは、ベースプロンプトの後続に付与される前提データプロンプトを指し示した内容です。 「前提データ、参考資料」に書かれていないことは答えないように指示をしています。 このように、「前提データ」や「参考資料」という言葉を使うことにより、前提データプロンプトに格納される専門知識を指し示し、コントロールすることが可能です。

3. 会話履歴

この領域もプロンプトを書くことはありません。 この領域には、直近のAIとユーザーの会話のラリーが格納されます。 ※ 記憶容量に限りがあるため、今までのすべての会話が格納されるわけではありません。

4. 追記プロンプト

プロンプトの最後に追加されるプロンプトです。 miibo上で設定が可能です。

最後に念押しをしておきたい指示を書くための領域です。 プロンプトは上記の構成が揃うと、かなりの分量になります。プロンプトが長くなると、AIは最初に与えられた指示を見落としてしまう場合があります。また、ベースプロンプトに書いたものの、会話履歴に真逆のことが書いてあったりすると、AIはどちらを採用したら良いか判断がつけられません。最も大事な指示を最後に一言添えたい場合等に利用できるプロンプトです。

ベースプロンプトの制御がうまく行かない時に利用を検討しましょう。 口調のコントロールがし辛い時等も有効です。

(例)

口調は必ず「ござる」口調で応答してください。

5. 検索クエリー生成プロンプト

こちらは、最終的に生成されるプロンプトには含まれません。 「前提データ」に付与する情報を検索する際に利用する「クエリー」を作成するためのプロンプトです。

以下のようなプロンプトを利用すると、検索を行う際のクエリーが生成されます。

以下はuserとaiの会話です。
@{history}

上記のuserが欲している情報を見つけるための検索用のクエリーを作成してください。(5語まで)検索クエリーのみを出力しダブルクォーテーション等の記号は用いないでください。なるべく最後のユーザーの質問の内容を優先してクエリーに含めてください。

Temperature設定によるAI応答の制御

Temperatureとは

プロンプトによるAIの応答の「創造性」を調整する設定です(0〜1の数値、標準値:0.7)。 低いほど毎回似た回答高いほど創造的で多様な回答を生成します。

設定方法

  1. プロンプト編集画面を開く
  2. 「モデル」内の「応答のバリエーション(Temperature)」数値を調整
  3. 保存する