LLMの能力を最大限に引き出すプロンプトを作成する上での、フレームワークの原則とレベルが整理されました。
「何をするか」「どのように作られるべきか」についてまとめられています。
@ Xiaoxia Liu et al., “Prompting Frameworks for Large Language Models: A Survey”
LLMを効果的に使用するには、入力プロンプトの理屈を構造的に理解する必要があります。
チャットのインタフェース(ChatGPTなど)でユーザーが入力するテキストはもちろん、LLM(およびLLM API)と連携するシステムやツールを開発する上でもプロンプトの設計哲学が重要になります。
そこで研究者らは、プロンプトフレームワークの原則とレベル、そしてコンポーネントについて、以下のようにまとめました。
■「どのように作られるべきか」4つの原則
① モジュラリティ:機能を追加、交換できる
② 抽象化:複雑な操作や概念をシンプルに表現する
③ 拡張性:新たな要件に柔軟に対応できる
④ 標準化:チーム間で互換性を持つよう規格に従う
■「何をするか」4つのレベル
① データ:学習や動作に必要なデータの管理と処理
② ベース:基本アルゴリズムや機能を提供
③ 実行:具体的なタスクや操作を実行するコマンド
④ サービス:ユーザーにサービスや機能を提供
※1回のプロンプトに同時に組み込まれるべき要素という意味ではありません。
■構築を助ける2つの重要コンポーネント
① ベクターデータベース:
非構造化データ(画像、動画、テキストなど)
② キャッシュ:
LLMの応答を格納するストレージ
上記の知見は、LLMの機能性を高めるための基礎として使えると述べられています。
ただし、実際のアプリケーション開発においてはセキュリティや能力を厳密に調査し、プロンプトフレームワーク以外の技術的工夫も重要となります。