こんにちは、AIニュースアプリ Morning AI 開発者の矢野哲平です。この記事では、プロンプト、つまりAIへの指示の書き方と、回答精度を上げるテクニックについて触れます。

プロンプトは、生成AIに関わっていくうえで避けて通れないトピックです。なぜプロンプトを知る必要があるかというと、良いプロンプトであるほどAIの回答精度が上がり、業務効率化に直結するからです。

この記事では、次の3つのポイントを解説します。

  • プロンプトの概要と、最近のプロンプトを取り巻く状況
  • プロンプトの作り方
  • 汎用的に使えるプロンプトテクニック

なお、プロンプトという言葉の基本的な意味については生成AIによく登場するキーワード9選でも触れています。

最近のプロンプト事情

まず、私たちとプロンプトの関わり方は、以前と今とで少し変わってきているので、そこから話していきます。

もともと生成AIが登場した頃、「プロンプトエンジニアリング」という言葉がありました。プロンプトを設計・最適化する技術のことで、海外では「プロンプトエンジニア」に年収4000万円が提示されて話題になったほどです。

生成AIは、与えられたテキストに対して、その後に続くテキストを確率的に予測しています。だからこそ、どういった指示を与えるかでAIの回答はガラッと変わります。当時は、プロンプトをどう設計してAIのポテンシャルを引き出すかに焦点が当たっていました。

ですが最近は、ニュアンスが変わってきています。AI自体の性能が上がり、人間が細かく工夫しなくても良い回答を出してくれるようになったからです。そのため、プロンプトエンジニアリングという言葉を聞く機会は少なくなってきました。

補足すると、プロンプトエンジニアリングの後には「コンテキストエンジニアリング」という言葉も登場しました。コンテキストは背景情報や文脈という意味で、AIに渡す文脈全体を設計する技術、とでも言いましょうか。プロンプトエンジニアリングがAIへの指示の書き方に焦点を当てるのに対し、コンテキストエンジニアリングは背景情報・文脈・会話の履歴・AIが参照する外部データといった全体を最適化します。主にAIエージェント開発の文脈で登場する言葉です。少し混乱するかもしれませんが、そういうものがある、という認識でOKです。

プロンプトはAIに作ってもらう

もう一つの流れとして、プロンプトを人間が考えるのではなく、AIに考えてもらう手法を採用する人が増えています。

私自身、プロンプトを考えるときはAIに組んでもらうことが多くなりました。丸投げするのではなく、AIと一緒に作り上げるイメージです。AIが作ったプロンプトを人間がチェックし、出力を確認する。望む回答でなければフィードバックして修正してもらう、という流れです。

このとき相談するAIは、ChatGPTでもGeminiでもClaudeでも構いません。普段使っているチャット画面でプロンプト作成を相談すればOKです。

もう一つおすすめなのが、プロンプト最適化ツール(Prompt Optimizer)です。直訳すると「プロンプトを最適化するツール」で、OpenAIが提供しています。プロンプトを渡すと「ここをこうした方がいい」と添削してくれます。ChatGPTにはGPT-4やGPT-5などさまざまなモデルがありますが、このツールは「このモデルにはこういうプロンプトがいい」とモデルに応じた最適化もしてくれます。こうしたツールの位置づけは業務効率化に貢献するおすすめAIツールでも紹介しています。

人間側でも押さえておきたいプロンプトテクニック

では、人間側にプロンプトの知識は一切不要で、全部AIに任せればいいのか。私はそうは思いません。

これはプロンプトに限らず、あらゆる分野に言えることです。AIがプログラミングをやってくれるようになったから人間にプログラミングの知識は不要かというと、そうではありません。確かにAIができることは2〜3年前に比べて格段に増え、人間側に知識がなくてもアプリやウェブサイトを作れるようになりました。それでも、人間側にその領域の知識があるほど、AIをうまく使いこなせます。

プロンプトも同じで、基本はAIに作成を任せつつ、人間側でもいくつかテクニックを押さえておくと、より良い結果を生み出せます。ここからは、汎用的に使えるプロンプトテクニックを3つ紹介します。

1. 逆質問(フリップドインタラクションパターン)

一つ目は逆質問です。文字通り、AIに逆質問をさせるテクニックです。

たとえば「新製品の販売戦略を3つ挙げてください」と指示するよりも、

新製品の販売戦略を3つ挙げてください。戦略を考えるにあたって不足している情報があれば、私に質問してください。

このように、AIから人間へ逆質問させます。

なぜこうするかというと、タスクの背景情報を充実させるためです。AIの回答精度を上げるには、指示のコンテキスト、つまり背景情報を充実させることが必要でした。対人間で考えても同じで、上司から仕事を振られるとき、簡単な指示より背景情報が伴った指示の方が動きやすいですよね。その背景情報を、AI自身に足りない部分を質問させることで補うわけです。

このテクニックは「フリップドインタラクションパターン」と呼ばれます。フリップドは「反転させる」という意味です。結構前からあるテクニックで、さまざまなプロンプトテクニックの中でも、これが一番汎用的に使えると思います。

特に効果を発揮するのが、自分が未経験の分野や、指示がまだ固まっていないぼんやりした状態のときです。たとえばプログラミング未経験の人がAIでアプリを作りたいとき、どんな指示を出せばいいか分からないので、指示の内容はどうしても薄くなります。こうしたときにAIへ逆質問させ、対話を繰り返して指示を充実させていく。すると、AIはより精度高く回答してくれます。

迷ったら、

ここまでで、あなたがタスクを遂行するために不足している情報があれば、私に質問してください。

こんな一文を添えるだけでも効果があります。

2. 例題(Few-shotプロンプト)

二つ目は例題です。プロンプトの中にいくつか例題を含めるテクニックです。

具体例で説明します。たとえばAIに、資料から決まったテンプレートで要約してもらいたいとします。会社の決算資料を読み込ませて、決まった形でレポートを作ってほしい。そこで「添付した決算資料を読み込んでレポートを作成してください」と指示します。これでレポートは作ってくれるのですが、一つ問題が出ます。

それは、レポートの構成が毎回変わることです。ある会社のレポートでは先に結論を述べ、別の会社では業績に焦点を当て、文体も少しずつ変わったりします。

なぜこうなるのか。これはAIの性質によるものです。AIは後に続くテキストを確率的に予測するため、まったく同じ指示でも返ってくる答えは微妙に変わります。たとえば「日本の首都はどこですか?」と100回質問すると、ある回答では「東京です」と端的に、別の回答では「日本の首都は東京で、面積は〜、人口は〜」と長く、また別の回答では「東京です。おすすめの観光スポットを教えましょうか?」と返ってきたりします。

AIと相談しながら会話形式で進める場合は問題ありません。ですが、翻訳や要約のような繰り返しのタスクで「あらかじめ決まったテンプレートで回答してほしい」場合には、これが都合の悪い挙動になります。

そこで使うのが例題のテクニックです。これは「Few-shotプロンプト」と呼ばれる、よく知られた手法です。プロンプトの中に例題を含めることで、AIの回答を制御できます。たとえば、国名を聞かれたら必ず都市名だけで返してほしい場合は、次のようにします。

あなたのタスクは、国名から首都を答えることです。都市名のみ返してください。

【例題】
Q: 日本の首都は?
A: 東京

Q: フランスの首都は?
A: パリ

Q: アメリカの首都は?
A: ワシントンD.C.

このように例題を示すと、AIの出力をそろえられます。

この例題プロンプトは幅広く応用できます。たとえばメール作成。メールの冒頭と末尾はテンプレートを使うことが多いですよね。「お世話になります。株式会社Root Cの矢野哲平です」といった書き出しや、末尾の住所・連絡先など。こうした定型部分や、望む文面・文体を例題としてプロンプトに埋め込んでおくと、AIの回答を制御できます。「こう回答してほしいのに、なかなか言うことを聞いてくれない」と感じたら、例題を含めてみてください。

3. 手順の説明(ステップバイステップ)

三つ目は手順の説明です。プロンプトの中に、AIがタスクを遂行するために必要な手順を記載するテクニックです。

特に複雑なタスクほど活躍します。ステップバイステップのプロンプトテクニックとも呼ばれ、AIが踏むべき手順を人間側で明示的に指示するアプローチです。

たとえば、議事録を要約するタスクをAIに行わせるとします。会議の音声を文字起こししたテキストはすでにあるとして、ボリュームが大きいため、単純に指示しただけではAIがミスをすることも多くなります。こうした膨大なテキストを処理する場合、手順をプロンプトに入れ込むと、次のようになります。

添付したデータは議事録のテキストファイルです。この議事録を処理するにあたり、必ず次の手順で作業してください。

手順1:議事録から決定事項を抽出し、箇条書きで列挙する。 手順2:議事録から未解決の論点を抽出し、箇条書きで列挙する。 手順3:議事録から次回までのアクションアイテムを抽出し、担当者と期限を含めて表形式で整理する。 手順4:最後に議事録全体を3行以内で要約する。

このように作業手順を明示的に指示します。

ちなみに、AIは複雑なタスクになるほどミスをしやすくなります。こういうときは1回の処理で完結させず、複数に分割して処理するのも有用です。議事録の例で言えば、全体を要約するタスクと、特定の事項を抽出するタスクを分ける、といった具合です。

汎用的で簡単に使えるテクニックとしては、まずこの3つ(逆質問・例題・手順説明)を押さえておくのがおすすめです。AIの回答が物足りないと感じたら、逆質問させる・例題を提示する・手順を説明する、を試してみてください。

重要な情報は先頭と末尾に(サンドイッチ構造)

加えて、AIにはプロンプトの先頭と末尾に特に注意を向ける特性があります。ですから、重要な情報はプロンプトの先頭と末尾に配置しましょう。

短いタスクではあまり気にする必要はありませんが、複雑で長文のタスクになるほど、AIは先頭と末尾の情報に注意を向けます。イメージとしては、重要な情報で本文を挟むサンドイッチのような構造です。

たとえば、契約書のチェックをお願いするなら、次のようになります。

以下の契約書を読み、リスク情報を抽出してください。 (ここに契約書の中身を添付) 上記の契約書について、以下を実施してください。

  1. リスクとなり得る情報を最大6つ抽出する。
  2. 各条項についてリスクの理由を1文で説明する。

冒頭で何をしてほしいかを簡潔に説明し、対象となるテキストを間に挟み、最後に具体的な指示を記載する。大きく長いタスクでは、このサンドイッチ構造もおすすめです。

プロンプトは英語か日本語か

最後に、プロンプトは英語と日本語のどちらがいいか、という話もよく聞きます。

基本的には日本語で問題ないと思います。英語で指示を出すのは大変ですからね。ただし、タスクによっては英語の方が良い結果になる場合もあります。たとえばWebデザインのタスクは、明らかに日本語より英語の方が精度が高いです。

逆のケースもあります。私はAIニュースアプリを開発していて、英語の情報を日本語に翻訳・要約するタスクを繰り返しAIにやらせています。精度を上げるために、英語プロンプトやさまざまなテクニックを試したのですが、最終的に日本語に要約するタスクは、英語より日本語のプロンプトの方が精度が良いという結論になりました。ここで言う精度とは、要約の読みやすさです。日本語の要約を読みやすく作らせるには、日本語プロンプトの方が向いていたのかもしれません。

特定のタスクでは、どの言語を使うかも回答精度を左右する一つの要素になり得る。この点も頭の片隅に置いておくと良いと思います。

まとめ

今回は、プロンプトの書き方と回答精度を上げるテクニックを紹介しました。

  • 最近はAIの性能向上で、プロンプトはAIに作ってもらう流れも広がっている
  • それでも人間側で押さえておきたい汎用テクニックが3つ。逆質問(フリップドインタラクション)、例題(Few-shot)、手順説明(ステップバイステップ)
  • 長文タスクでは、重要情報を先頭と末尾に置くサンドイッチ構造が有効
  • タスクによっては、プロンプトの言語(日本語か英語か)も精度を左右する

AIの回答が物足りないと感じたら、まずはこの3つのテクニックを試してみてください。