What is Poml?
POML (Prompt Orchestration Markup Language) は、大規模言語モデル (LLM) 向けの洗練されたプロンプトを構築するための、構造化された宣言的なアプローチを導入します。複雑で扱いにくいテキストやコードの塊として、プロンプトの管理に苦労した経験があるなら、POMLは明確な解決策を提供します。これは、信頼性が高く、スケーラブルで、汎用性の高いLLMアプリケーションを作成する必要がある開発者やプロンプトエンジニアのために設計されています。
主な機能
✍️ 構造化されたモジュラープロンプト POMLは、
<role>、<task>、<example>といったコンポーネントを使用し、明確なHTMLライクな構文を採用しています。これにより、複雑なプロンプトを論理的で再利用可能な部分に分割することが促され、時間の経過とともに読みやすく、デバッグしやすく、メンテナンスもはるかに容易になります。🎨 プレゼンテーションスタイルの分離 CSSライクなシステムを活用することで、POMLはコアとなるプロンプトロジックと最終的なプレゼンテーションを分離します。これにより、基盤となるプロンプトのコンテンツに手を加えることなく、スタイルシートを変更するだけで、異なる出力形式(例:JSONとプレーンテキスト)を試したり、冗長性を調整したりできます。これは、LLMが書式変更に対して敏感であるという特性を直接的に緩和します。
🔗 シームレスなデータ統合 外部データソースをプロンプト内に直接、簡単に埋め込んだり参照したりできます。
<img>、<table>、<document>などの専用コンポーネントを使用すると、画像、CSVデータ、テキストファイルを煩雑な手動フォーマットなしで統合でき、プロンプトを強力かつクリーンに保てます。⚙️ 統合されたテンプレートとツール POMLには、変数、ループ、条件分岐を使用して動的でデータ駆動型のプロンプトを作成するための組み込みテンプレートエンジンが含まれています。フル機能のVS Code拡張機能とPythonおよびNode.js用のSDKを組み合わせることで、シンタックスハイライト、オートコンプリート、統合テストを備えた、完全なプロフェッショナル開発環境が得られます。
ユースケース:
動的でデータ駆動型のコンテンツ生成 週次売上概要を生成する必要があると想像してください。POMLを使用すると、
<table>コンポーネントを介して売上スプレッドシートを受け入れる単一のプロンプトテンプレートを作成できます。そのプロンプトは、テンプレートエンジンを使用してデータをループし、計算を実行し、完璧にフォーマットされた記述レポートを生成できます。これにより、手作業のタスクが自動化されたワークフローに変わります。プロンプト形式のA/Bテスト LLMが箇条書きリストとJSONオブジェクトのどちらでより良い結果を提供するかを判断したいとします。2つの個別のハードコードされたプロンプトを記述する代わりに、コアロジックには単一のPOMLファイルを使用し、2つの異なるスタイルシートを使用できます。これにより、出力形式を迅速にテストおよび比較し、特定のタスクに最適な構造を見つけることができます。
複雑なマルチモーダル指示 教育資料の作成のようなタスクでは、複数の入力を簡単に組み合わせることができます。POMLプロンプトは、ペルソナ(
<role>あなたは忍耐強い教師です...</role>)を定義し、目標(<task>この図を説明してください...</task>)を設定し、視覚的な参照(<img src="diagram.png" />)をすべて1つの構造化された人間が読めるファイルに含めることができます。
POMLを選ぶ理由
連結よりも明確さ: 従来のプロンプトエンジニアリングでは、アプリケーションコード内で煩雑な文字列操作が直接行われることが多かったのに対し、POMLはクリーンで宣言的なマークアップ言語を提供します。これにより、プロンプトロジックとアプリケーションロジックが分離され、コードの可読性とメンテナンス性が大幅に向上します。
分離による堅牢性: 単純なテンプレートライブラリとは異なり、POMLはプロンプトのコンテンツとプレゼンテーションを独自に分離します。これは、コアプロンプトロジックを書き直すことなく、スタイルシートを変更するだけで、異なるLLMの「形式への感度」に適応できることを意味します。これは、堅牢でモデルに依存しないアプリケーションを構築する上で極めて重要な利点です。
構文だけでなく、統合されたワークフロー: プロンプトをある場所で記述し、別の場所でテストするという断片的なプロセスではなく、POMLは統一された開発体験を提供します。VS Code拡張機能は、リアルタイムプレビュー、エラーチェック、インタラクティブテストを提供し、作成からデプロイまでシームレスで効率的なワークフローを実現します。
結論:
POMLは、プロンプトエンジニアリングを文字列操作の技巧から、構造化されたスケーラブルな規律へと変革します。明確さと自信を持って複雑なプロンプトを構築、テスト、メンテナンスするためのツールを提供することで、より堅牢で洗練されたAIアプリケーションを作成できるようになります。
公式ドキュメントをご覧になるか、デモビデオを視聴して始めてみましょう!
FAQ
1. POMLを始めるにはどうすればよいですか? 最も簡単な方法は、Visual Studio Code Marketplaceから直接POML拡張機能をインストールすることです。これにより、シンタックスハイライト、オートコンプリート、統合テストが提供されます。また、Python(pip install poml)またはNode.js用のSDKをインストールして、POMLをアプリケーションに統合することもできます。
2. VS Code拡張機能を使用するためにLLMのAPIキーは必要ですか? シンタックスハイライトやオートコンプリートのような機能では、APIキーは必要ありません。ただし、統合されたプロンプトテストとリアルタイムプレビュー機能を使用するには、VS Codeの設定でLLMプロバイダー(例:OpenAI、Azure、Google)、APIキー、およびエンドポイントを設定する必要があります。
3. POMLはオープンソースプロジェクトですか? はい、POMLはMicrosoft Open Source Code of Conductの下でリリースされているオープンソースプロジェクトです。このプロジェクトは貢献を歓迎しており、Microsoft Responsible AI Standardに準拠していることが評価されています。





