mcpField
W
weave-instrument

weave-instrument

github.com/wandb開発7197 回インストール2 週間前に更新
リポジトリ

weave-instrument について

Python または Node アプリケーションに Weave のトレースを追加・検証するスキルです。認証確認から計装方式の選択、段階的な変更、トレース検証まで開発者を案内します。

主な機能

  1. 01変更前に W&B ログインを確認
  2. 02Span・自動計装・OTelから方式を選択
  3. 03モデル・ツール・エージェントを計装
  4. 04トレースと実際の実行を照合
  5. 05テストと適合性チェックを実施

活用シーン

  1. 01エージェントアプリにトレースを追加
  2. 02既存の OTel パイプラインを拡張
  3. 03トレース構造とバックエンド到達を確認

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/wandb/skills --skill weave-instrument

インストール後、Claude Code で/weave-instrumentを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
otel_auto.md
otel_endpoint.md
read_back.md
session_sdk_python.md
session_sdk_typescript.md
trace_fidelity.md

詳細

Weave の計装

編集または初期化する前に、ログインの確認を完了してください。 有効なログインがない場合は、そのセクションの返信のみを送信して停止してください。

有効なログインを確認したら、アプリケーションの依存関係、エージェントの境界、 既存の OTel プロバイダーを調べてください。データを送信する前に、 entity/project とランタイム認証情報を確認してください。API キーを読み取ったり、 表示したり、コミットしたりしないでください。計装経路を変更する前に、 トレースの忠実性を読んでください。 起動時に Python では weave.init("entity/project")、Node では await weave.init(...) を使って、一度だけ初期化してください。

まずログインを確認する

コードの編集やトレーシングの初期化を行う前に、設定済みの SDK またはコネクターを 通じて、非対話型の読み取り専用 ID リクエストを行い、対象のデプロイメントに対する 既存の W&B ログインを確認してください。認証情報はそのまま使用し、シークレットの 値を表示、コピー、または調査しないでください。ログイン確認のために login や トレーシングの init を呼び出さないでください。

有効なログインがない場合は停止してください。このスキルの編集、初期化、続行は 行わないでください。このセッションでは wandb login を実行しないでください。 このセッションのシェルは通常のターミナルではないため、wandb login --verify は プロンプトを表示せず、No API key configured で終了します。このチャットでキーを 尋ねたり、認証情報を作成したりしないでください。

これだけを送信してください。ほかには何も送信しないでください。判断、メモ、計画、 ドキュメントへのリンクも含めないでください。

W&B にまだログインしていないため、ここで終了します。新しいターミナルタブを開き、 wandb login --verify を実行してください。API キーは https://wandb.ai/authorize?ref=models で作成してください。ブラウザーで別のページが 開いた場合は、そのリンクをもう一度開いてください。キーはこのチャットではなく、 そのターミナルに貼り付けてから、continue と入力してください。

セルフホスト型または専用のデプロイメントでは、wandb login --verify --host <base-url> を使い、そのコマンドで表示される認証ページを使用してください。その場合も、これだけを 送信してください。

  • 接続または権限の問題で確認できない、または確認に失敗した場合は、ログイン/アクセスは 未確認であると報告して停止してください。認証情報が無効だと決めつけないでください。
  • ユーザーが続行した後、アプリケーションのランタイムが独自の設定済み認証情報を使用して entity/project にアクセスできることを確認してください。ブラウザーログインだけでは SDK の認証は確立されません。.netrc によるフォールバックがない Node/Forge ランタイムでは、 ユーザーがランタイムのシークレット管理機能を通じて認証情報を設定する必要があります。

方式を選択する

  • 明示的なエージェントスパン: 自動計装では必要なツリーを生成できない場合、ターン、 モデル呼び出し、ツール、委譲には Session SDK を使用してください。 Python または TypeScript のリファレンスを読んでください。
  • 自動計装: インストール済み SDK がライブラリと目的のスパン構造を捕捉できる場合に 限って使用してください。Python の INTEGRATION_MODULE_MAPPING または Node の integrations/hooks.ts を確認し、生成されたスパンを検証してください。 自動計装に関する注意点を読んでください。レジストリーに 含まれているだけでは、捕捉が有効である証明にはなりません。手動のラップを重複して 行わないでください。
  • 既存の OTel パイプライン: エンドポイントの設定を使い、 そのプロバイダーに Weave のエクスポートを追加してください。

ターンは、ツールループを含む 1 回のユーザーとのやり取りを表します。LLM スパンは、 ストリームの完了までの 1 回のモデル呼び出しを表します。ツールは実行を、 SubAgent は委譲を表します。実際の出力/使用量を記録し、プロバイダーのツール呼び出し ID を 保持してください。戻り値、例外、再試行、キャンセルの動作は変更しないでください。 失敗時にもスパンを閉じ、並行する会話を分離してください。

段階的に実装する

トレース対象の経路を一度に 1 つずつ追加してください。まずモデル呼び出し、そのツールループ、 該当する場合は委譲または並行処理の順に進めます。変更のたびにその経路を実行し、 読み戻し検証に従ってください。計装を拡張する前に、 生成されたスパンと保存されたスパンを実際の実行と比較してください。

不一致を修正し、続行する前に同じ確認を再実行してください。結果が空である場合、 クエリが失敗した場合、または確認できない場合は、合格ではなく未確認です。 その時点で停止し、検証を進めるためにユーザーが行う必要のあることを報告してください。

検証

関連するアプリケーションテストと、計測したパスの 適合性チェックを実行します。テストスイート全体の実行に CI、ブラウザー、または利用できないサービスが必要な場合は、成功と失敗を網羅する対象を絞ったローカルチェックを実行し、スキップした範囲を報告します。親子関係と gen_ai.operation.nameを確認します。ターン/サブエージェントにはinvoke_agent、LLM にはchat、ツールにはexecute_toolを使用します。エージェント形式のトレースは Agents に、フラットな呼び出しは Calls に分類します。認証情報が利用できる場合は、バックエンドへの到達を確認します。初期化バナーの表示やフラッシュの成功は、配信の証明にはなりません。それ以外の場合は、未検証の範囲を報告し、アプリケーションの正確なスモークテストコマンドを提示します。

Weaveを参考にしています。 参照先と異なる場合は、インストール済み SDK のエクスポートを使用してください。

コメント