# プロンプトエンジニアリングとは？公式資料で学ぶ基本と書き方

プロンプトエンジニアリングの意味と基本の手法を、OpenAI、Anthropic、Googleの公式資料をもとに解説します。明確な指示、文脈、例の示し方、手順の分割、効果の測り方まで、仕事で今日から試せる形で整理しました。

<Points>

- プロンプトエンジニアリングとは、AIが求める内容を安定して出せるように指示を書く作業のこと
- 基本は、具体的に指示する、背景を伝える、例を見せる、作業を分けるの4つ
- 書く前に「何ができれば成功か」を決め、試して測ると改善が進む

</Points>

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

[OpenAIの公式ガイド](https://developers.openai.com/api/docs/guides/prompt-engineering)は、プロンプトエンジニアリングを、モデルへの効果的な指示を書き、要件を満たす内容を安定して出せるようにする作業と説明しています。[Googleの資料](https://ai.google.dev/gemini-api/docs/prompting-strategies)も、言語モデルから正確で質の高い応答を引き出すための依頼文を作る作業として説明しています。

ポイントは「安定して」です。AIの出力は毎回同じとは限らないため、一度うまくいった文面を覚えるだけでは足りません。何度使っても求める形に近づくように、指示を整えていきます。

職業としての将来性が気になる人は[プロンプトエンジニアはオワコンか](/prompt-engineer-future/)を参考にしてください。この記事では書き方の基本に絞ります。

## 基本の4つの手法

OpenAI、Anthropic、Googleの公式資料で共通して扱われている手法を、4つにまとめました。

<Figure title="公式資料に共通する4つの手法" caption="各社の説明をこの記事で要約しました。" source="OpenAI、Anthropic、Googleの公式ドキュメント">

| 手法 | やること | 効く場面 |
|---|---|---|
| 具体的に指示する | 出力の形式と条件を書く | 答えがぼんやりするとき |
| 背景を伝える | 目的と必要な資料を渡す | 的外れな答えが返るとき |
| 例を見せる | 入力と出力の例を添える | 形式や文体をそろえたいとき |
| 作業を分ける | 工程ごとに依頼する | 長く複雑な作業のとき |

</Figure>

### 具体的に指示する

[Anthropicの資料](https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices)は、AIを「優秀だが、自社のやり方を知らない新入社員」と考えるよう勧めています。文面を、事情を知らない同僚に見せて、迷うようならAIも迷うという確かめ方も紹介されています。順番や漏れのなさが大事な作業は、番号付きの手順で書くのが有効です。

<Compare>
<Column title="ぼんやりした指示">

会議の内容をまとめて。

</Column>
<Column title="具体的な指示" tone="accent">

次の議事メモを、部長向けに要約してください。決定事項、担当者、期限を箇条書きにし、全体を200字以内にしてください。

</Column>
</Compare>

### 背景を伝える

同じ資料は、指示の理由も伝えると、AIが目的を理解して応じやすくなると説明しています。たとえば「省略記号を使わないで」だけでなく、「音声で読み上げるので省略記号を使わないで」と書く形です。

社内情報のようにAIが知らない内容は、必要な資料をプロンプトに含めます。[Googleの資料](https://ai.google.dev/gemini-api/docs/prompting-strategies)では、対応手順書を文脈として渡すと、より的確な回答になる例が示されています。

### 例を見せる

入力と出力の例を示す方法は、few-shot(フューショット)と呼ばれます。Googleの資料はプロンプトに例を入れることを勧め、Anthropicの資料は3〜5個を目安に挙げています。

<Note tone="info">

例は形式をそろえ、内容には幅を持たせます。Googleの資料は、例が多すぎると例に引きずられることがあるとも注意しています。

</Note>

### 作業を分ける

長い作業を一度に頼むと、確かめにくくなります。Googleの資料は、指示ごとに分ける方法、前の結果を次へ渡す方法、並行した結果を集約する方法を挙げています。

<Flow title="記事の下書きを分けて頼む例" caption="工程ごとに人が確かめると、どこで誤ったかを見つけやすくなります。" steps={[{ label: "構成案を作る", by: "ai" }, { label: "構成を確かめる", by: "human" }, { label: "本文を書く", by: "ai" }, { label: "事実を確かめる", by: "human" }]} />

## 書く前に成功の基準を決める

[Anthropicの概要ページ](https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/overview)は、改善を始める前提として次の3つを挙げています。

<Steps>
<Step title="成功の基準を明確にする">

「読みやすい」ではなく、「200字以内」「決定事項をすべて含む」のように確かめられる形にします。

</Step>
<Step title="試す方法を用意する">

基準に照らして結果を確かめられる方法を用意します。仕事なら、よくある入力を何件か決めておくだけでも始められます。

</Step>
<Step title="最初の案を用意する">

叩き台を書き、結果を見ながら一度に1か所ずつ直します。

</Step>
</Steps>

同じページは、すべての問題がプロンプトで解決するわけではないとも述べています。応答の速さや費用は、モデルを変えるほうが改善しやすい場合があります。

## モデルが変わると結果も変わる

[OpenAIのガイド](https://developers.openai.com/api/docs/guides/prompt-engineering)は、モデルの種類で向く書き方が違うと説明しています。推論モデルは大まかな目標でも力を出しやすく、GPTモデルは手順を明示したほうが良い結果になりやすいとされています。

業務システムに組み込む場合は、同じガイドが勧める次の2点も押さえてください。

<Compare>
<Column title="モデルの版を固定する">

本番では特定のスナップショットに固定し、挙動を一定に保ちます。

</Column>
<Column title="評価の仕組みを作る" tone="accent">

プロンプトの動きを測るテストを作り、変更やモデル更新の影響を見続けます。

</Column>
</Compare>

## よくある質問

### Q. プロンプトエンジニアリングは開発者でなくても必要ですか？

ChatGPTなどを画面から使うだけでも、具体的に指示する、背景を伝える、例を見せるといった基本は役立ちます。モデルの版の固定や評価の仕組みは、主にシステムへ組み込む場合の話です。

### Q. まず何から試せばよいですか？

いつも使っている依頼文に、目的、読み手、出力の形式の3つを書き足すところから始めるのが手軽です。効果は同じ入力で比べて確かめてください。

### Q. 公式資料のコツはどのAIにも同じように効きますか？

共通点は多いものの、同じとは限りません。Anthropicの資料も、特定のモデルで測った手法は別のモデルに使う前に確かめ直すよう勧めています。使うAIの公式資料を確認し、自分の用途で試してください。
