arrow_backフィールドノートに戻る
AI 公開日 4 Aug 2026

プロンプトエンジニアリング基礎:実践用語集

プロンプトエンジニアリングの基本を明確に説明したもので、余計な説明は省き、すぐに使える例とテクニックを含みます。

プロンプトエンジニアリングは、言語モデルが実際に欲しい出力を生成させるための入力テキストを書く実践です。これはある種のライティングとデバッグの間にあります。従来の意味でコーディングはしていませんが、モデルがどのように指示を解釈するかについて仮説を検証し、うまくいかないときは反復します。

プロンプトの実体

プロンプトはモデルに送信するすべてのもので、レスポンスを生成する前のものです。つまり指示、コンテキスト、例、および実際の質問またはタスクです。最新のチャットモデルの多くはこれをロールに分けます。システムメッセージ(動作と制約を設定)、ユーザーメッセージ(実際のリクエスト)、時にはアシスタントメッセージ(前のターンまたは例)です。OpenAIやAnthropicのようなAPIを使用している場合、これらをコードで明示的に設定します。チャットインターフェイスを使用している場合、システムプロンプトはしばしば隠されるか、会話の開始時に一度だけ設定されます。

同じ質問で異なる答えが返る理由

言語モデルは、その前に来たすべてのもの(フレーズ、単語の順序、句読点さえ含む)に基づいて次のトークンを予測します。「再帰を説明してください」と聞くと、一般的な教科書的な答えが得られます。「ループは理解しているが再帰は理解していない初級開発者に対して、ベースケースと再帰ケースを含む単一のPythonの例を使用して再帰を説明してください」と聞くと、はるかに役立つものが得られます。入力の具体性が出力の具体性に直接影響します。これが初心者が知るべき中核的な洞察です。モデルはあなたの心を読んでいるのではなく、あなたの言葉にパターンマッチングしているということです。

最初に学ぶ価値のあるコアテクニック

ゼロショットプロンプティングは例なしで直接聞くことを意味します。「US電話番号にマッチする正規表現を書いてください。」これは一般的で明確に定義されたタスクではうまく機能します。

フューショットプロンプティングは、パターンの継続を要求する前に、望むインプット/アウトプットパターンの例を1つ以上モデルに与えることを意味します。サポートチケットをカテゴリに分類するようモデルに要求したい場合、カテゴリをプローズだけで説明するよりも、最初に3つのラベル付き例を示すことで、より一貫した結果が得られます。

チェーンオブソートプロンプティングは、モデルに最終的な答えを与える前にステップバイステップで推論するよう要求します。これはしばしば文字通り「think step by step」を追加することで、または作業を見せるように要求することで行われます。これは数学、論理、および複数ステップのタスクに役立ちますが、トークン使用量とレスポンス長も増加させます。

ロールプロンプティングはモデルにペルソナを割り当てます。「あなたはこのコードの脆弱性をレビューするシニアセキュリティエンジニアです」という具合に。これはトーン、語彙、優先順位付けする詳細の種類をシフトさせることができます。モデルに新しい能力を与えるわけではありませんが、出力スタイルをアンカーします。

構造は工夫より重要

初心者はしばしばプロンプトエンジニアリングが魔法のフレーズを見つけることだと思い込みます。実際には、構造はほぼ毎回工夫に勝ります。プロンプトを明確なパーツに分けてください。コンテキスト、タスク、制約、およびフォーマットです。例えば:

コンテキスト:セキュリティ監査のためのPython Flaskアプリをレビューしています。
タスク:以下のコード内のSQLインジェクションリスクを識別してください。
制約:/loginおよび/searchルートのみの問題をフラグしてください。
フォーマット:行番号と1文の説明を含む番号付きリストで返してください。

このような明示的なフォーマットは曖昧さを減らし、スクリプト内でプロンプトをチェーンしている場合にプログラム的に出力を解析しやすくします。

初期段階での一般的な過ち

頻繁なエラーは簡潔さに偽装した曖昧さです。「これをより良くしてください」と聞くことは「より良い」が何を意味するのかを定義せずに(より速い?読みやすい?より安全?)です。別のエラーは単一のプロンプトに5つの無関係なタスクを詰め込むことで、これはすべての5つへの浅い答えを生成する傾向があるのではなく、1つへの確かな答えです。初心者はまた、モデルが明示的に前の会話履歴を渡さない限り、個別のAPI呼び出し間でメモリを持たないことを忘れているため、ステートフルなものを構築するときに人々を混乱させます。

エンジニアのようにテストと反復

プロンプトをコードのように扱い、バージョン管理してテストしてください。廃棄する一度限りのテキストではなく。プロンプトの変動とその出力のログを保持してください。特に顧客サポートボットやコードレビューアシスタントなど、本番環境で再利用するもの。小さなワーディングの変更(「要約してください」対「正確に3つの箇条書きで要約してください」)は意味のある異なる結果を生成することができ、あなたのユースケースに何が機能するかを知る唯一の方法は、仮定するのではなく比較を自分で実行することです。

これが実際のものを構築する場合

プロンプトが信頼できるようになると、次のステップは通常プログラム的な使用です。タスク用にチューニングされたtemperatureとmax_tokensの設定でAPIを呼び出し、形式が不正な出力に対する再試行ロジックを追加し、レスポンスがユーザーに到達する前に検証します。そこがプロンプトエンジニアリングが通常のソフトウェアエンジニアリングの規律と重なり始める場所で、チャットウィンドウでの実験から実際のスクリプトを書くことへ移動する良いポイントです。

さらに詳しく知りたい場合は、Korra Studioの段落を確認してください。PythonでのLLM APIの使用と、ゼロからAIを搭載した小さなツールを構築することについてです。

この記事は AI の支援を受けて執筆し、Korra Studio の Michal Pilch(CISSP)が確認のうえ公開しました。

さらに先へ進む準備はできていますか?

これは Korra Studio ナレッジベースの 1 つのノートです。プラットフォームはすべてのトピックと 1 対 1 メンタリングをペアで提供します。

無料で始めるarrow_forward