本動画は、AI活用における高度なプロンプティング技術の本質的な思考モデルを解説するものである。単なる魔法のプロンプト例を示すのではなく、上級プロンプトエンジニアが実践する10の原則的アプローチを体系的に提示する。自己修正システムの構築、メタプロンプティング、思考の足場作り、パースペクティブエンジニアリングといった4つの主要カテゴリーを軸に、Chain of Verification、敵対的プロンプティング、逆プロンプティング、意図的な過剰指示、マルチペルソナディベートなど、実践的な技術を詳述している。これらの手法は、AIモデルの初期生成を超えて深い分析と検証を引き出すことを目的としており、特定の状況下で戦略的に使用することで、出力品質を劇的に向上させることができる。

高度なプロンプティングの本質
AIを教えることは本当に難しいものです。高度なプロンプティングを教えることはさらに困難です。この動画はそれをより簡単にすることを目指しています。私の目標は、上級プロンプターが使用する思考モデル、つまり原則についての理解を皆さんに提供することです。プロンプトのレベルを超えて進んでいきます。ここで特定の魔法のようなプロンプトをお渡しするつもりはありません。
詳細な記事には多くの例を載せますが、この動画での私の目標は、広く知られていない、つまり皆さんが気づいていないかもしれないけれども、多くの高度なプロンプティング技術の基盤となっている原則が何であるかを実際に説明することです。では、最初のものに入っていきましょう。
自己修正システムの構築
上級プロンプターは自己修正システムを構築します。ここで話している最初のカテゴリーは、モデルに自身の出力を攻撃させる方法と、単一パス生成の根本的な制限を乗り越える方法についてです。これは難しい言い方をすると、モデルを押し進めて初期の生成ステップを超えて、自分が何をしたかについて考えさせたいということです。
これを行う一つの方法はChain of Verificationと呼ばれるもので、プロンプト内で同じ会話ターンの中に検証ループを要求します。これは例えば、この買収契約を分析して、最も重要な3つの発見事項をリストアップしてくださいといった感じかもしれません。これは特別ではありません。さて、同じプロンプトで、あなたの分析が不完全である可能性がある3つの方法を特定してください。それぞれについて、懸念を確認または反証する具体的な文言を引用し、このすべての思考または検証に基づいて発見事項を修正してください。
これはChain of Verificationの非常に簡単な例です。もちろんより複雑になることもあります。重要なのは、モデルにもっと注意深くなるよう求めているわけではないということです。それは曖昧すぎます。自己批判を必須のステップとして含むように生成プロセスを構造化しているのです。そしてそれが、モデルが訓練された検証パターンを活性化させますが、デフォルトでは恐らく得られなかったでしょう。
この同じカテゴリーのもう一つの技術は敵対的プロンプティングです。Chain of Verificationがモデルに作業を検証するよう求めるのに対し、敵対的プロンプティングはずっと攻撃的です。必要であれば無理をしてでも、モデルに問題を見つけることを要求します。本当に確実にする必要がある時にこれを使用してください。
良い例は、セキュリティアーキテクチャのレビューができる限り完全であることを確認する必要がある場合です。そこで、あなたの以前の設計を攻撃してくださいといった感じのことを言うかもしれません。それが侵害される可能性のある5つの具体的な方法を特定する必要があります。各脆弱性について、可能性を評価する必要があります。影響などを評価する必要があります。
これらのアプローチは、特定の状況で使用するツールとして設計されています。そしてそれが、私がこれらの短い例を提供している理由です。思考モデル、原則だけでなく、上級プロンプターがこれらの技術をどこで使用する傾向があるかという感覚を皆さんに提供したいのです。
戦略的エッジケース学習
次のものに行きましょう。戦略的エッジケース学習です。特定の問題セットに関するエッジケースや境界条件を区別するのに苦労していて、それを言葉で説明しようとしてもうまくいかないとしましょう。これを処理する方法の一つはFew-shot例またはFew-shotプロンプティングと呼ばれるものです。
あなたがやろうとしているのは、一般的な失敗モードと境界ケースの例を含めることで、モデルにそれらのグレーゾーン、状況のエッジをどのように区別するかを教えることができるということです。これを行う方法の一つの例は、例えばSQLインジェクション攻撃を防ごうとしている場合ですね。最初の例は、生の文字列連結を使った非常に明白なインジェクションかもしれません。これはベースラインです。
モデルはこれを拾い上げるはずです。2番目の例は、安全に見えるパラメータ化されたクエリかもしれませんが、どこかに保存された何らかの二次インジェクションがあります。おそらく格納型XSSなどに保存されているかもしれません。失敗モードは素朴な分析を欺くでしょうが、このエッジケースで探すべき種類のものがこれだということを、例を通じてモデルに教えようとしているのです。
微妙な失敗モードの例を含めることによって、SQLである必要はありませんよね。私がSQLを選んだのは、それが本当に興味深いものだからです。しかし、はるかに技術的でない主題に対しても、微妙な失敗モードを本当に使用できます。モデルは、安全に見えるものと実際に安全であるもの、または正しく見えるものと実際に正しいものを区別することを学びます。
そしてそれにより、この種の正確な分類作業にモデルを使おうとする際に、偽陰性を本当に大幅に減らすことができます。これらの特定の種類の原則、エッジケース学習、敵対的プロンプティング、Chain of Verificationは、すべて自己修正システムをどのように構築するかに関するものです。これがこれらが属する大きなカテゴリーです。
メタプロンプティング
上級プロンプターはメタプロンプティングも行います。私は以前これについて話しました。再び話す価値があります。人々は実際に試してみるまで、メタプロンプティングがどれほど強力かを理解していません。上級プロンプターが使用する、あなたも試すことができるいくつかの具体的な技術を紹介したいと思います。
最初のものは逆プロンプティングです。この技術は、何がプロンプトを効果的にするかについてのモデルのメタ知識を利用します。モデルは多くのプロンプトエンジニアリングの会話で訓練されており、最適なプロンプトを設計するよう求めることができます。面白いことに、人々はこれに気づいていません。特定の定義されたタスクを解決するためのプロンプトを定義するよう求めることができ、モデルは自分自身のプロンプトを書いて、それを実行するのです。
これを行う方法の一つは、あなたは専門のプロンプトデザイナーです、四半期ごとの収益報告を分析して財務困難の早期警告サインを見つけるための最も効果的な単一のプロンプトを設計してくださいと言うことです。どのような詳細が重要か、どの出力形式が最も実行可能か、どの推論ステップが不可欠かを考慮し、その後、この特定のルートでそのプロンプトを実行してください。
特定の出力の要求とプロンプトの要求をどのように含めているか分かりますか。それは完全にできます。特定の特性を持つプロンプトを求めることができ、モデルはベストプラクティスを使用し、出力を見て、プロンプトを作成し、あなたが探しているものを念頭に置いて、それを実行できます。人々はこれができることに気づいていませんが、それは確かにモデルの多くの力を引き出します。
もう一つは再帰的プロンプト最適化です。これは、あなたは再帰的プロンプトオプティマイザーですと言える状況です。私の現在のプロンプトはここにあります。あなたの目標はこれです。私と一緒に複数の反復を行う必要があります。バージョン1では、欠けている制約を追加するだけです。バージョン2では、曖昧さを解決してください。
そしてバージョン3では、推論の深さを強化してください。バージョンが何をするかを選ぶことができます。しかしポイントは、あなたが気にするプロンプトの側面を定義し始めているということです。新しいプロンプトがどうなるかは言っていません。それはモデル次第です。そして、1回のパスでモデルに複数の反復を与えています。したがって、プロンプトを何度も何度も繰り返しているのです。
これは、あなたが気にする特定の軸でプロンプトの品質を向上させる一種の構造と制約を強制できます。これらはメタリングのためのいくつかの技術です。
推論の足場
私が指摘したい別の高度な技術、またはプロンプティングで取り組む高度な原則は、推論の足場です。プロンプティングをどのように構造化するのか。より深く包括的な分析のためにAIとの相互作用をどのように構造化するのか。自己修正は間違いを捉えることができます。メタプロンプティングはプロンプト設計を改善できます。推論は実際にモデルがどのように考えるかを制御し、徹底的な分析を強制する構造を提供することによってそれを変えます。
あまり実践されていない技術の一つは、意図的な過剰指示です。基本的なプロンプトと、トークン最適化に関する多くのモデルトレーニングは出力を圧縮します。簡潔にしてください、簡単に要約してくださいなどがたくさんあります。モデルがそのように訓練されると、推論チェーンを早期に崩壊させる可能性があります。あなたはそれを望まないかもしれません。
それと戦う一つの方法は、あなたの依頼の最後に、過剰指示の本当に明確な定義を追加することです。要約しないでください。すべての点を実装の詳細、エッジケース、失敗モード、歴史的文脈で展開してくださいと言うかもしれません。ただ延々と続けるのです。そして、ここでは徹底的な深さが本当に必要ですと言います。
エグゼクティブサマリーは必要ありません。簡潔さは必要ありません。完全性を優先してください。これを行う理由は、モデルの推論を調べるために露出させたいからです。これはモデルと一緒に考えることについてだということを強調したいと思います。モデルが書いたものをただコピーペーストするためにこれをやっているわけではありません。
これは、問題空間とモデルの思考を本当に理解し、効果的に応答したい時に使用するツールの一つです。意図的な過剰指示は大きなものです。もう一つはゼロショットチェーンオブソート構造と呼ばれるものです。この技術は、LLMがパターンを継続するように訓練されている方法を利用します。
モデルの思考を特定の方向に押し進めることを考えているなら、あなたがすることは、空白のステップを持つテンプレートを提供することかもしれません。それは自動的にチェーンオブソートをトリガーします。なぜなら、モデルの目的はすぐにあなたが設定した構造を埋めることになり、それには問題を分解することが必要になるからです。技術的な問題の根本原因を探っていて、モデルがこれを正しく行うために考え抜く必要があると分かっている一連の質問があるとしましょう。
正しく行われるべきだと思う順序で、空白を伴う質問を文字通りリストアップすることができ、モデルはその足場の周りに思考を構造化し始めます。これは定量的な問題、技術的な問題に対して本当に効果的です。なぜなら、それは問題の分解から解決策への自然な進行を作り出すからです。
そしてそれにより、モデルが何を考えているかを理解し、思考の構造の観点から実際に正しい領域にいるかどうかを見極めることがずっと簡単になります。モデルはここで正しい軌道に乗っているのか、そうでないのか。参照クラスプライミングはここでのもう一つの高度な技術です。参照クラスプライミングは、推論の質の例を提供し、モデルにその明示的な推論の基準に合うよう求めます。
例えば、人間が提供した例に頼るのではなく、モデル自身の最良の出力を品質ベンチマークとして使用しているとしましょう。LLMはパターンを継続するように訓練されており、高品質な推論の例を示し、人間によって提供されたものであろうと別のモデルによって提供されたものであろうと、その基準に合う分析を提供するよう求めると、モデルの分布をその深さのレベルに向けてプライミングしているのです。
これは伝統的なFew-shotプロンプティングとは本当に異なります。モデルに何をすべきかを教えるために入力出力ペアを示しているわけではありません。代わりに、質の高い推論の例を提供し、モデルにその品質の基準を満たすよう求めているのです。プライミングなしでは、出力は品質と形式で大きく変動する可能性があり、プロンプトで直接それを制御することは難しい場合があります。
したがって、例を持つことで、モデルをドキュメントセット全体でずっと一貫した品質を生み出す方向に押し進めることができる場合があります。
パースペクティブエンジニアリング
私が指摘したいもう一つの技術は、パースペクティブエンジニアリングに関するものです。推論について話した場合、いくつかの技術を紹介しました。パースペクティブエンジニアリングは本当にクールです。
単一の視点分析には、モデルのデフォルトの推論モードによって決定される盲点があります。上級プロンプターは、異なる優先事項に関する競合する視点を生成するためにモデルの視点を押し進め、それがより高品質な思考にもつながります。一つの例はマルチペルソナディベートです。3人の異なる専門家の視点をシミュレートしたいとしましょう。
実際に3人の専門家をインスタンス化できます。対立する優先事項を持つ3人の専門家が議論する必要がありますと言うだけです。これらがペルソナです。ペルソナは優先事項Xを持ち、ペルソナ2は優先事項Yを持ち、ペルソナ3は優先事項Zを持っています。彼らは自分の好みを主張し、他者の立場を批判しなければなりません。議論の後、あなたは彼らのすべての懸念に対処する推奨事項を統合しなければなりません。
活発な議論が必要なものがあるが、LLMをそこに到達させる方法が分からない場合、これを行うことができます。良い例はベンダーの費用便益分析ですね。ベンダーと購入するか、別のアプローチをするかを判断しようとしている場合、その会話全体をシミュレートできます。それは経営幹部が話し合うのと同じではありませんが、素晴らしい準備になり、そうでなければ気づかなかったかもしれない視点や思考を露出させるのに役立ちます。これは、議論のような非常に人間的な会話技術を実際に取り上げ、意図的にチャットに入れる例です。
意図的にチャットを人間のように機能させ、私たちが学び、より良い決定を下すのに役立つ方法で前後に議論させます。重要なことに、ペルソナは具体的な、潜在的に対立する優先事項を持つ必要があります。対立なしでバニラにインスタンス化して、ここで良い結果を期待することはできません。
私が指摘することが本当に重要だと思うもう一つの技術は、温度シミュレーションです。温度とは、モデルが低温または冷たい時により決定論的で、より焦点を絞っており、熱い時により創造的であるという考え方です。それは伝統的にAPIを介して制御可能ですが、実際にはチャット内で間接的に行うことができます。
それを行う一つの方法は、モデルに異なる温度でロールプレイさせることです。不確実で、過剰に説明する初級アナリストに、まずこの問題を見てもらいたいと言うことができます。簡潔で直接的な、自信のある専門家が欲しいです。それはより冷たい温度になります。そして、両方の視点を統合し、不確実性が正当化される場所と自信が正当化される場所を強調してほしいのです。
基本的に、モデルに低温パス、高温パスを与え、統合するよう求めています。私が興味深いと思うのは、APIで見る多くの技術を取り上げて、チャット内で上級プロンプターとして効果的にシミュレートし、目的地に到達できることです。
まとめ
これが皆さんの役に立ったことを願っています。おそらく私が取り上げることができる他の高度なプロンプティング技術があります。これを圧倒的にしたくはありませんが、これらは上級プロンプターが明確に表現することが難しいと感じる種類の思考モデルですが、多くの生産性に情報を提供しています。これらは非常にレバレッジの効いた例です。
さらに深く掘り下げることに興味がある場合、詳細記事にはもっと多くのことが書かれています。プロンプトの例などがあります。楽しんでください。プロンプティング頑張ってください。とても強力です。私たちはそれについてもっと学ぶべきです。


コメント