「全部入りプロンプト」からの脱却:指示とカンペを分けてAIの精度を劇的に上げる技術
こんにちは、あかりです。
前回の『プロンプトからエージェントまで。AIを使いこなすための「4つの階段」完全マップ』では、AI活用の全体像を俯瞰して見てきました。
実を言うと、今回の短期連載で一番お伝えしたいテーマは、ステップ2の「コンテキスト(AIに渡す前提知識)」をどう扱っていくか、という点にあります。
世間では「AIを使いこなす=プロンプトの工夫がすべて」と思われがちですが、まずはその固定観念から切り崩していきたいと考えています。
そこで今回は、最初の階段である「プロンプト」と、次の階段である「コンテキスト」の境界線について深掘りしていきましょう。
みなさんは、AIに何かをお願いするとき、チャット欄にものすごい長文を打ち込んで疲れてしまった経験はありませんか?
実はそれ、プロンプトとコンテキストの境界線が曖昧になっていることが原因かもしれません。
深津式プロンプトの「しんどさ」の正体
プロンプトの型として非常に有名な「深津式プロンプト」。私も、この型のプロンプトを長く愛用していましたし、一種の完成形だと思っています。
「#命令書」「#制約条件」「#入力文」「#出力結果」などを明確に定義するこの手法は、AIから精度の高い回答を引き出すための素晴らしい発明です。

ですが、正直なところ「毎回あれを構築するのは面倒くさいな……」と感じることはありませんか?
実は、その「面倒くささ」や「しんどさ」には明確な理由があります。
それは、「たった一つのプロンプト(テキストボックス)だけで、AIのすべてを制御しようとしているから」です。

本来であれば、AIに対する「指示」だけでなく、あなたが抱えている「前提知識」や、出力に対する細かい「ルール」まで、すべてを一つの箱(プロンプト)に詰め込もうとしている。
だからこそ設計が重厚になり、毎回入力するのが面倒になってしまうのです。
「指示」と「背景知識」を切り離す
この「全部入り」の状態から脱却するためには、役割を明確に分担させる必要があります。
それが、ステップ1(プロンプト)とステップ2(コンテキスト)の切り離しです。

それぞれの役割を整理してみましょう。
プロンプト(指示):AIに対する「直接的なアクションの指示(Do)」
例:「この文章を要約して」「このコードのバグを見つけて」「この設定で物語を書いて」
コンテキスト(文脈):AIに対する「前提知識や背景、ルール(What/Why)」
例:「自社の製品仕様書」「これまでの議事録」「キャラクターの詳細なプロフィール設定」

これらを混ぜてしまうから複雑になるのです。「あなたが今、AIにやってほしいアクション(指示)」と、「AIがそのアクションを行うために必要なカンペ(背景知識)」を、きっちり分けて考えることが重要です。
コンテキスト(外部情報)に逃がす技術
「分けると言っても、結局チャット欄に書くしかないんじゃないの?」と思うかもしれません。

たしかに、一度しか使わない文脈であれば、チャット欄に直接書いてしまっても良いかもしれません。
ですが、私たちがAIを使って継続的に何かを作ろうとする時、そこには必ず「繰り返し使われる前提知識」が存在します。

例えば、小説を書く場合。
世界設定やキャラクター設定、全体プロットと現在の章の詳細プロットなどは、毎回のプロンプトで繰り返し使うコンテキストですよね。
note記事(ブログ)の執筆でも同じです。執筆者であるあなたの文体や嗜好、過去の記事との繋がり、今後書きたい記事のロードマップなどは、記事を書くたびに必要になるコンテキストです。
また、画像生成AIでよく使われる「LoRA(ローラ)」などの追加学習モデルも、特定の画風やキャラクターを固定するための、強力なコンテキストの一種と言えます。

こういった「繰り返し使われる説明(背景知識やルール)」を、チャット欄ではなく外部のファイルとしてまとめておくというアプローチが非常に重要になります。
最近よく耳にする「RAG(検索拡張生成)」などの技術も、本質的にはこの「外部にまとめたカンペをAIに読ませる」ための仕組みです。
長文のキャラクター設定や過去の記事データなどを、別の「設定ファイル(テキストやPDFなど)」として作成しておき、AIとチャットする際にはそのファイルを添付し、プロンプトではこう指示するだけです。

「添付した設定資料を読み込んで、この二人のキャラクターがカフェで会話するシーンを書いてください」
いかがでしょうか?
すべてをチャット欄(プロンプト)に詰め込んでいた時に比べて、格段にスマートになりましたよね。
これが「コンテキストに逃がす」という技術の最大のメリットです。
身軽なプロンプトで対話しよう
プロンプトエンジニアリングは、確かに重要です。
しかし、「プロンプトだけで全てをコントロールしなければならない」という呪縛から解放されると、AIとの対話は驚くほど楽になります。

重たい「背景知識」や「ルール」は、事前にコンテキスト(カンペ)として用意し、AIに渡しておく。
そして、私たちが打ち込むプロンプトは、もっと身軽で、シンプルで、直接的な「指示」に専念させる。
これができるだけで、AI活用のスピードと精度は劇的に向上します。
ただ、ここで一つ疑問が湧くはずです。
「AIに渡すカンペ(コンテキスト)って、どんなふうに書けば一番伝わるの?」

実は、AIにとって「読みやすいカンペ」には明確なコツがあります。
次回は、そのカンペの書き方——AIと話すための共通言語である「構造化の極意(MarkdownとYAML)」について徹底解剖していきます。お楽しみに!
いいなと思ったら応援しよう!
ここまで読んでいただき、ありがとうございます。
もし「役に立った」「面白かった」と思っていただけたら、一杯ご馳走する感覚でサポートいただけると嬉しいです。
いただいたサポートは、次なる実験のサーバー代(と、私のハイボール代)として大切に使わせていただきます。