weave.StringPrompt クラスや weave.MessagesPrompt クラスを使用できます。より複雑なニーズがある場合は、これらのクラスやベースクラスである weave.Prompt を継承し、format メソッドをオーバーライドしてカスタマイズできます。
これらのオブジェクトを weave.publish で公開すると、Weave Projects の Prompts ページ に表示されます。
StringPrompt
StringPrompt は、システムメッセージ、ユーザーのクエリ、または LLM へのスタンドアロンなテキスト入力に使用される単一の文字列プロンプトをログに記録します。複数メッセージの会話のような複雑さを必要としない個別のプロンプト文字列を管理する場合には、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 ボタンをクリックすることで、プロンプトのバージョンを比較できます。これにより、プロンプト間の差分(diff)を確認できます。
