From Vectors of Mind - images at original.
[Image: Visual content from original post]この投稿を読んだ後のあなた
私の仕事は、危険なほどにプロンプトエンジニア1に近づいています。これは私にとって問題ありません。なぜなら、私の執筆、心理測定、NLPへの愛を組み合わせたものだからです。以下は、最も強力なプロンプト技術のいくつかです:
明確で具体的な指示を使用する
思考の連鎖による推論
タスクを行う前に必要な情報を収集する
タスクをステップに分ける
専門用語はあなたの友達
便利なフレーズの寄せ集め
1. 明確で具体的な指示#
弁護士やコンピュータ科学者は、自然にこれが得意です。実際、プロンプトの楽しみの一つは、通常のコードと比べてはるかに正確でなくてもよいことであり、LLMはしばしば要点を理解します。しかし、多くのリクエストは、単にタスクと回答の形式を明示することで改善されます。例えば、私は最近この食事を作りました:
[Image: Visual content from original post]
美味しかったです、聞いてくれてありがとう。他の例:
「AIの歴史を1段落で要約してください。」
「最古の言語ファミリーを年齢順に並べた表を作成してください。徹底的に。」2
「引用されたテキストをホワイトとストランク風に書き直してください。3つのオプションをください。」
「添付の.csvの2-7列のピアソン相関行列を計算してください。」
フォローアップ:「ポスターに使用できるほど高解像度で結果をヒートマップとして表示するコードを書いてください。美的選択のベストプラクティスを使用してください。」
具体的な指示には、具体的な例が含まれることがよくあります。ホワイトとストランクは『スタイルの要素』を書きました。彼らの本を引用することは、「簡潔」、「プロフェッショナル」、または「優れた」執筆のような形容詞を使用するよりも良いです。部分的には、LLMが特定の形容詞に対して過剰に応答する傾向があるからです。したがって、ロボットに皮肉な人格を採用させたい場合は、ヴェロニカ・マーズや『ミーン・ガールズ』のレジーナ・ジョージのように振る舞うように伝えてみてください。
2. 思考の連鎖による推論#
LLMは、次の単語を予測するために膨大なテキストコーパスで訓練されています。驚くべきことに、これにより推論を近似するのが得意になりますが、複雑なタスクではすぐに崩壊します。ここで「複雑」とは、「列1の数字を合計する」といったことを意味することがあります。これは1回で行うのは非常に難しく、合理的に見える数値を吐き出しますが、正しい答えではありません。「ステップごとに考えてみてください」と付け加えると驚くほど効果があります。しばしば、ステップが何であるかを指定する必要さえありません。LLMは、列を合計するための中間ステップとして「n1 + n2 + n3 + … + n100 =」を書くことを推測できます。これは本質的に、等号の右側でより良い答えを得るために自分自身を促すことです。あるいは、比喩的に言えば、それについて考える時間を自分に与えることです。どんな問題でも、「ステップごとに考えてみてください」というフレーズは、LLMの幻覚に対処するための最初の防御線です。それがうまくいかない場合は、自分でステップを列挙してください(この技術には後で戻ります)。
3. タスクを行う前に必要な情報を収集する#
chatGPTにブログ投稿を書かせる(私は絶対にしません)またはPython関数を書かせる(私は絶対にします)と、実際に何を望んでいるのかを尋ねることなく、それを叩き出します。これの多くは、「Xを行う関数を書きたいのですが、コーディングする前にどの情報を集める必要がありますか?」または「Xを行う関数を書いてください。ただし、コードを書く前に必要な情報を尋ねてください。」と言うことで避けることができます。ここで「X」は部分的な説明です。
4. タスクをステップに分ける#
chatGPTが課題に失敗し、思考の連鎖が役に立たない場合は、タスクをサブタスクに分けてください。これはしばしばタスクの半分の作業であり、偶然にも、LLMが自分で行うのが(現在)難しいことです。しかし、これをLLMにアウトソースすることもできることに注意してください3。例えば、私はchatGPTに創造性テストのための項目を考え出すように促しました(スキミングできます):
リモートアソシエーツテスト(RAT)に似た質問をもっと考え出そうとしています。RATは、3つの一見無関係な単語を結びつける共通の単語を見つけることを要求します。以下は例のセットです:
1. コテージ、スイス、ケーキ(答え:チーズ)
2. ハイ、ブック、チェア(答え:スクール)
3. フルーツ、ゲイズ、トラフィック(答え:ジャム)
4. クリーム、スケート、ウォーター(答え:アイス)
5. エイク、ハンター、キャベツ(答え:ヘッド)
6. マナー、ラウンド、テニス(答え:テーブル)
7. フォーリング、アクター、ダスト(答え:スター)
8. ライト、バースデー、スティック(答え:キャンドル)
9. サラダ、ヘッド、グース(答え:エッグ)
10. ミュージック、エイクド、グリーン(答え:アップル)
ベストプラクティスは何ですか?これをステップで考えるにはどうすればよいですか?
数字を合計する方法を理解するように、chatGPTはタスクを達成するための「レシピ」を生成するのが得意です。それが提供された後、私はただこう言うだけでした:
「素晴らしい!そのプロセスを通じて新しい質問を5つ作成してください」
そしてさらに5つ、さらに5つ。以前は新しい項目を直接求めていましたが、提案はひどいものでした。より複雑な例については、AI安全研究所がこの技術(他のトリックと共に)を使用して、LLMには不可能とされていた問題を解決した方法を参照してください。
5. 専門用語はあなたの友達#
専門用語は、LLMの有能な行動の引力の中心です。例えば、病気を説明し、「示されている」と尋ねることは、「何をすべきか?」と尋ねるよりも進展します。「示されている」を使用することで、LLMはあなたの症状をすべての医学教科書にマッピングします。後者は、医学的/人生のアドバイスを求めることにマッピングされ、LLMはそれを与えないように訓練されています。専門的または非口語的な用語を使用することで、最も多くのガードレールとRedditレベルのアドバイスがあるノルミーアシスタントスペースから外れます。
6. 便利なプロンプトの寄せ集め#
ここに私がよく使うフレーズをいくつか紹介します
「それは正しいですか?」
他人の作品の要約を書いたり、あまり詳しくないアイデアを説明したりするたびに、私の文章をコピー&ペーストして正しいかどうか尋ねます。議論の余地がある部分を押し返すのが通常かなり得意です
「本当にそうですか?」
同様に、LLMがでたらめを言っていると疑うときは、確信があるかどうか尋ねます。意見を変えた場合、その主張は大いに疑ってかかるべきです。
「ブレインストーミングを手伝ってください。」 「創造的になってください」
LLMを使用する最良の方法の1つは、アイデアスペースを探索するのを手伝ってもらうことです。時には、モーダルな答えから離れるように励ます必要があります。
もしあなたが持っているものがあれば、コメントに追加してください!
また、私が望むよりも不安定になっているので、データサイエンス、AI、心理測定の契約業務があれば、私に連絡してください! ↩︎
確かに、LLMが世界の142-420の言語ファミリーをすべてリストすることは絶対にありません。これは「不可能」(つまり、デフォルトの動作から遠すぎる、ハードトークン制限を超えている)であるため、「徹底的に」は短い応答の重力に対抗し、LLMをより徹底的にします。これはプロンプトの欠点であり、時には懇願、嘆願、賄賂、脅迫に陥ることがあります。 ↩︎
サブタスクを分解する際にLLMから助けを得ることができるという事実は、これもますます自動化されることを示しています。将来の世代が何を成し遂げることができるかは誰にもわかりません。 ↩︎