weave.StringPrompt や weave.MessagesPrompt クラスを使用できます。より複雑な要件がある場合は、それらのクラス、またはベースクラスである weave.Prompt を継承して、
format メソッドをオーバーライドできます。
これらのオブジェクトのいずれかを weave.publish で公開すると、Weave のプロジェクト内にある Prompts ページ に表示されます。
StringPrompt
StringPrompt は、システムメッセージ、ユーザーからの問い合わせ、LLM への単独のテキスト入力などに使われる、1 つの文字列プロンプトを記録します。複数メッセージからなる会話のような複雑さが不要な、個々のプロンプト文字列を管理する場合は、StringPrompt を使用することを推奨します。
- Python
- TypeScript
MessagesPrompt
MessagesPrompt を使用すると、マルチターンの会話やチャットベースのプロンプトを記録できます。完全な会話フローを表すメッセージオブジェクト(“system”、“user”、“assistant” などのロールを持つ)の配列を保持します。複数のメッセージにまたがってコンテキストを維持する必要があるチャットベースの LLM や、特定の会話パターンを定義したい場合、再利用可能な会話テンプレートを作成したい場合には、この形式を使用することを推奨します。
- Python
- TypeScript
プロンプトのパラメータ化
StringPrompt と MessagesPrompt はいずれも、パラメータによる動的なコンテンツ挿入をサポートします。これにより、実行時に異なる値で埋め込むことができるプレースホルダー({variable} 構文を使用)を含む、柔軟かつ再利用可能なプロンプトテンプレートを作成できます。これは、プロンプトが異なる入力、ユーザーデータ、コンテキストに適応しつつ、一貫した構造を維持する必要があるスケーラブルなアプリケーションを構築する際に役立ちます。format() メソッドは、これらのプレースホルダーを実際の値に置き換えるためのキーと値のペアを受け取ります。
- Python
- TypeScript
MessagesPrompt でも同様に利用できます。
- Python
- TypeScript
プロンプトのバージョンを表示および比較する
Weave はプロンプトのすべてのバージョンを自動的に追跡し、プロンプトがどのように進化してきたかの完全な履歴を作成します。このバージョン管理システムはプロンプトエンジニアリングのワークフローにとって重要であり、安全に試行錯誤し、どの変更がパフォーマンスを向上させたか/悪化させたかを追跡し、必要に応じて簡単に以前のバージョンにロールバックできるようにします。同じ名前で内容が異なるプロンプトを公開するたびに、Weave は既存のすべてのバージョンを保持したまま新しいバージョンを作成します。 UI でプロンプトのバージョンを表示するには、次の手順を実行します。- UI でプロジェクトを開き、左側メニューの Assets ボタンをクリックします。Assets ページが開きます。
- Assets ページから Prompts をクリックします。プロジェクトのプロンプトが一覧表示された Prompts ページが開きます。
- Versions 列で、表示したいプロンプトの (x) Versions をクリックします。プロンプトバージョンの一覧が開きます。

- (オプション)一覧表示されたプロンプトの横にあるチェックボックスをクリックし、続いて Compare ボタンをクリックすると、プロンプトのバージョンを比較できます。これによりプロンプト間の差分を確認できます。
