Skip to main content
このチュートリアルでは、Weave でネストされた関数をトレースし、LLM を活用したアプリケーションの実行フロー全体を、サブ関数とその親子関係も含めて監視する方法を説明します。このチュートリアルを終えると、ネストされたトレースを取得・可視化し、Weave の Traces ページでメタデータを追加できるようになります。 LLM を活用したアプリケーションには、複数の LLM Call や追加のデータ処理、検証ロジックなど、監視すべき重要な処理が含まれることがあります。Weave では、@weave.op() デコレーター (Python) を使用するか、weave.op() でラップする (TypeScript) ことで、これらのネストされた関数とその親子関係をトラッキングできます。 アプリケーションの実行フロー全体を取得できるよう、関数とサブ関数にはできるだけ細かい粒度でデコレーターを適用してください。これにより、アプリケーションの動作をより深く理解し、改善しやすくなります。

ネストされた関数をトレースする

このセクションでは、関数とそのネストされたサブ関数をトレースする例を順を追って説明します。以下のコードは クイックスタートの例 をベースに、LLM から返された項目の数をカウントするロジックを追加し、それらを上位の関数でラップしています。さらに、この例では weave.op() を使用して、すべての関数とその呼び出し順序、親子関係をトレースします。
ネストされた関数上記のコードを実行すると、Traces ページに、2 つのネストされた関数 (extract_dinos と count_dinos) の入力と出力に加えて、自動的にログされた OpenAI のトレースが表示されます。中央のトレース ツリー パネルと、選択した Call の詳細パネルが表示された、ネストされた Weave トレース ページ
コードを実行すると、各関数の Call とそれらの相互関係を取得した完全なネスト構造のトレースが Weave に作成されます。

メタデータをトラッキングする

Weave でネストされた関数をトレースできるようになったので、次はユーザーや環境など、run に関する追加のコンテキストをトレースに付与できます。メタデータをトラッキングするには、weave.attributes コンテキストマネージャーを使用し、トラッキングするメタデータの辞書を呼び出し時に渡します。 前の例の続きです。
ユーザー ID や、コードの環境ステータス (開発、ステージング、本番) など、実行時に変わるメタデータをトラッキングできます。システムプロンプトなどのシステム設定をトラッキングするには、Weave モデルを使用してください。
属性の使い方の詳細については、属性を定義してログするを参照してください。

次のステップ

  • App Versioning チュートリアルに沿って、プロンプト、モデル、アプリケーションに加えたアドホックな変更を取得し、バージョン管理して整理しましょう。
最終更新日 2026年9月30日