見出し画像

深津式プロンプトシステムをExcelに実装してみた(無料サンプルファイルあり)

noteのCXOである深津貴之さんといえば、ChatGPTが登場したとき、イノベーター(先駆者)的にその使い方を極めた人物です。どういう指示を出せば望む回答を得られるか、誰もが苦労している時期に「こうすればよい」を啓示してくれた深津さんに感謝です。

とはいえ、2023年2月に公開されたライブでの発表ですし、その後のいろいろな改良や発見は含まれません。

今回は、Excelアドイン『生成AIツール for Excel』での実装を例に、2023年12月のベストプラクティスをご紹介します。

2023年3月以降のプロンプトエンジニアリング

ChatGPTの使い方は、2023年3月を境に変わっています。ChatGPTをWebブラウザー内のチャットとして(またはアブリから)使っていると気付きにくいですが、3月1日にAPIとして「チャット補完API(Chat Completion API)」が登場し、従来の「補完API(Completion API)」が「レガシー(今後のバージョンアップなし)」になったのです。API名に「チャット」が入っているかいないかの違いなのでわかりにくいですが、新しいAPIは会話全体をシステムに送信し、この会話の続きを生成せよ、という指示の仕方ができます。従来のAPIでは単純に「このテキストの続きを生成せよ」という意味で指示していたのが、新しいAPIでは「この会話の続きを生成せよ」の意味で指示するように変わったのです。

新APIの発表以降、おもに英語圏のプロンプトエンジニアリングでは、アシスタント(AI)への指示と会話内容を明確に分離することで、期待するAIの動作と命令を分けましょう、という流れが優勢になりました。

深津式プロンプトシステムは2023年2月が初出なので、AIへの指示をプロンプト内に記述している点で「昔のやり方」です。今回紹介する方法では、この方法を勝手にバージョンアップし「新しいやり方」に適応させます。

アシスタントへの指示とは?

「アシスタント(AI)への指示」とは何でしょうか。「プロンプトエンジニアリング」という言葉を聞いたことがなくても、ChatGPTへの指示に「プロの編集者として回答してください」のような役割を入れると、出力されるテキストの品質が向上する、という話は聞いたことがあるんじゃないでしょうか。試しにやってみましょう。

役割のないテキスト生成
役割を設定したテキスト生成

ChatGPTにとって「プロのルポライター」は体言止めなのが面白いですが、確かに「感動しました」と書くより「圧倒された」と書いたほうが書き手の感動が伝わってプロっぽいです。チャット補完APIでは、以下のようにAPIへの指示を記述します。

async function main() {
  const completion = await openai.chat.completions.create({
    messages: [{"role": "system", "content": "あなたはプロのルポライターです。"},
        {"role": "user", "content": "北海道旅行の思い出を100字くらいで投稿したいです。内容を考えてください"}],
    model: "gpt-3.5-turbo",
  });

もちろん、誰もがAPI経由でChatGPTを使えるわけではありません。そこで、Excelアドイン『生成AIツール for Excel』の出番です。

BB.CHAT関数を使う

『生成AIツール for Excel』のBB.CHAT関数は、Excelからチャット補完APIを使うための方法です。上記のJSON形式でのデータは、プログラマー以外には嗚咽ものの難解さがありますが、同じことをExcelの表で表現すると、こんなに簡単になります。

BB.CHAT関数の例

深津式プロンプトシステムとは?

深津式プロンプトシステムとは、以下のような書式のことです。

### 命令
あなたはプロの小説家です。
以下の制約条件と入力文をもとに、最高なブログタイトルと文章を出力してください。

### 制約条件
文字数は400字程度
文章は簡潔な表現

### 入力
健康食品のブログ用の文章を書いてください

### 出力
タイトル:
文章:

深津式プロンプトシステム(改)の例

太字部分は毎回変わる部分、それ以外はテンプレート的に使い回せる部分です。こういうのはExcelならこちらのように記述できます。

いわゆるExcelフォーム

背景色をクリーム色にして、ここに入力して、と示すのはいかにもExcelフォームですよね。そういうふうに作ってみました。1シート1案件のように管理すれば、どの案件でどのように指示して何が出力されたか、Excelファイルとして取っておけます。チャット画面で一生懸命指示を書いている人に、ちょっとだけ差が付けられます。Excelファイルは、以下からダウンロードできます。

ご利用にはOpenAIのアカウント、クレジットカードの登録が必要です、ChatGPT PlusのサブスクユーザーでもAPI利用料金が別にかかりますが、API利用料金は格安ですので、チャットだけの利用であれば、ChatGPT Plusが割高であることがわかると思います。ちなみに、この原稿を書くためにかかったAPI料金は試行錯誤を含めて0.04ドル(約6円)でした。

ChatGPTのコスト

API経由でChatGPTを使うと、AIがとんでもなく割安で利用できることがわかると思います。AI革命を体感するには、API経由のほうがよいです。