このページでは、エージェントベースのアプリケーションをトラッキングして分析するために、Smolagents を W&B Weave と統合する方法を説明します。Weave のトレース機能とバージョン管理機能を使って、モデル推論をログし、関数呼び出しを監視し、Experiments を整理する方法を学べます。ここで紹介する例に沿って進めることで、有用な知見を取得し、アプリケーションを効率的にデバッグし、異なるモデル設定を比較できます。これらはすべて Weave の Web インターフェース上で行えます。Documentation Index
Fetch the complete documentation index at: https://wb-21fd5541-john-wbdocs-2044-rename-serverless-products.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
概要
weave.init() を呼び出し、通常どおりライブラリを使用します。
前提条件
-
Smolagents を Weave で使用する前に、必要なライブラリをインストールするか、最新バージョンにアップグレードしてください。次のコマンドは、
smolagents、openai、weaveをインストールまたはアップグレードし、出力を抑制します。 -
Smolagents は、OpenAI、Hugging Face Transformers、Anthropic など、複数の LLM プロバイダをサポートしています。選択したプロバイダに対応する環境変数を設定して、APIキーを指定してください。
基本的なトレース
weave.init() を呼び出して Weave を初期化し、その後は通常どおりライブラリを使用します。
次の例では、ツールを使用する LLM エージェントの推論 call を Weave でログする方法を示します。このシナリオでは、次のことを行います。
- Smolagents の
OpenAIServerModelを使用して、言語モデル (OpenAI のgpt-4o) を定義します。 - 必要に応じてエージェントが呼び出せる検索ツール (
DuckDuckGoSearchTool) を設定します。 - ツールとモデルを渡して、
ToolCallingAgentを構築します。 - 検索ツールをトリガーするクエリをエージェント経由で実行します。
- Weave は各関数とモデルの呼び出しをログし、Web インターフェースで確認できるようにします。

カスタムツールのトレース
smolagents の @tool で関数をデコレートするか、smolagents.Tool クラスを継承することで、agentic ワークフロー用のカスタムツールを定義できます。
Weave は、Smolagents ワークフロー内のカスタムツールの call を自動的にトラッキングします。次の例では、Weave でカスタム Smolagents ツールの call をログする方法を示します。
- カスタムの
get_weather関数を定義し、Smolagents の@toolでデコレートすることで、エージェントが推論プロセスの一部としてこの関数を呼び出せるようにします。 - この関数は、location と、摂氏で出力するための optional フラグを受け取ります。
OpenAIServerModelを使用して言語モデルをインスタンス化します。- カスタムツールとモデルを使って
ToolCallingAgentを作成します。 - エージェントがクエリを実行すると、
get_weatherツールを選択して呼び出します。 - Weave は、モデルの推論とカスタムツールの呼び出しの両方を、argument と Return Value を含めてログします。
