【ぷろんぷとてんぷれーと】

プロンプトテンプレート とは?

公開:
💡 AIへの指示を、差し替え欄のあるひな形に

プロンプトテンプレートは、AIへの指示の固定部分と、質問などを差し込む欄を分けたひな形。同じ形式の指示を繰り返し組み立てるために使います。

📌 このページのポイント
決まった指示に、必要な情報を差し込む プロンプトのひな型次の質問をやさしく説明:[質問の差し込み欄]今回の質問「APIとは?」完成したプロンプト次の質問をやさしく説明:APIとは?
同じ指示の型へ質問を入れる例。テンプレート自体を外部入力として受け付ける場合は、使う処理系の安全対策も必要です。
ひよこ ひよこ
ペンギン先生、毎回「この文章を要約して」って書くのが大変だよ。
ペンギン先生 ペンギン先生
プロンプトテンプレートで「次の文章を要約してください」と差し込み欄を用意しておくと、文章だけを入れ替えて指示を組み立てられるよ。
ひよこ ひよこ
AIが空欄を埋めるの?
ペンギン先生 ペンギン先生
通常はアプリ側が値を差し込んで、完成した指示をAIへ渡すよ。テンプレートの組み立てと、その指示をAIが読む処理は別の段階なんだ。
ひよこ ひよこ
テンプレートにしておけば、変な指示も防げる?
ペンギン先生 ペンギン先生
それだけでは防げないよ。差し込む文章に紛れた指示をAIが解釈する問題もあるし、アプリ側が危険なテンプレート式を評価する問題もある。どこで何を解釈するかを分けて対策するんだ。
ひよこ ひよこ
人が作ったひな形を、そのまま読み込んでいい?
ペンギン先生 ペンギン先生
使うテンプレートエンジンによるけれど、信頼できない式を実行するのは危険だよ。LangChainの公式実装でも、外部由来のJinja2テンプレートは受け入れないよう注意している。テンプレートと単なる入力データを混同しないことが大切だね。
もっと詳しく知りたい人へ

プロンプトインジェクションとテンプレートインジェクションは同じ?

異なります。前者は主にAIが入力中の悪意ある指示に影響される問題、後者はテンプレートエンジンが式などを解釈する段階の問題です。両方が関係するシステムもあるため、AIへの指示管理だけでアプリ側の式評価まで安全になったとは考えません。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「プロンプトテンプレート」って出てきたら「AIへの指示を、固定部分と差し込み欄に分けたひな形」と思えばだいたいOK!
📖 おまけ:英語の意味
「Prompt Template」 = プロンプトのひな形
💬 Templateはひな形という意味。毎回同じ指示を書き直す代わりに、必要な箇所だけを差し替えるんだよ。

参考資料

← 用語集にもどる