LLM へのプロンプトを構造化された文書で管理する POML
LLM へのプロンプトを構造化された文書で管理する POML
始めはプレーンテキストで管理することもできますが、モジュールに分割できず 1 つのファイルが大きくなりすぎたり、変更差分が分かりづらくなってしまい、メンテナンス性が低下するという問題があります。また、変数やループ、条件分岐などの構造化されたデータを表現することが難しく、プロンプトの再利用性も低くなります。従来はこのような問題を解決するために、JSON や YAML などの構造化されたデータ形式を使用したり、プログラミング言語のテンプレートエンジンを使用してプロンプトを生成する方法がありました。
システムプロンプトの管理のための新しいアプローチとして、Microsoft が提案した POML (Prompt Orchestration Markup Language) があります。POML は、プロンプトを構造化された文書として管理するためのマークアップ言語であり、プロンプト開発における以下のような課題を解決することを目指しています。
・構造の欠如
・複雑なデータ(画像・スプレッドシート・JSON など)との統合の困難さ
・特定のフォーマットへの依存性
POML で定義されたプロンプトは VS Code 拡張機能 や TypeScript, Python などのプログラミング言語で利用できる SDK を通じて、LLM へ渡すプレーンテキストへ変換されます。
LLM YAML POML