microsoft/prompty

Prompty makes it easy to create, manage, debug, and evaluate LLM prompts for your AI applications. Prompty is an asset class and format for LLM prompts designed to enhance observability, understandability, and portability for developers.

解決する課題

Prompty は開発者がプロンプトエンジニアリングとアプリケーションコードを分離できるようにします。Python や TypeScript ファイル内に文字列としてプロンプトをハードコーディングする代わりに、.prompty ファイルにプロンプトを格納します。このファイルは Markdown ライクな形式で、設定(モデル、入力、ツール)とプロンプト本文を組み合わせています。

仕組み

ファイルは YAML フロントマターで設定を記述し、Markdown 本文でプロンプトを記述するという構成です。system:user:assistant: といったロールマーカーでメッセージの境界を定義でき、Jinja2 や Mustache のテンプレート構文で動的コンテンツを生成できます。

開発者は Python や TypeScript 用のランタイム、あるいは VS Code から直接これらのファイルを実行できます。このツールは OpenAI、Anthropic、Microsoft Foundry など複数の LLM プロバイダーをサポートし、環境変数でエンドポイントや API キーを簡単に切り替えられます。

対象ユーザー

プロンプトをポータブルかつバージョン管理された形で管理したい AI 開発者・プロンプトエンジニア向けです。VS Code に統合された体験でプロンプトのテストやイテレーションを行いたい方に最適です。

ハイライト

  • クロスプラットフォーム対応:同じ .prompty ファイルを Python、TypeScript、VS Code から実行可能。
  • 設定駆動:モデル設定、入力、ツール定義は YAML フロントマターに保存。
  • 統合ツール:VS Code 拡張がライブプレビュー、モデルエンドポイント管理用サイドバー、実行パイプラインのトレースビューアを提供。
  • 柔軟なテンプレート:Jinja2 と Mustache に対応し、動的なプロンプト構築が可能。
  • ポータブルエンドポイント:プロンプト本文を変更せずに、OpenAI 互換エンドポイントとセルフホスト型モデルサーバーを簡単に切り替えられます。