プロンプトエンジニアリング ガイド
ChatGPT、Claude、Gemini で使える無料のプロンプトエンジニアリング ガイドです。プロンプトの書き方、基本テクニック、コーディング用プロンプト、AI が間違える場面までを解説します。各ページのプロンプトは編集して、そのまま AI アプリで開けます。
AI Prompts のガイド付き学習を始めるはじめに
- プロンプトとはプロンプトとは、AI モデルに何を作ってほしいかを伝えるために渡すテキストのことです。プロンプトに含める要素、文章・コード・画像の実例、そして返答やシステムプロンプトとの違いを解説します。
- プロンプトエンジニアリングプロンプトエンジニアリングとは、AI モデルに渡す指示を書いて試し、必要な出力が得られるように磨いていく作業です。なぜ効くのかを説明し、主要なテクニックを一覧にまとめます。
- プロンプトの書き方良いプロンプトは短い依頼書です。役割、タスク、モデルが推測できないコンテキスト、作業の素材、答えの形、守るべき制約。それぞれの要素が、答えが外れる別々の原因を防ぎます。
- プロンプト例学習、コーディング、文章作成、計画づくりにすぐ使えるプロンプトを13個まとめました。空欄を埋めてからコピーするか、ChatGPT や Claude でそのまま開けます。
- システムプロンプトシステムプロンプトとは、AI モデルとの会話全体に適用される常設の指示です。どこに置かれるのか、何を書けばよいのか、ユーザーメッセージとどう違うのかを解説します。
- トークンとコンテキストAI モデルは文章をトークンという小さな単位で読み、一度に扱えるトークン数には上限があります。それがコンテキストウィンドウです。両方の仕組みと、チャットが長くなったときの対処法を解説します。
- Temperature(温度)temperature は、言語モデルが次の単語を選ぶときにどれだけランダムさを使うかを決める設定です。各単語の確率がどう変わるか、低くするか高くするかの判断、top_p との違いを解説します。
基本テクニック
- Zero-shot プロンプティングZero-shot プロンプティングとは、答えの例を見せずに指示だけでモデルにタスクをさせる方法です。ChatGPT、Claude、Gemini のふだんの使い方の大半がこれで、よくあるタスクを正確に指示すればよく機能します。
- Few-shot プロンプティングFew-shot プロンプティングとは、入力と望む答えを組にした実例をいくつかプロンプトに入れ、モデルにそのパターンをまねさせる方法です。モデルが推測できない形式、ラベル、社内の文体を教えるいちばん早い方法です。
- Chain-of-ThoughtChain-of-Thought プロンプティングは、答えの前に推論の過程を書き出すようモデルに頼む方法です。複数ステップの数学や論理の問題で最も効果があり、答える前にすでに考える推論モデルではあまり重要ではありません。
- ロールプロンプティングロールプロンプティングとは、講師、コードレビュアー、面接官のように、モデルに演じる役割を与える方法です。役割で変わるのは誰に向けて書くか、どの基準を満たすかであり、モデルにない知識が増えるわけではありません。
- 構造化出力構造化出力とは、JSON、表、テンプレートのような決まった形で答えるようモデルに頼むことです。そうすれば、プログラムも人も形を整え直さずに使えます。スキーマを示し、値がないときの扱いを伝え、結果をコードで検証します。
- 区切り文字と XML タグ区切り文字は、貼り付けた素材がどこから始まりどこで終わるかを示し、モデルが指示と作業対象のテキストを見分けられるようにします。引用符、三連バッククォート、### の行、XML タグはどれも使えますが、素材が複数あるなら XML タグが最も扱いやすくなります。
- プロンプトテンプレートプロンプトテンプレートとは、すでに試して効果を確かめたプロンプトに、毎回変わる部分の空欄を設けたものです。穴埋め式のテンプレートをコピーして使い、自分のベストなプロンプトを5つのステップでテンプレートにする方法を紹介します。
応用テクニック
- プロンプトチェーンプロンプトチェーンとは、1つの仕事を小さなプロンプトの連続に分け、各ステップの出力を次のステップの入力にする方法です。各ステップは1つのことだけをし、次を実行する前に結果を確認できます。
- Self-ConsistencySelf-Consistency プロンプティングは、同じ推論の質問を何度か尋ね、各実行にそれぞれの道筋で推論させ、最も多く出てきた答えを採用する方法です。仕組み、手作業でのやり方、コードでのやり方を解説します。
- Tree of ThoughtTree of Thought プロンプティングは、モデルに途中までの解決策を複数探らせ、それぞれを評価し、見込みのある枝だけを残す方法です。元の手法の仕組み、試せる1プロンプト版、そしてその版の限界を解説します。
- ReAct プロンプティングReAct プロンプティングは、モデルにタスクについての推論とツールの呼び出しを交互に行わせ、各結果を読んでから次のステップを決めさせる方法です。ほとんどの AI エージェントの裏にあるループです。
- メタプロンプトメタプロンプトとは、モデルをプロンプトづくりに使うことです。ゼロからプロンプトを書かせる、手元のプロンプトを改善させる、タスクをほかの呼び出し用のプロンプトに分割させる。膨れ上がったプロンプトが返ってこないようにそれぞれを行う方法を解説します。
- コンテキストエンジニアリングコンテキストエンジニアリングとは、呼び出しのたびにモデルのコンテキストウィンドウに入るすべてのもの(指示、文書、ツールの結果、メモリ、会話履歴)と、その順番を決めることです。あなたが入力するプロンプトは、その一部にすぎません。
コーディングのためのプロンプト
- コードを書くためのプロンプトコーディング用のプロンプトがうまくいくのは、小さな仕様書のように読めるときです。言語とバージョン、入力と出力、エッジケース、コードが通すべきテスト。そして一度に1つの小さなステップだけを頼みます。
- デバッグのためのプロンプトChatGPT や Claude でデバッグするには、エラー全文とエラーを出したコードを貼り付け、期待したことと実際に起きたこと、すでに試したことを書き、修正より先に原因を尋ねます。
- コードを説明してもらうAI にコードを1行ずつ、自分のレベルに合わせて説明してもらい、実行中に値がどう変わるかを表にしてもらいましょう。すでに知っていることを伝えれば、説明はあなたの今いる地点から始まります。
- コードレビューのためのプロンプト良いコードレビュー用のプロンプトは、何を探すかを伝え、すべての指摘に深刻度を付けさせ、問題を起こす具体的な入力と差分を求め、スタイルは飛ばすよう指示します。そのうえで各指摘を確認します。間違っているものもあるからです。
限界と安全性
- AI のハルシネーションAI のハルシネーションとは、自信ありげなのに間違っている答えのことです。でっち上げの事実、引用、関数、パッケージなどです。言語モデルが何かを調べるのではなく、ありそうなテキストを予測するために起こります。プロンプトで減らせますが、捕まえられるのは確認だけです。
- プロンプトインジェクションプロンプトインジェクションとは、モデルが読むテキスト(ユーザーが入力したもの、あるいはメール、Web ページ、ファイルに隠されたもの)が、アプリケーションが与えた指示を上書きする攻撃です。区切り文字は役立ちますが防ぎきれません。防ぐのは、モデルにできることを制限することです。
- プロンプトの反復改善プロンプトの改善は、小さな実験として行うのが最もうまくいきます。良い答えとはどういうものかを決め、決まったテスト入力をいくつか用意し、一度に1か所だけ変え、出力を並べて比べます。