[基本]AIに聞いたプロンプトエンジニアリング

はじめに

生成AIが日常に登場して随分時間が経ちました。私を含め、便利な計算機程度の利用法でAIを利用している方々は多いと思います。けれど、それではAIを十二分に活用できているとは言えません。あくまでAI側が頑張ってこちらの意図を汲み取ろうとしており、その部分で齟齬が生じる余地が生まれるのです。

そのような誤差を減らし、求める結果を得るために必要となるのがプロンプトエンジニアリングです。

プロンプトエンジニアリングとは

プロンプトエンジニアリングとは何でしょうか。調べるのも面倒なので、こういう時にAIに聞いてみましょう。geminiに聞いてみた結果、以下のような回答が返ってきました。

プロンプトエンジニアリングとは、AIの応答精度を向上させるために、AIへの指示(プロンプト)を工夫する技術です。AIに特定のタスクを効率よく実行させるための「対話術」のようなものと考えるとわかりやすいでしょう。

なるほど、つまりAIにとってより分かりやすい指示を出す手法ということですね。確かに、命令を受ける側の立場になって考えてみると、指示はわかりやすいほうが良いですもんね。

解答の続きを見ていきましょう。

プロンプトエンジニアリングの主な目的
プロンプトエンジニアリングの主な目的は以下の2つです。

1.AIに意図通りの回答をさせる: 曖昧な指示ではAIは的外れな回答をすることがあります。プロンプトを具体的に、明確にすることで、望む結果を得ることができます。

2.AIの能力を最大限に引き出す: AIは特定のタスクに対して、適切な指示を与えることで、その潜在能力を最大限に発揮できます。例えば、複雑な文章の要約や、特定の形式での情報生成など、高度なタスクをこなせるようになります。

ここではプロンプトエンジニアリングの目的について書いてありますね。まず第一に目的の回答を得ること第二により精度の高い回答を得ることが目的であるといえます。

たしかに、日常使いするときも適当に指示を出すと、「いや、そういうことじゃない…」みたいな回答が返ってくることがありますね。要はこういった行き違いを減らし、求める回答にドンピシャなタスクを渡すためということだといえますね。

続いて、実際に回答を見比べたものが続きます。

プロンプトエンジニアリングの具体例
簡単な例として、旅行の計画をAIに立ててもらうケースを考えてみましょう。

悪いプロンプト: 「日本の観光地を教えて。」

AIの回答: 「東京、京都、大阪...」など、一般的な観光地を羅列するだけで、あまり役に立ちません。

良いプロンプト: 「2025年10月に、2泊3日で友人2人と行く京都旅行のモデルプランを提案してください。グルメと歴史探訪をメインに、予算は一人あたり5万円以内でお願いします。」

AIの回答: 宿泊先、交通手段、具体的な観光スポット、飲食店の候補などを網羅した、より実践的でパーソナライズされたプランを生成します。

この例のように、**「誰が」「いつ」「どこで」「何を」「どのような目的で」「どのような制約のもとで」**といった情報を詳しく含めることで、AIはより質の高い回答を生成できます。

普段のプロンプトは完全に前者ですね・・・。見比べると、確かに後者の方が具体的なプロンプトとなっており、回答する範囲も絞られているため、目的により近いきがしますね。

こういった点を考えると、AIエンジニアという職業も信ぴょう性が出てきますね。適当にAIを使って、中途半端な使い方をしている人よりも、自分の右腕として正確にコントロールして、自分の生産性を上げるような使い方をする人が今後も生き残っていけるのではないでしょうか。

プロンプトエンジニアリングの基本

続いて、プロンプトを渡す際の基本的な型についてこちらのサイトを参考に解説していきます。

基本的な構成要素

プロンプトエンジニアリングに必要な要素は次の表にまとめられます。

これらを意識することが基本となります。あくまで必要に応じて変更するので、精度を求めない場合であれば省いてしまっても問題ありません。

実際にgeminiに入力する際では、次のようなフォーマットが推奨されています。

[タスク]
...
[背景・文脈]
...
[入力]
...
[出力形式]
...

また、よりよいプロンプトをするために、以下のようなポイントに注意すると良いとされます。

  • 命令・依頼調で記載する→「~しろ」「~して」といった明確な口調で指示を出す。
  • 曖昧な表現は避ける→直接的かつ簡潔な内容にする。
  • 否定的な表現を避ける→「~はしないでください」といった表現は避け、肯定的な指示を出す。

やはり人間に指示を出すのと同じような気がしますね。特に否定的な表現を避けるというのは、人間の脳が否定表現を処理できないといった点と類似性を感じますね・・・。

まとめ

今回はネット上の記事を参考に、AI(gemini)に聞きながら基本的なプロンプトエンジニアリングについてみていきました。自分自身雑な使い方しかしていなかったので、学べる点がいろいろありました。

次回はさらに具体的なプロンプトエンジニアリングの手法についてみていきます。