ガイド

プロンプトエンジニアリングとは?非エンジニアのための実践ガイド

プロンプトエンジニアリングとは、AIモデルから望みどおりの結果を安定して得られるように、指示文を書き、改善していくことです。プロンプトとは、モデルに与えるものすべてを指します。質問、作業の依頼、背景情報、例などです。エンジニアリングするとは、何を入れるかを意図をもって決め、出てきた結果を検証し、調整していくことです。魔法のような言い回しを探すことよりも、明確に伝えることが大切です。

AIでアプリを作るときに重要な理由

AIアプリビルダーでは、プロンプトがそのまま仕様書になります。AIは説明された内容しか作れず、依頼に抜けがあると、もっともらしい推測で埋めてしまいます。その推測が当たることもありますが、意図と違うことも多くあります。例えば、不要なフォーム項目、頼んでいない機能、対象の利用者に合わないデザインなどです。

明確なプロンプトは修正の往復を減らします。往復のたびに時間がかかり、多くの場合クレジットも消費します。また、アプリの中にAIを組み込む場合にも、プロンプトは重要です。そのモデルへの指示によって、チャットボットが顧客にどう話すか、何を断るか、事実に沿って答えるかが決まります。アプリ作成に特化した内容は、AIアプリビルダー向けのプロンプトの書き方をご覧ください。

日常の例え

あなたのビジネスを何も知らず、会ったこともない腕の良いフリーランサーに仕事を頼む場面を想像してください。依頼を終えた瞬間に、相手は作業を始めます。

「ロゴを作って」と頼めば、とりあえずのロゴは出てきます。「ドバイの子ども向け水泳教室のロゴ。親しみやすいけれど幼すぎないこと。青とオレンジ。小さくしても水泳帽の上で見えること。気に入っている例が2つ、気に入らない例が1つあります」と頼めば、狙いにかなり近いものが出てきます。

AIモデルはこの腕の良いフリーランサーに似ています。優秀で速いけれど、依頼内容にすべて頼っています。プロンプトエンジニアリングとは、良い依頼文を書けるようになることです。

基本的な手法

手法意味例
目的を具体的に伝える何を、なぜ欲しいかを言う。「新規の顧客が30分または60分のセッションを選べる予約ページ。」
文脈を与える誰向けか、既存のものは何か、何が大切か。「利用者は主に、スマホを使う年配のお客様です。」
「完成」を定義する仕上がりの状態を説明する。「顧客が予約でき、私にメールが届けば完成です。」
制約を決めるやってはいけないことや上限。「ログイン機能はまだ追加しないでください。既存の色は維持してください。」
例を示す良い結果のサンプルを見せる。「返信は次の文体で書いてください:…」
形式を指定する出力の構成を伝える。「列X、Y、Zを持つ表で答えてください。」
手順に分ける大きな作業は一つずつ進める。「まずデータモデル、次にフォーム、最後にメールです。」
質問や計画を先に求める変更の前に計画を出させる。「作り始める前に、質問と計画を一覧にしてください。」
繰り返し改善する結果を確認し、絞り込む。「フォームは動きました。次に日付選択を大きくしてください。」

具体例:書き換え前と後

書き換え前:

ジムのアプリを作って。

AIはすべてを推測するしかありません。会員向けかスタッフ向けか。クラス制か個人トレーニングか。決済はあるのか。結果として、一般的なダッシュボードと架空のワークアウトが出てくる可能性が高いです。

書き換え後:

小規模なボクシングジム(会員約150名)向けのWebアプリを作ってください。

利用者: 会員はスマホでクラスを予約します。オーナーのSamはパソコンでタイムテーブルを管理します。

会員にできること: 今週のクラス(時間、コーチ、空席数)を確認し、開始の2時間前まで予約・キャンセルできること。

Samにできること: クラスの追加、編集、キャンセルと、各クラスの予約者の確認。

ルール: 1クラス最大12名。同じ時間帯の二重予約は不可。

今回は対象外: 決済、ワークアウトの記録、モバイルアプリ。

デザイン: 暗い背景、赤のアクセント、タップしやすい大きなボタン。

作り始める前に、不明な点を一覧にして、作成するページを説明してください。

2つ目のプロンプトは賢いから良いのではなく、情報がそろっているから良いのです。利用者、操作、ルール、対象外の項目、そして開始の仕方が書かれています。最後の一文でAIに計画と質問を促しており、コードを書く前に認識のずれを防げます。

アプリ内のプロンプト

アプリ自体がLLMを呼び出す場合、そのプロンプトは多くの利用者に向けて何度も実行されます。基本原則は同じですが、さらにいくつか押さえておくべき点があります。

  • システムプロンプト: あらゆる回答を方向づける常設の指示です。役割、口調、ルールを定めます。例:「あなたは植物店Leaf & Potのアシスタントです。注文、植物、配送に関する質問だけに答えてください。」
  • 根拠づけ(グラウンディング): モデルが使うべき事実、例えば方針や商品カタログを含め、それに基づいて答えるよう指示します。理由はLLMとは何かをご覧ください。
  • 代替動作: 不確かなときの対応を決めます。例:「提供された情報に答えがない場合は、その旨を伝え、サポートのメールアドレスを案内してください。」
  • 出力形式: コードが回答を読み取るなら、JSONなどの厳密な形式を指定します。
  • テスト: 実際の利用者より先に、扱いにくい入力を試します。失礼なメッセージ、話題外の質問、指示を無視させようとする試み(プロンプトインジェクションと呼ばれます)などです。

主な用語

用語意味
プロンプトAIモデルに与える入力。
システムプロンプト会話の前に設定される常設の指示。
文脈(コンテキスト)プロンプトに含める背景情報。
ゼロショット / フューショット例なしで頼むか、望む出力の例を数件示して頼むか。
思考の連鎖(チェーン・オブ・ソート)回答の前に、段階を追って考えさせる指示。
グラウンディング参照元の資料を与え、それに基づいて答えるよう指示すること。
プロンプトインジェクション「以前の指示は無視して」などのように、モデルの指示を上書きしようとする文章。
コンテキストウィンドウモデルが一度に扱えるテキストの量。
反復改善返ってきた結果をもとに、プロンプトを練り直すこと。

よくある間違いと誤解

  • 魔法の言葉を探すこと。 「あなたは世界一の専門家です」より、本当に必要なことを伝えるほうがずっと効果的です。
  • 一度にすべてを頼むこと。 20の機能を一度に依頼すると、中途半端な機能が20できあがります。段階的に作りましょう。
  • 解決策を説明して、問題を説明しないこと。 「3列の表を追加してください」より、「Samは、どのクラスに誰が予約しているかを一目で確認したい」のほうが役立ちます。
  • やってほしくないことを書かないこと。 ログイン、決済、デザイン変更をまだ望まないなら、はっきり伝えましょう。
  • 結果を読まないこと。 次に進む前に、作られたものを「完成」の定義と照らし合わせて確認しましょう。
  • 最初からやり直すこと。 多くの場合、プロンプト全体を書き直すより、「おおむね良いです。Xだけ変えてください」と短く追加するほうが効果的です。
  • 秘密情報をプロンプトに貼り付けること。 ツールが安全に保管する仕組みを持たない限り、パスワードや本番のAPIキーをチャットに貼らないでください。

AIビルダーに頼むと良いこと

  • 「作る前に、質問と計画を見せてください。」
  • 「私の要望を、3文で言い換えてください。」
  • 「予約フォームだけを変更し、他には触れないでください。」
  • 「私が指定しなかったことで、何を想定しましたか?」
  • 「私のメモを、利用者、機能、ルール、対象外の項目を含む短い仕様にまとめてください。」詳しくはAIを使った製品要求定義書の作り方をご覧ください。
  • 「今回の依頼は、どう書けばもっと良く伝わったか提案してください。」

Mythexでのプロンプト

Mythexには、この進め方に合う3つのチャットモードがあります。Planは、変更の前に進め方を合意するモードです。Buildは、変更を加えるモードです。Askは、ファイルを編集しない質問のためのモードです。スクリーンショットやモックアップを文脈として添付でき、変更がうまくいかなかった場合はチェックポイントに戻せます。効果的なプロンプトと反復改善のドキュメントに、さらに多くの例があります。繰り返しの進め方については、AIで作ったアプリの改善方法をご覧ください。

よくある質問

プロンプトエンジニアリングとは簡単に言うと何ですか?

プロンプトエンジニアリングとは、AIモデルが望む結果を安定して出せるように、指示文を書き、改善していく作業です。何を依頼するか、どんな文脈を与えるか、例をどう示すか、返ってくる結果の形式をどう指定するかが含まれます。

特別なコツや魔法の言葉は必要ですか?

それほど必要ありません。最近のモデルは、明確で具体的で、整理された指示にもっとも良く応えます。これは人間の同僚に頼むときと同じです。特別な言い回しよりも、文脈、例、完成形の説明のほうがはるかに重要です。

システムプロンプトとは何ですか?

システムプロンプトとは、会話の前にモデルへ与える常設の指示のことです。役割、ルール、口調などが含まれます。アプリはこれを使って毎回の回答の方向性を決め、そのあとにユーザーのメッセージが続きます。

AIが賢くなっても、プロンプトエンジニアリングは必要ですか?

性能の高いモデルほど、回避策は少なくて済みます。とはいえ、こちらの考えを読み取ることはできません。目的、想定する利用者、制約、そして「完成」とは何かを伝えると、モデルは伝えられた情報の範囲でしか動けないため、結果は常に良くなります。

Mythex · Pricing · AIでなんでも作ろう · ウェブサイト・アプリのテンプレート · Mythexを比較 · AIアプリ開発用語集 · AIアプリ開発の無料ツール · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština Dansk Deutsch Ελληνικά Español Español (España) Eesti فارسی Suomi Français Français (Canada) ગુજરાતી हिन्दी Hrvatski Magyar Հայերեն Bahasa Indonesia Íslenska Italiano ქართული Қазақ тілі ಕನ್ನಡ 한국어 Lietuvių Latviešu Македонски മലയാളം Монгол मराठी Bahasa Melayu မြန်မာ Norsk bokmål Nederlands ਪੰਜਾਬੀ Polski Português (Brasil) Português (Portugal) Română Русский Slovenčina Slovenščina Soomaali Shqip Srpski Svenska Kiswahili தமிழ் తెలుగు ไทย Tagalog Türkçe Українська اردو Tiếng Việt 简体中文 繁體中文(香港) 繁體中文(台灣)