2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Microsoft 365 Copilot Chat を使おう(令和最新版)②プロンプトの4要素/プロンプトエンジニアリングは必要?

2
Posted at

前回までのあらすじ

 Microsoft 365 Copilot のライセンスを持っていなくても、Microsoft 365 ライセンス(E3やE5など)を持っていれば「Microsoft 365 Copilot Chat」(以下、Copilot Chat)が利用できます。
 今後いろいろな機能が利用可能になりますが、EDP(エンタープライズデータ保護)によって入力内容は保護されます。つまり、LLM(エンジン)の学習に入力した内容は利用されません。ジャンジャン Copilot Chat に質問してみましょう。

プロンプトの4要素

以下の内容はおよそ1年前ぐらいに書いた記事を多少修正してそのまま載せています。

生成AIを活用する上で※重要である「指示でちゃんと意図を伝えましょう」という点について深堀してみます。例えば「日本で一番高い山は?」と聞いたらもちろん「富士山です!」と返ってきます。ですが、それを聞いて何がしたいのか、写真を撮りたいのか、登りたいのか…といったところまで伝えれば期待した回答を得ることができます。
指示(プロンプト)に含めるべき要素のことを「プロンプトの4要素」といいます。これ自体の呼び方や、以下の4つの要素それぞれ違う言い方をする場合も多いですが、意味はだいたい同じです。

意味合い 説明
目的・ゴール 何を達成したいのかを明確にする 登山ルートを知りたい、美しくとれるスポットが知りたい
コンテキスト・背景 必要な前提情報や条件の提示 私は初心者登山者です。海外の友人に写真を送りたい
入力・制約条件・要件 利用するデータや制約を指定する 一般的に知られているルートに限定する。一般人が立ち入れる場所に限定する
出力形式 どのようにこたえてほしいか ルートの候補を表形式で、東京からの所要時間と交通機関を箇条書きで

それぞれを細かく見ていきます。

目的やゴール

Copilot Chatから得た出力を何に使うのか、なんでそれが欲しいのかなどを説明します。Copilot Chatはそれに即した形で回答を生成してくれます。

コンテキスト

コンテキストというと難しく感じますが、背景(Background, Situation)ととらえるとよいでしょう。質問をする人(通常のチャットだとこれは自分自身になりますが、後述するエージェントを踏まえると「質問をする人(user)」と「回答する人(Copilot Chat)」と第三者目線で考えるとよいと思います。
質問者はどんな人なのか?だけでなく回答者もどんな人を想定するのか?を入れるとより良いです。
例えば、「質問者は登山初心者ですが、スーパーアルピニストの観点で~~」と「質問者は登山初心者ですが、山登りが趣味でエンジョイしている人の立場で~」では回答に差異が出ます。どちらを期待しているのかを踏まえるとよいでしょう。

入力・制限条件・要件

富士山に登ろうとするとき、崖になっている部分をガツガツ上ったとしても山頂まではたどり着けます。しかしながら、基本的には「ルート」という登山を想定した道をつかいます。解答に対してどんな要件や制約があるのかを踏まえるとよいでしょう。他には例えば「上級者向けルートは避けたい」とかですね。

出力形式

どんな出力形式だと有用化を考えて指定するとよいでしょう。例えば箇条書き、表形式、marmaid形式などがあります。また、レポート形式にしてほしい場合、マークダウン形式で詳細に指定する。例えばこんな感じにといった例示をするとよいでしょう。

これを踏まえてプロンプトを作る

上記を踏まえてプロンプトを作ります。基本的には思ったことをそのまま書けば動作するはずです。「#」や「-」を使ってマークダウン表記をすると見栄えが良くなり、また期待した結果を得られやすいですが(後述)。まずは思ったままに書いてみましょう。
 今回はこんな感じにしてみました。

登山初心者です。富士山に登ろうと思います。登山ルートを「ルートの名前」「一般的な山頂までの所要時間」「難易度」「説明(50字程度)」を表形式でまとめてください。説明は初心者に寄り添った内容にしてくれると嬉しいです。

出力例

image.png

おおむね期待通りの回答が出てきました。
「プロンプトの4要素」は必ずしもすべてのプロンプトに対して要素を4つ入れなさい!というものではありませんが、少し考慮するだけで回答の精度が断然よくなりますので、ぜひ活用してみてください。
なお、黄色部分のように会話の「次」を促されることがよくあります。これについては別途触れます。

ここから最新:本当にこれ必要?

ここまでが、以前お話しした内容です。今のCopilotはモデルがいくつかあります。
image.png

バージョン(5.2と5.5)はきっと新しいバージョンの方が賢いんでしょう。(今回は省略)
問題は「Quick Response」と「Think Deeper」ですね。
ざっくり言うと「さくっと回答する」「よく考えて回答する」です。当然レスポンスは前者のほうが早く、回答精度は後者の方がよいです。「自動」にしておけばチャット内容から自分でどちらを利用するのが良いかを決定する・・・というのがいまのGPTの動作です。

ここで両方に簡略したプロンプトを入力してみます。

富士山に登りたいんだけど、各ルートを表で教えて

Quick Response で得た出力

ルート 特徴 難易度 登り時間目安 下り時間目安 五合目標高 向いている人
吉田ルート 山小屋・救護所が最多。最も人気で安心感あり 初級〜中級 約5〜7時間 約3〜4時間 約2,305m 初めて登る人
須走ルート 樹林帯が美しい。下山の「砂走り」が人気 中級 約5〜8時間 約3〜4時間 約2,000m 混雑を避けたい人
御殿場ルート 最長・最もハード。「大砂走り」が名物 上級 約8〜10時間 約4〜5時間 約1,450m 体力に自信がある人
富士宮ルート 最短距離で登頂可能。静岡側の定番 中級 約4〜6時間 約2〜4時間 約2,400m 短時間で登りたい人

Think Deeperで得た出力

ルート 登山口・標高 登り 下り 特徴 向いている人
吉田ルート 富士スバルライン五合目・約2,305m 約6.8km/約5時間 約4.3km/約3時間 最も人気。山小屋が多く、登り下りが別道。首都圏からアクセスしやすい一方、混雑しやすい。12 初めての富士登山、山小屋泊で安全に登りたい人
富士宮ルート 富士宮口五合目・約2,400m 約4.3km/約5時間10分 約4.3km/約2時間40分 4ルート中、登山口の標高が高く最短距離。ただし急登・岩場が多く、登下山道が同じで混雑時は譲り合いが必要。1 短距離で登りたい人、静岡・東海方面から行く人
須走ルート 須走口五合目・約1,970m 約6.9km/約7時間 約6.2km/約4時間 前半は樹林帯があり比較的自然豊か。下山は砂走りが特徴。八合目付近で吉田ルートと合流するため上部は混雑しやすい。1 混雑を少し避けたい人、富士山らしい変化ある道を楽しみたい人
御殿場ルート 御殿場口新五合目・約1,440m 約10.5km/約9時間 約8.4km/約4時間 最も長く、標高差も大きい上級者向け。火山砂利・岩場が多く、山小屋も少なめ。1 体力に自信がある経験者、静かなロングルートを歩きたい人

ざっくり選び方

希望 おすすめ
初めて登る・安心重視 吉田ルート
最短で登りたい 富士宮ルート
混雑を少し避けたい・自然を楽しみたい 須走ルート
体力に自信がある・上級者向けに挑戦したい 御殿場ルート

ご覧の通り、もうほとんど欲しい情報が含まれているのがわかります。あとは「難易度は☆5段階評価にして」とかその程度の指示でいいんじゃないかと思います。
ただ、一般的には Quick Response では細かく指示を与えたほうが良い結果が得やすく、 Think Deeper では思っていること考えていることをつらつら書いてあげたほうが良い結果になりやすいです。

結論

さくさく対話をしていきたい場合は Quick Response がおすすめ
正確な回答を得たい場合は Think Deeper が良い
以前ほどプロンプトエンジニアリングやプロンプトの4要素といった内容の必要性は薄れてきている
決まったフォーマットを指定したい場合などに利用しましょう。

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?