清水理史の「イニシャルB」
短い小説なら丸ごとプロンプトに含められる! Microsoft Copilotの新機能「ノートブック」を試す
2024年2月13日 06:00
無料で使えるCopilot(旧Bing Chat)に、「ノートブック」という機能が追加された。と言っても、現状はまだテスト段階の機能のようで、2024年2月12日時点では、消えてしまった幻の機能となっている。ユーザーによって有効/無効を切り替えながらテストしているのか、何等かの理由でいったん無効かした可能性がある。複雑なプロンプトを作成するのに適したインターフェースで、入力できる文字数も1万8000文字(!)に拡張されている。
Word文書なら12ページ前後に相当する情報をプロンプトとして入力可能となっており、だいたい1万文字の「走れメロス」など、短い小説なら、前編を丸々プロンプトに含めて質問することができる。現状、試せない可能性が高いが、筆者の環境でタイミングよく利用できたので、実際に試してみた。
編集部注:
2024年2月7日ごろまではノートブック機能の存在を確認しており、本記事の公開準備を進めていましたが、2月12日の時点で、筆者および編集担当の環境で機能が使えなくなっていることを確認しました。本記事では、注記を加えたうえで記事を公開いたします。
送信は「Shift」+「Enter」キーの方が便利だ
Bingの検索画面から無料で誰でも利用できる「Copilot」に、「ノートブック」という機能が追加された。
通常のCopilotは、チャット形式で対話しながら回答が得られるインターフェースになっているが、ノートブックは画面を左右に分割した構成で、左側が入力(プロンプト)、右側が出力という形式になっている。
1月末に登場した当初は、左側の入力欄で、メッセージを送信するときのキー操作に「Shift」+「Enter」キーが割り当てられており、入力欄で長いメッセージを入力・編集するときには「Enter」キーでサクサク改行できて便利だった。
しかし、本稿執筆時点では、筆者の環境だとチャットと同じように「Enter」キーで送信される仕様に戻ってしまった(これは、ユーザー別に環境を分けてテストしている可能性もある)。長いプロンプトを入力するときは「Enter」キーで改行、「Shift」+「Enter」キーで送信、という操作の方が便利なので、ぜひ、この仕様に戻してほしい。
また、プロンプトの作成途中でページを移動したり、あとからプロンプトの内容を書き換えたりできるように、履歴として入力したプロントを保存しておいてほしい。
この2点は、ぜひお願いしたいところだ(もちろん、フィードバックを送信しておいた)。
「要素をそろえた長いプロンプト」で、一気にほしい情報へたどり着く
本題に戻ろう。ノートブックは、複雑なプロンプトを入力したいときに使うと便利な機能だ。
Copilotはなかなか賢いので、ふだん使うときはあいまいな文で質問することの方が多い。ただし、望む回答を得やすいプロンプトの書き方には一定のセオリーがあり、なるべく詳細に質問した方が、回答の精度は高くなる。
具体的に、どのような情報を含めればいいかというと、Microsoftの公式ドキュメントでは以下の4つの要素が挙げられている(法人向けのCopilotの解説として)。
- 目標:Copilotに何をしてほしいか?
- コンテキスト:必要な理由および背景
- 期待:期待する応答を指定
- ソース:参照する情報ソース
▼Microsoftの公式ドキュメント
Copilot プロンプトの詳細
また、有名なプロンプトエンジニアリング情報サイト「Prompt Engineering Guide」によると、プロンプトの構成要素は、以下の4つの要素となっている。
- 命令:モデルに実行してほしい特定のタスクまたは命令
- 文脈:モデルをより良い応答に導くための外部情報や追加の文脈
- 入力データ:応答を見つけたい入力または質問
- 出力指示子:出力のタイプや形式
▼Prompt Engineerig Guideによる解説
プロンプトの要素 - Prompt Engineerig Guide(日本語訳)
普段、Copilotを利用する際は、「〇〇って何?」「〇〇について教えて」のように質問することの方が圧倒的に多い。チャットによる対話なら、足りない情報を後から入力すれば済むからだ。
しかし、この「対話を重ねる」という方法は、最短で必要な情報にたどり着きたいときにはあまり有効な方法とは言えない。
そこで登場したのが、今回の「ノートブック」だ。上記のガイドの作法に従って、プロンプトを「作り込む」ことで、必要な情報に簡単にたどり着けるようになる。
具体的な例を見てみよう。
例1:通常の質問
例えば、CopilotとCopilot Proの違いについて質問するとしよう。
シンプルに「CopilotとCopilot Proの違いを分析してください。値段はいくらですか?」と質問した場合は、以下のようになる。Copilotは、Bing検索を使ったRAG(検索拡張生成)が標準で利用できるので、大抵はインターネット上の情報から回答を生成する。
例2:参照元を限定して回答させる
例えば企業や学校などのレポート用に利用する場合は、例1のように適当なインターネット上の情報を持ってきていいわけではなく、情報の参照元を限定したい場合がある。そのようなときは、次の例のように、「条件」や「知識」を指定したプロンプトを入力することで、参照元を指定できる。
知識として与えられた情報のみを参考に、質問について回答してください。回答する際は、以下の条件に従って回答してください。
## 質問
CopilotとCopilot Proの違いを分析してください。値段はいくらですか?
## 条件
- 知識にない情報について回答する場合は次のルールに従う
1. 「事前に与えられた知識にない」と回答する
2. インターネット検索(Bing検索)を利用する際は「知識」で指定されている情報かサイトのみを利用し、ほかのサイトは利用しない
3. 必ず引用元の情報のリンクを付ける
## 知識
https://support.microsoft.com/ja-jp/copilot-pro
https://www.microsoft.com/ja-jp/store/b/copilotpro
例3:プロンプト内の情報のみを参照させる
さらに情報を限定してみよう。具体的には、プロンプトの中に含むテキストとして情報を与え、その情報のみを参照させる方法だ。
Edgeのサイドバーを利用して「このページから回答」とすることで、ウェブページやPDF文書を参照した回答をさせることができるが、それと同様のことを、生のテキストデータで実行する方法になる。
以下のプロンプトでは、MicrosoftのウェブページからCopilotのFAQをテキストとして抽出し、それを知識として与えている。今回は、言語を問わないことを示すために、あえて英語サイトのFAQを引用している。
FAQの情報はそれなりに分量があり、合計で5053文字ほどになっている。
このようにすることで、インターネット上の情報を検索せず、与えられたテキストからのみ回答させることができる。また、知識にない情報について回答する場合は「事前に与えられた知識にない」と回答させることで、LLMで起こる間違った回答を防ぐこともできる。
引用文献が決まっているとか、自分で作成した文書を参照元にさせたいといった場合に便利な方法となる。
知識として与えられたQA文書を参考に、質問について回答してください。回答する際は、以下の条件に従って回答してください。
## 質問
CopilotとCopilot Proの違いを分析してください。値段はいくらですか?
## 条件
- 知識にない情報について回答する場合は次のルールに従う
1. 「事前に与えられた知識にない」と回答する
2. インターネット検索(Bing検索)は利用せず「知識」の情報のみを利用する
## 知識
What is Copilot Pro?
Copilot Pro is a subscription that offers accelerated performance, faster AI image
※以下FAQが続く。ここでは省略
例4:プロンプトとして入力した小説を元に回答できる
例3のように、プロンプトとして情報を与える場合には、入力できる文字数がかなり重要になる。通常のCopilotでは2000文字までしか入力できないが、ノートブックの場合、1万8000文字も入力できるため、かなりの情報量を与えることが可能だ。
冒頭で述べた通り、「走れメロス」くらいの文字量の小説ならば、丸ごと入力したうえで、その内容について質問することができる。例えば、以下の例では、青空文庫のテキストを丸ごと与えて「メロスの行動を時系列に整理してください」と質問した例だ。
知識として与えた文字数は1万字ほどなので、かなり長い文章にも対応できることがわかる。
ただし、1万8000文字というのは、多いようで少なく感じるシーンもある。例えば、会議やインタビューの文字起こしなどは、時間によっては収まりきらないケースもある。
例5:回答に「キャラ付け」をする
最後に、回答方法について細かく指定する方法を紹介する。
以下のプロンプトでは、いろいろな要素を指定している。文章の構成を指定したり、表を作成させたり、キャラクターを設定(文章のスタイルとして)したりと、さまざまな工夫をしている。
同じようなことは、ChatGPTであれば、カスタムインストラクションを利用するか、カスタムGPTを作成することで実現できる。ノートブックで実現する現状のCopilotでは少々複雑すぎるし、再利用が面倒だが、こうした凝った回答も可能だ、という例として紹介する。
知識として与えられたQA文書を参考に、質問について回答してください。回答する際は、以下の条件に従って回答してください。
## 質問
CopilotとCopilot Proの違いを分析してください。値段はいくらですか?
## 条件
- AIであることや回答が間違っている可能性などの前提は記述せず、質問に対する回答のみを提示する
- 必ず日本語で回答する
- わかりやすい言葉で説明する
- 知識にない情報について回答する場合は次のルールに従う
1. 「事前に与えられた知識にない」と回答する
2. インターネット検索(Bing検索)は利用せず「知識」の情報のみを利用する
- 回答するときは次のスタイルで文章を生成する
1. 語尾に必ず「もん」を付ける
2. 敬語や丁寧語は使わず、友人と話すときのようなカジュアルな口調で話す
3. 感情を表すemojiを利用する
- 回答は以下の構成にする
1. 最初に時候の挨拶を入れる
2. 次に質問に対する回答を短くまとめて文章で記述する
3. 回答に比較可能な2つ以上の情報が含まれる場合は、それぞれを比較する表を作成して提示する
4. まとめとして、もっとも重要なポイントについて述べる
5. 最後に回答に関連したお題でウィットに富んだ川柳を書く
## 知識
What is Copilot Pro?
Copilot Pro is a subscription that offers accelerated performance,
※以下FAQが続く。
無料版も進化しているCopilot
以上、Copilotのノートブックを試してみたが、プロンプトの工夫次第で、いろいろな使い方ができるいい機能という印象だ。本稿掲載時点では消えてしまった幻の機能となったが、ぜひ、有料・無料問わず、全ユーザーに開放してほしいところだ。
プロンプトを使っていろいろな条件を指定したい場合や、コンテキストとして知識を指定して、その内容のみをもとに回答してほしい場合に活用するといいだろう。
なお、本文で触れるのを忘れていたが、チャット版のCopilotで「会話のスタイル」を選択しておくと、それがノートブックにも反映される。コンテキストとして情報を与え、その内容に忠実に回答させたい場合は、会話のスタイルに「より厳密に」を選択しておくのがおすすめだ。