Skip to main content
このページでは、@weave.op デコレーターでトレースする関数の属性について説明します。Weave エージェント SDK でエージェントをインストルメントする場合は、代わりにエージェント スパン (Turn、LLM、Tool、SubAgent) に属性とイベントを設定してください。詳しくは、エージェント スパンに属性とイベントを設定するを参照してください。
Weave の属性を使用すると、トレースと評価にカスタムメタデータを付加できます。このメタデータには、環境名、モデルのバージョン、実験 ID、ユーザー ID などのコンテキスト情報を含めることができ、Weave データの整理、フィルター、分析に役立ちます。 属性は、次のような単位でトレースをグループ化またはフィルターする場合に特に役立ちます。
  • デプロイメント
  • テナント
  • 実験
Weave で属性を追加する方法は 2 つあります。
  • Call ごとの属性: weave.attributes() コンテキストマネージャーを使用して、特定の操作やコードブロックにメタデータを追加します。
  • グローバル属性: global_attributes フィールドを使用して、project 内のすべてのトレースと評価に適用される属性を初期化時に設定します。
トレースと評価でログされたすべての属性は UI で確認でき、データのフィルターやグループ化に使用できます。 このガイドは、トレースと評価にカスタムメタデータを追加して情報を充実させたい Weave ユーザーを対象としています。個々の Call に属性を付加する方法、初期化時に project 全体のデフォルトを設定する方法、両者を組み合わせる方法、実行中に現在の属性セットを読み取る方法について説明します。

Call ごとの属性

weave.attributes() コンテキストマネージャーを使用すると、トレース対象の特定の操作にメタデータを追加できます。特定の関数の Call や評価 run に、コンテキスト情報をタグとして付与したい場合に使用します。
Call の開始後は call.attributes を変更できません。op を呼び出す前に、この コンテキストマネージャーを使用してメタデータを設定してください。
この関数は、コンテキストマネージャーのブロック (Python) またはコールバック関数 (TypeScript) 内でトレースされるすべての操作に属性を付与します。 weave.attributes() コンテキストはネストすることもできます。同じキーがある場合は、内側のコンテキストの値で外側の値が上書きされます。

グローバル属性

Weave の初期化時にグローバル属性を設定すると、project 内のすべてのトレースと評価に自動的に適用されます。環境、デプロイメントのバージョン、チーム情報など、project 全体で共通のメタデータを伝播させたい場合に便利です。

グローバル属性と Call ごとの属性を組み合わせる

グローバル属性と Call ごとの属性は併用できます。キーが同じ場合は、Call ごとの属性がグローバル属性を上書きします。

実行中に属性を取得する

実行時に、Call に適用されている属性を確認できます。これは、Weave がどのメタデータを付与しているかをデバッグしたい場合や、外側の呼び出し元が設定したコンテキスト情報に応じてコードを分岐させる必要がある場合に便利です。
次の例では、Weave デコレーターで process_data 関数をログするよう設定し、ログする属性を指定したうえで、実行時にそれらの属性を返します。
出力は次のとおりです。
weave.get_current_call() は、@weave.op でデコレートされた関数内でのみ動作します。op の外では None を返します。
最終更新日 2026年9月30日