LoginSignup
4
7

プロンプトエンジニアリング:テクニック早見表

Last updated at Posted at 2023-07-11

目的

現状のプロンプトエンジニアリングの備忘録的なメモ。

早見表

手法 内容 適用事例
Zero-shot 単なる質問 1+1は?
Few-shot 例を挙げて質問 1+1は2です。1+2は?
Chain-of-Thought (CoT) 質問と考え方と答えの例を挙げて質問、"Let's think step by step"で思考の過程を促す
Automatic Prompt Engineer (APE)  CoTの派生、 "Let's think step by step"のような言葉を自動で探す。
Self-Consistency CoTの派生、複数のCoTを使ってよいものをとる。
Generated Knowledge Few-shotの派生、質問に対する例ではなく、知識や法則を挙げて質問 LangChainのCSV AgentでCSVのヘッダーを質問文に組み込む
Tree of Thoughts (ToT) 問題解決のための次のステップの生成とその実行 BabyAGIのTask Creation Agent
Retrieval Augmented Generation (RAG) 予め複数の知識を埋め込みベクタにしておき、質問された文から近い埋め込みベクタを探してきて、その文章と合わせて質問に回答する。 BabyAGIのContext Agent
ReAct 質問に対するタスクの実行に外部サービスを利用 LangChainのCSV AgentやBabyAGIのExecution Agent
Automatic Reasoning and Tool-use (ART) ReActの派生
Multimodal CoT 画像を含めて質問(画像と質問文の埋め込みベクタを足すしてなんとかする)

主要なテクニック

早見表からの主観的なまとめ?

  • Promptに補足を入れる。例、考え方、答え方、法則や常識をPromptに入れる。
  • 問題を分割して、問題を管理するPrompt(Agent)と小問題を答えるPrompt(Agent)を作る。
  • 外部サービスとのインターフェースを作るようにPromptを作る。
  • Promptを埋め込みベクタに変換して、他のPromptとの類似性を数値化して検索する。
  • Prompt以外も埋め込みベクタに変換して、マルチモーダル化する。
  • 複数のPromptのアンサンブル。

プログラム的なテクニック

LangChainにあるものから抜粋

次の方向性

  • 既存の手法のガイドラインの作成、どれを使うべきか?
  • マルチモーダル化
  • 評価メトリックスの作成
  • データセットの構築
  • 結果の説明、解釈、トレーサビリティ
  • 問題領域に特化したドメイン適用

参考資料

4
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
7