プロンプト
Prompt
概要(サマリー)
プロンプトとは、AIに対して出す指示や質問のことである。多くの場合は文章で入力するが、コードや画像、ファイル、選択肢などが含まれることもある。
たとえば「このコードのバグを直して」「中学生でもわかるように説明して」「ECサイトの商品説明を3案作って」のような文章がプロンプトにあたる。AIは非常に優秀だが、指示が曖昧すぎると期待とズレた答えを返しやすい。一方で、細かく縛りすぎるとAIの柔軟さを潰してしまうこともあるため、今では「長ければよい」「細かければ正解」とも言い切れない。
詳細解説
プロンプトはAIへの「仕事の頼み方」である
AIは、人間が入力した内容をもとに返答や生成を行う。
そのとき、AIに何をしてほしいかを伝える入力がプロンプトである。
つまりプロンプトは、AIに対する「仕事の頼み方」や「依頼メモ」のようなものだと考えるとわかりやすい。
同じAIでも、頼み方が変われば返ってくる内容もかなり変わる。
たとえば次の2つでは結果が変わりやすい。
- いい感じのサイトを作って
- 白背景、青系アクセント、問い合わせ導線あり、スマホ対応の法律事務所サイトのトップページ案を作って
後者のほうが、AIは方向性をつかみやすい。
このように、プロンプトはAIの出力品質に大きく影響する。
なぜプロンプトが重要なのか
AIは何でも自動で完璧に理解してくれるわけではない。
文脈が足りなければ補完して動くが、その補完がこちらの意図とズレることもある。
そのため、プロンプトでは少なくとも次のような要素が重要になることが多い。
- 何をしてほしいのか
- 何を出力してほしいのか
- どんな条件や制約があるのか
- どのくらいの詳しさで答えてほしいのか
- 誰向けに書いてほしいのか
つまりプロンプトは、AIに期待する作業内容を伝えるための重要な入力である。
同じAIでも、プロンプト次第で「使える答え」にも「惜しい答え」にもなりうる。
プロンプトが曖昧だと何が起きるか
初心者が最初につまずきやすいのは、プロンプトが広すぎることだ。
たとえば「いい感じにして」「見やすくして」「エラー直して」だけだと、人間同士なら通じても、AIには情報が足りないことがある。
たとえば「見やすくして」には、次のような解釈の幅がある。
AIはその中から推測して返すため、意図とズレることがある。
そのため、「どこを」「どうしたいか」を少し具体的にするだけで、精度はかなり上がりやすい。
ただし、細かすぎるプロンプトが逆効果になることもある
プロンプトは「とにかく具体的に細かく指示したほうがよい」と説明されることがある。
これは今でも有効な場面があるが、常に正解とは限らない。
細かく縛りすぎると、AIが本来持っている柔軟な提案力や補完力を活かしにくくなることがある。
たとえば、必要以上に手順・表現・構成・方法まで固定してしまうと、AIがよりよい別案を出しにくくなる。
つまり現在は、次のバランス感覚が大切である。
- 方向性が分かるだけの具体性は持たせる
- ただし、AIが動ける余地も残す
このため、最初は短めに投げて様子を見て、足りなければ追加で条件を出す、というやり方も非常に有効である。
良いプロンプトに入りやすい要素
必ず全部必要というわけではないが、次の要素があると安定しやすい。
目的
何をしたいのかを明確にする。
例:ブログ記事を書きたい、エラーを直したい、HTMLを作りたい、説明してほしい。
条件
守ってほしい制約を書く。
例:中学生向け、専門用語を減らす、EC-CUBE前提、WordPress前提、コードは省略しない。
出力形式
どんな形で返してほしいかを書く。
例:Markdownで、表なしで、コード付きで、箇条書きで、3案出して。
前提情報
背景となる情報を書く。
例:今のコード、エラーメッセージ、対象読者、使っている言語やフレームワーク。
このあたりを意識するだけで、AIの答えはかなり使いやすくなる。
プロンプトの例
たとえば、かなり曖昧なプロンプトは次のようなものである。
いい感じの問い合わせフォームを作って
これでもAIは返してくれるが、人によって「いい感じ」の意味は違う。
少し整理すると、たとえば次のようになる。
WordPressサイトに設置する問い合わせフォームの文言案を作ってください。
対象は法人ユーザーです。
項目は会社名、氏名、メールアドレス、電話番号、お問い合わせ内容、同意チェックです。
丁寧で堅めのトーンで、コピペしやすい形で出してください。
このようにすると、AIはかなり意図をつかみやすい。
ただし、さらに細かくしすぎて毎回長大な指示にする必要はない。目的に応じて十分な情報量を見極めることが大切である。
AIコーディングで特に重要になる理由
AIコーディングでは、プロンプト次第で結果がかなり変わる。
たとえば同じ「このバグを直して」でも、次のような情報があると精度が上がりやすい。
- どのファイルの問題か
- 何をしたときに起きるか
- 期待する動作は何か
- 実際に出ているエラーは何か
- 修正後も壊したくない部分は何か
逆に、これらがないと、AIは勝手に前提を補完して別方向の修正を出すことがある。
AIコーディングでは、プロンプトは単なる質問文ではなく、設計・修正・確認の精度を左右する実務上の操作とも言える。
毎回長いプロンプトを書く必要はない
ここも大事な点である。
プロンプトが重要だと聞くと、「毎回完璧で長い指示を書かないといけないのか」と感じやすい。
しかし実際は、最初から完璧に書く必要はない。
むしろ、まず短く投げて反応を見て、そこから追加で条件を足していくほうがスムーズなことも多い。
たとえば次の流れで十分である。
- まず短く依頼する
- 出力を見てズレを確認する
- 足りない条件だけ追加する
- 必要なら形式や制約を指定する
このやり方なら、AIの自由度を活かしつつ、無駄に長いプロンプトを書かずに済む。
プロンプトとコンテキストの違い
混同しやすいが、プロンプトは「今AIに出している指示文」であり、コンテキストは「会話の流れや背景情報全体」に近い。
- プロンプト
今回AIに伝える依頼や指示 - コンテキスト
これまでの会話、前提条件、周辺情報
たとえば、「このコードを直して」がプロンプトで、「これはEC-CUBE4のTwigテンプレートです」「このプロジェクトではCSSは別ファイルで管理しています」がコンテキストになる。
実際のAI活用では、この2つが組み合わさって結果が決まる。
よくある勘違い
プロンプトは長いほど優秀?
そうとは限らない。
情報が足りなすぎるのは問題だが、細かく縛りすぎるとAIの柔軟な提案力を狭めることもある。
プロンプトは一発で完璧に書かないといけない?
その必要はない。
最初は短く出して、返答を見ながら条件を追加していくやり方でも十分実用的である。
AIがうまく答えないのは全部AIの性能の問題?
必ずしもそうではない。
前提情報不足や指示の曖昧さが原因で、AIがズレた出力をすることも多い。
プロンプト = ただの質問文?
質問文も含むが、それだけではない。
指示、条件、制約、役割指定、出力形式の指定なども広い意味でプロンプトに含まれる。
詳細に指定した方法以外はAIにやらせないほうが安全?
場面による。
厳密な要件が必要なときは詳細指定が有効だが、アイデア出しや改善提案では余白を残したほうがよい結果になることもある。
より詳しくAIに聞いてみよう
- プロンプトとは何かを、中学生でもわかるように具体例つきで説明してください。
- 良いプロンプトと悪いプロンプトの違いを、初心者向けに整理してください。
- AIコーディングでプロンプトが重要になる理由を、具体例つきで教えてください。
- プロンプトを細かく書きすぎると逆効果になる場面を、わかりやすく説明してください。
- プロンプトとコンテキストの違いを、初心者向けにやさしく説明してください。