メインコンテンツへスキップ
Weave Trace ビューは、LLM およびエージェント型アプリにおける複雑な実行パスを把握しやすくするために設計されています。多数のネストされた呼び出しを含むエージェント型アプリをデバッグする場合でも、単一のモデル予測のフローを追跡する場合でも、Trace ビューは何が起こったかを明確に可視化します。また、アプリケーションフローをさまざまな形で表示・理解できるようにもします。 このガイドでは、トレーススタックを移動する方法、コードから呼び出される関数をフィルタリングおよび検索する方法、視覚的な表現を切り替える方法などについて説明します。

はじめに

Trace ビューを開くには、次の手順を実行します。
  1. https://wandb.ai にアクセスし、対象のプロジェクトを選択します。
  2. サイドバーのメニューで Traces を選択して、そのプロジェクトに保存されたすべてのトレースを表示します。
  3. 任意のトレースを選択して Trace Details ビューを開きます。Trace Details ビューには、トレース実行の階層構造を示す追加パネルが表示されます。

Traces ページの概要

Traces ページは、次の 3 つの主要なパネルで構成されています:
  • 左パネル: プロジェクト内のすべての trace run の、ソートおよびページネーション付きの一覧。
    • この Traces テーブルには、トークン数、コスト、レイテンシなどの追加データが含まれます。
  • 中央パネル: 選択したトレースのインタラクティブなトレースビュー。トレースツリーには、そのトレース内でトラッキングされたすべてのメソッドの階層が表示されます。
    • トレースツリーには、トレースの実行中に呼び出された、@weave.op() でデコレートされた関数である ops が表示されます。
  • 右パネル: 選択したトレース内で選択された op の詳細。
Traces ページで、選択されたトレースと選択された op の詳細を表示している例

トレース内でのフィルタリング

  • 名前による正規表現フィルター: トレースツリー上部のテキストフィールドを使用して、toolopenai.response.create のような名前やタイプで op をフィルタリングします。
  • メトリクス: 利用可能な場合に、コスト、トークン数、レイテンシといったメトリクスを表示するかどうかを切り替えます。
トレースツリーには、そのトレース内で追跡されたすべてのメソッドの階層が表示されます。ツリーを上/下に移動するには、Cmd(macOS)または Alt(Windows/Linux)+ 上矢印(↑)/下矢印(↓)を使用します。 トレースツリーの下には、その中のさまざまな状態をすばやく移動するための複数のスクラバーがあります。スライダーを使って、トレース内を効率的に移動できます。 パネルを展開して、利用可能なすべてのスクラバーを表示します:
  • Timeline: トレース内のイベントの時系列。
  • Peers: 同じ種類の Ops。たとえば、predict という関数の詳細を調査している場合、このスクラバーを使うと、トレース内で次に実行された predict にすぐにジャンプできます。
  • Siblings: 同じ親を持つ Ops。親の関数呼び出しの下にネストされている Ops を順番にたどるために、このスクラバーを使用します。
  • Stack: コールスタックを上下にたどります。
  • Path: (コード構成ビューでのみ利用可能)選択中の呼び出しと同じコードパスを持つすべての呼び出しを順にたどります。
検索フィルターとスクラバーを表示しているトレースツリーパネル

代替のトレースツリー表示

パネル上部では、ニーズに応じてトレースツリーの表示方法を複数のビジュアルで切り替えることができます。デバッグの目的に合わせてビューを選択してください。呼び出しロジックを把握するには code composition view、時間経過に伴うパフォーマンスを確認するには flame graph view、構造を理解するには graph view を使用します。

トレース(デフォルト)

トレースツリーのデフォルトビューでは、スタック階層、各オペレーションのコスト(利用可能な場合)、実行時間、およびステータスインジケーターが表示されます。

コード構成ビュー

コード構成ビューでは、ボックスが op とそのネストされた呼び出しを表します。これは関数呼び出しのフローを可視化するのに役立ちます。このビューでは、ボックスを選択してその op を掘り下げて表示し、呼び出しパスを絞り込むことができます。
コード構成ビューを表示しているトレースビュー

フレームグラフ

フレームグラフビューは、実行の深さと継続時間をタイムラインベースで可視化します。時間の経過に伴うパフォーマンス特性を把握するのに役立ちます。特定のフレームを選択して、サブトレースを切り出して確認できます。
トレース内の各オペレーションのフレームグラフを表示しているトレースビュー

グラフビュー

グラフビューでは、op 間の階層的な関係が表示されます。特に、親子関係を把握するのに役立ちます。
Trace 内の op とその関係を構造的に示すグラフビューを表示している Trace ビュー

トレース op の詳細を表示する

トレースツリーで op を選択すると、その op の詳細が隣のパネルに表示されます。これらの詳細は次のタブに分類されます:
  • Call: op 実行時の入力と出力。
  • Code: Call が実行されたときに使用されたコード。
  • Feedback: op に対して利用可能なフィードバック。Weave 内または API を通じて直接フィードバックを提供できます。
  • Scores: op に対して利用可能なスコア。Call は Evaluation を実行することでスコアが付けられます。
  • Summary: op に関する一般的な情報。
  • Use: Call をプログラムから取得し、リアクション、メモ、またはフィードバックを追加するために使用できるコードスニペット。