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は、LLMプロンプトのための標準化されたポータブルなMarkdownファイル形式 (.prompty) を提供します。プロンプトエンジニアリングのプロセスをアプリケーションコードから分離することで、開発者はプロンプトを一度書くだけで、異なる言語ランタイム (Python, TypeScript, Rust, C#, Java, Go, Swift) やLLMプロバイダー (OpenAI, Microsoft Foundry, Anthropic) で、プロンプト本体を変更することなく実行できます。
仕組み
Promptyは2部構成のファイル構造を採用しています。設定用のYAML frontmatter (モデルID、プロバイダー、接続詳細、入力、ツール) と、ロールマーカー (例: system:, user:) やテンプレート構文 (Jinja2 または Mustache) を使用したプロンプトテキスト本体のMarkdownです。
プロンプトを実行する際、Promptyランタイムはファイルを読み込み、提供された入力でテンプレートをレンダリングし、ロールを解析して、LLMプロバイダーにリクエストを送信します。より複雑な対話のために、turn() 関数は「エージェント的なターン」(agentic turns) を可能にし、モデルがツール呼び出しをループさせたり、最終的な回答を返す前にメモリやコンテキストの予算を管理したりできるようにします。
対象読者
LLMを活用したアプリケーションを構築する開発者で、複数のプログラミング言語や異なるモデルプロバイダー間でプロンプトを一貫して管理、バージョン管理、テストしたい方。
ハイライト
クロスランタイムサポート: Python, TypeScriptをはじめ、Rust, C#, Java, Go, Swiftなど、複数の言語向けの公式パッケージを提供。
VS Code拡張機能: ライブプレビュー、エンドポイント管理用の接続サイドバー、インタラクティブなテスト用のチャットモード、パイプライン全体をデバッグするためのトレースビューアーを搭載。
エージェント機能: ツール呼び出しループ、ランタイム制御 (ガードレール、リトライ)、メモリを意識したターンをサポートし、ポータブルなエージェント動作を実現。
ポータブルなアセット: プロンプトファイル自体を変更することなく、環境変数やランタイム設定を介してLLMエンドポイントやキーを切り替え可能。
引用とトレース: 実行のたびに
.tracyトレースファイルが生成され、レンダリング、解析、実行のタイミングやペイロードを調査可能。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト