Skip to main content
W&B Weave のトレースシステムは、Op、Call、トレース、スレッドという相互に関連する 4 つの概念で構成されています。このページでは、各概念の定義とそれらの関係を説明します。これを理解することで、アプリケーションをインストルメントして実行した際に Weave が取得する内容を正しく読み解けるようになります。

Op

Op は、バージョン管理され、追跡される関数です。関数を @weave.op() (Python) でデコレートするか、weave.op() (TypeScript) でラップすると、Weave はその関数のコード、入力、出力、実行メタデータを自動的に取得します。Op は、トレース、評価用の Scorer、その他あらゆる追跡対象の処理の構成要素です。

Call

Call とは、Op の実行をログとして記録したものです。Op が実行されるたびに Weave は Call を作成し、次の情報を取得します。
  • 入力引数
  • 出力値
  • 実行時間とレイテンシー
  • 親子関係 (ネストされた Call の場合)
  • 発生したエラー
Call は Weights & Biases UI に Traces として表示され、デバッグ、分析、評価に使用するデータとなります。Call オブジェクトの構造とプロパティの詳細については、Call スキーマリファレンスを参照してください。 Call は、OpenTelemetry データモデルにおけるスパンに相当します。Call には次の特徴があります。
  • 同じ実行コンテキスト内の Call のコレクションであるトレースに属することができます。
  • 親 Call と子 Call を持つことができ、これによりツリー構造を形成します。

トレース

トレースは、同じ実行コンテキストを共有する Call の完全なツリーです。各トレースには ID (trace_id) があり、これを使用して Call のツリー全体を取得できます。Call の ID を使用して Call の情報を取得した場合、Weave は指定した Call のデータのみを返し、その子 Call のデータは返しません。

スレッド

スレッドは、1 つのセッションまたは会話に関連するトレースをまとめたものです。スレッドを使用すると、個々の Call ではなく会話全体を対象に分析やスコア付けを行えます。 次の図は、スレッド、トレース、Call の関係を示しています。
最終更新日 2026年9月30日