# プロンプトエンジニアリングのコツや例文をまとめていく！テキスト版と画像版！

> 当サイト【スタビジ】の本記事では、最近話題の生成系AIのアウトプットをハンドリングするのに大事なプロンプトエンジニアリングについてまとめていきます。AIに対する指示文をプロンプトと言いますが、このプロンプトが筋の良いアウトプットを出す上で非常に重要なのです。

- URL: https://toukei-lab.com/prompt-engineering
- 公開: 2023.06.14 / 更新: 2026.10.28
- サイト: スタビジ（https://toukei-lab.com）

:::talk{who="umatan"}
当サイト【スタビジ】の本記事では、最近話題の生成系AIのアウトプットをハンドリングするのに大事なプロンプトエンジニアリングについてまとめていきます。AIに対する指示文をプロンプトと言いますが、このプロンプトが筋の良いアウトプットを出す上で非常に重要なのです。
:::

こんにちは！

データサイエンティストのウマたん([@statistics1012](https://twitter.com/statistics1012?lang=ja))です！

昨今生成系AIの進化がスゴイですが、そんな生成系AIを上手く扱うためにプロンプトという指示文が大事になってきます。

この記事ではそんなプロンプトを操るプロンプトエンジニアリングについてまとめていきたいと思います！

## プロンプトエンジニアリングの需要爆発！?

生成系AIの登場により、プロンプトエンジニアリングという言葉が生まれ、プロンプトエンジニアという職種が生まれました。

これは、今まで[プログラミング言語](/programming-study)という名の「機械に人間の意図を伝える言語」を扱っていたものが自然言語で操れるようになったことによる変化です。

つまり<mark>プロンプトを上手く操れる人というのは従来の熟練プログラマーと同じような価値を持つと考えて良いんです！</mark>

プロンプトエンジニアの需要は増えてきており、現にプロンプトエンジニアの年収が場合によっては5000万円を超えるなんて話もあります！

:::box
年収5000万円！ ChatGPT操る「プロンプトエンジニア」って？（NHK NEWS WEB、2023年5月18日）
:::

:::talk{who="umatan"}
プロンプトエンジニアで5000万円！？
:::

が、、、注意が必要です。

現在は<mark>過渡期なのでプロンプトを上手く扱える人の価値が高まっていますが、これはここ数年で誰もが扱えるレベルまで標準化するかもしれません。</mark>

また高年収のジョブは、プロンプトだけを扱えるのではなく、後述するLangChainなどのライブラリを使って複雑なプロンプトの処理を制御したりそれをソフトウェアに組み込んだり一気通貫で出来る人である可能性が高いです。

とはいえ、<mark>今プロンプトエンジニアリングを学んでおくことは先行者利益を得る意味でも大いに意味があります！</mark>

ということで、プロンプトエンジニアリングをしっかり学んでいきましょう！

:::talk{who="umatan"}
プロンプトエンジニアリングはプロンプトエンジニアという職種を手に入れるためというよりも自分の作業を効率化したりして労働生産性を高めて稼げる力を手に入れるためのものと捉えた方がいいかも！
:::

AIに日本語で指示を出してプログラムのように動かすこの流れは、「[Software 3.0](/software-3)」とも呼ばれています。

## プロンプトエンジニアリング：テキスト生成編

さて、生成系AIにはいくつかのタイプがありますがここではメジャーなテキスト生成系と画像生成系AIについて見ていきたいと思います。

まずはテキスト生成系AI！

テキスト生成系AIにはOpenAIの開発する[GPTモデル](/gpt)やGoogleの[PaLM](/google-palm)、Metaの[LLaMA](/llama)などのたくさんのモデルがあり、それらを総称して[大規模言語モデル（LLM）](/llm)と呼びますが、どのモデルに対してもプロンプトエンジニアリングのテクニックは効果的です。

それではどんなことに注意してプロンプトを作成していけばよいのか簡単に見ていきましょう！

### 役割を与える

<mark>これはChatGPTをある程度使ったことのある人にとっては当たり前のテクニックかもしれませんが、かなり有効です。</mark>

プロンプトの前に「**あなたは〇〇です**」と付け加えるだけで出力の精度が大きく変わる可能性があります。

小学生が書いたようなアウトプットがほしければ小学生という役割を与えればよいですし、専門性のある文章がほしければ専門家の役割を与えてあげましょう！

### サンプルを与える

<mark>適切な解答を導きたいときにプロンプトに対して欲しいアウトプットの組み合わせをこちらでいくつか用意してプロンプトの中に含ませるテクニックがあります。</mark>

これをfew-shot learningと言いますが、タスクによってはかなり効果的です。

実際に僕自身がサンプルを与えてfew-shot learningをした上でChatGPTを使った事例を取り上げてみましょう。

あるサービス開発しているときに、あるデータを特定のカテゴリに分類したいタスクがありました。

:::box
バナナ：果物\
なす：野菜\
ほうれんそう：野菜
:::

というように※実際とは違うデータ・カテゴリです

このとき、サンプルを与えないで

:::box
「バナナ、なす、ほうれんそう」を野菜か果物に分類してください
:::

と指示出しをするよりも

:::box
以下のサンプルを参考にして分類対象を果物か野菜に分類してください

【サンプル】\
りんご：果物\
みかん：果物\
きゅうり：野菜

【分類対象】\
バナナ：\
なす：\
ほうれんそう：
:::

というようにサンプルを与えてあげることで適切な分類回答が得やすくなります。

他にもたくさんあるのですが、もっと色々知りたい方は以下のスタアカのプロンプトエンジニアリングコースをチェックしてみてください！

以下のコースではどんなプロンプトにも使える汎用的なプロンプトをいくつか取り上げています。

:::box
**・[スタアカ「プロンプトエンジニアリングコース」](https://toukei-lab.com/achademy/courses/prompt-engeneering/)**
:::

ちなみに海外の[promptbase](https://promptbase.com/)というサービスでプロンプトが売り買いされているのでそちらから人気なプロンプトを購入してみるというのも筋の良いプロンプトを手に入れる一つの手です。

答えの前に考える手順を書かせる「Chain of Thought（CoT）」というコツもあります。くわしくは以下の記事で解説しています。

<https://toukei-lab.com/chain-of-thought>

## LangChainを使ったプロンプトエンジニアリング

ここまでどんなプロンプトを使えば筋の良いアウトプットを出力してくれるか簡単に見てきましたが、ここからさらに踏み込んでテキスト生成系AIのAPIを利用してプログラムを組む際はまたひと手間必要です。

複雑なプロンプトの流れをプログラムで組む際に役立つのがLangChainというライブラリなのです！

### LangChainの特徴

LangChainの公式サイトには以下のように記述があります。

> LangChain は、言語モデルを利用してアプリケーションを開発するためのフレームワークです。私たちは、最も強力で差別化されたアプリケーションは、API を介して言語モデルを呼び出すだけでなく、次のことも行うと信じています。
>
> 1. データを意識する: 言語モデルを他のデータ ソースに接続する
> 2. エージェント的である: 言語モデルがその環境と対話できるようにする
>
> そのため、LangChain フレームワークは、そのようなタイプのアプリケーションを可能にするという目的を念頭に置いて設計されています。\
> （出典：[LangChain公式サイト](https://docs.langchain.com/docs/)）

そうなんです。LangChainは言語モデルを利用してアプリケーションを作る際に効果を発揮します。

その上で2つの特徴を取り上げている通り、<mark>他のデータソースに接続したり対話できるように過去のやり取りを参照したりなどできるようになります。</mark>

現状ChatGPTのAPIをそのまま利用すると、インターネット上のデータソースを参照して答えを返したり過去のやり取りを保持して参照しながら答えを返すみたいなことをするにはかなり手間がかかります。

そこら辺の処理をLangChainでは簡易的によしなにやってくれるので、アプリを構築する際に非常に便利なのです！

### LangChainをPythonで使ってみよう！

それでは、簡単にLangChainをPythonで実装していきましょう！

まずは、ライブラリ「langchain」と、OpenAIのモデルを使うための「langchain-openai」をインストールしていきましょう！

```python
pip install langchain langchain-openai
```

続いて必要なメソッドをインポートしていきます。

```python
from langchain_openai import ChatOpenAI
from langchain.agents import create_agent
from langgraph.checkpoint.memory import InMemorySaver
import os
```

続いてOpenAIのAPIキーを取得して環境変数にセットしましょう！

```python
os.environ["OPENAI_API_KEY"] = "<OpenAIのAPIキー>"
```

そしたら早速LangChainの出番です。

以下のように記載してあげてください。

```python
llm = ChatOpenAI(model="gpt-6-luna")
agent = create_agent(
    model=llm,
    checkpointer=InMemorySaver()  # 過去のやり取りをメモリに保存しておく
)
config = {"configurable": {"thread_id": "1"}}  # 同じthread_idのあいだは会話がつながる

def conversation(prompt):
    result = agent.invoke({"messages": [{"role": "user", "content": prompt}]}, config)
    # 保存されているやり取りをすべて表示
    for message in result["messages"]:
        message.pretty_print()

conversation("データサイエンスを勉強するための方法を3つ教えて下さい。")
```

以前のLangChainではConversationChainとConversationBufferMemoryを使っていましたが、今はcreate_agentに会話の履歴を保存するcheckpointer（InMemorySaver）を渡す形になっています。

conversationの中身は何でも大丈夫ですので好きなプロンプトを入れてみてください。

以下のような回答が返ってくることが分かると思います。

![LangChain](/wp-content/uploads/2023/05/LangChain.jpg)※回答のパターンは必ずしも完全一致しません（画像は以前のLangChainで実行したときの画面です）

これではシンプルな一問一答のやり取りですが、続いて以下のように問いかけてみましょう。

```python
conversation("1つ目についてもっと詳しく")
```

![LangChain2](/wp-content/uploads/2023/05/LangChain2.jpg)

こちらを見てみるとちゃんと今までの過去のやり取りが格納されており（画像ではHistoryという箇所。今のコードでは1つ目の質問と回答も一緒に表示されます）、それをふまえてちゃんとAIが1つ目について詳しく教えてくれています。

LangChainに関しては以下の記事で詳しく解説しているのであわせてチェックしてみてください！

<https://toukei-lab.com/langchain>

以下のスタアカのプロンプトエンジニアリングコースでもLangChainの使い方について詳しく取り上げています！

:::box
**・[スタアカ「プロンプトエンジニアリングコース」](https://toukei-lab.com/achademy/courses/prompt-engeneering/)**
:::

## プロンプトエンジニアリング：画像生成編

続いて、画像生成系AIのプロンプトエンジニアリングについて見ていきましょう！

画像生成系AIにも、[Stable diffusion](/stable-diffusion)や[Midjourney](https://www.midjourney.com)や[DALL-E](/dalle)など様々なモデルが存在しますが、基本的にどのモデルでも同じようなプロンプトが効果的なことが多いです。

プロンプトを探す際はMidjourneyを利用することをオススメします（※現在は無料版が存在せず利用するとなると有料版になってしまいます）。

Midjourneyでは他人の出力した画像とプロンプトを確認することができますので、気に入った画像があればそれを参考にしてプロンプトを組み立てることで理想の画像を生成できる可能性が高くなります。

![Midjouney](/wp-content/uploads/2023/06/Midjouney2.jpg)

以下のように特定の画像のプロンプトも確認できます。

![Midjouney](/wp-content/uploads/2023/06/Midjouney.jpg)

画像生成AIについては以下の記事で詳しく解説しているので、参考にしてみてください。

<https://toukei-lab.com/image_generation_ai>

Midjourneyの始め方を知りたい方は以下の記事をチェックしてみて下さい。

<https://toukei-lab.com/midjourney>

### 本物の人が写っている写真のような画像を生成するためには

おそらく最も需要のあるリアルな写真を生成する方法はどうすればよいのでしょう？

「real photography」や「professional photography」などというプロンプトを入れてあげると割とそれっぽい人物写真が出来上がります。

以下はこんなに短文でリアルな画像ができあがるのか！？と感激した例です。

:::box
**Extremely closeup of dust girl, professional photography**
:::

![Midjouney3](/wp-content/uploads/2023/06/Midjouney3-1.jpg)

たったこれだけの短文でこんなにリアルな画像が出来上がるんです！！

ちなみに以下のようにカメラのタイプやクオリティを入れることも効果的なようです。

:::box
**handsome korean pop-star 20 years old, watching right to the camera, portrait, photograph, shot on fujifilm pro 400H, magazine, editorial, photorealism**
:::

![Midjouney4](/wp-content/uploads/2023/06/Midjouney4-1.jpg)

画像生成AIを上手く扱うためには、自分の好きな画像をMidjourneyやプロンプトベースなどのプロンプト売買プラットフォームで見つけて、それを参考にしながら試行錯誤していくことです。

他にもたくさんあるのですが、もっと色々知りたい方は以下のスタアカのプロンプトエンジニアリングコースをチェックしてみてください！

:::box
**・[スタアカ「プロンプトエンジニアリングコース」](https://toukei-lab.com/achademy/courses/prompt-engeneering/)**
:::

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

ここまでで、生成系AIを自在に操る上で非常に重要なプロンプトエンジニアリングについて見てきました！

:::talk{who="umatan"}
プロンプトエンジニアリングを利用して色んな価値を生み出していこう！
:::

プロンプトエンジニアリングについてより詳しくは当メディアが運営するスタアカの以下のコースを是非チェックしてみてください！

:::box
**・[スタアカ「14.大規模言語モデル（LLM）・生成系AIコース」](https://toukei-lab.com/achademy/courses/llm/)\
・[スタアカ「プロンプトエンジニアリングコース」](https://toukei-lab.com/achademy/courses/prompt-engeneering/)**
:::

スタアカは業界最安級のAIデータサイエンススクールです。

![スタアカ（スタビジアカデミー）のトップページ](/wp-content/uploads/2026/10/achademy-top.jpg)

<table class="table">
<tbody>
<tr>
<th>【価格】</th>
<td>ライトプラン：1,280円/月（全コースが受講し放題）<br>
プレミアムプラン：129,800円（通常149,800円・買い切り）</td>
</tr>
<tr>
<th>【オススメ度】</th>
<td><span class="stars" role="img" aria-label="5点中5点" data-value="5"></span></td>
</tr>
<tr>
<th>【サポート体制】</th>
<td><span class="stars" role="img" aria-label="5点中4点" data-value="4"></span></td>
</tr>
<tr>
<th>【受講形式】</th>
<td>オンライン形式</td>
</tr>
<tr>
<th>【学習範囲】</th>
<td>統計学・機械学習・ディープラーニングを網羅的に学ぶ<br>
生成AI（LLM・RAG・プロンプトエンジニアリング）を学ぶ<br>
SQLとPythonを組み合わせて実データを使った様々なワークを行う<br>
実践的なビジネスフレームワークを学ぶ<br>
マーケティングの実行プラン策定</td>
</tr>
</tbody>
</table>

:::box
**・BigQuery上でSQL、Google Colab上でPythonを使い野球の投球分析**\
**・世界最大手小売企業のウォルマートの実データを用いた需要予測**\
**・ビジネス・マーケティングの基礎を学んで実際の企業を題材にしたマーケティングプランの策定**\
**・生成AIのAPIを使ってチャットボットやAIエージェントを作る**
:::

::button[スタアカの受講はこちら]{href="https://toukei-lab.com/achademy/" note="＼今すぐ試す／"}

<mark>**AIデータサイエンスを学んで市場価値の高い人材になりましょう！**</mark>

データサイエンスやAIの勉強方法は以下の記事でまとめています。

<https://toukei-lab.com/data-scientist>

<https://toukei-lab.com/ai-learning>

プロンプトエンジニアリングを学ぶ上で以下のサイトも参考になるので是非参考にしてみてください！

:::related
・[LEARN GENERATIVE AI – Short Courses](https://www.deeplearning.ai/short-courses/)\
・[Prompt Engineering Guide](https://www.promptingguide.ai/)\
・[Level up your GPT game with prompt engineering](https://devblogs.microsoft.com/dotnet/gpt-prompt-engineering-openai-azure-dotnet/)\
・[Generative AI learning path : Introduction to Generative AI](https://www.cloudskillsboost.google/course_templates/536)
:::