Skip to main content
Open In Colab このガイドでは、Weave を使用して CrewAI のマルチエージェントアプリケーションを監視およびトレースする方法を説明します。対象には Crews と Flows の両方が含まれます。 CrewAI は、自律型 AI エージェントを構築するための Python フレームワークです。LangChain などのエージェントフレームワークには依存せず、高レベルの Crews と低レベルの Flows という 2 つの抽象化をサポートしています。 CrewAI アプリケーションは、複数のエージェントが連携して動作する構成になっていることが多いため、エージェント同士がどのように協力し、通信しているかを把握することが重要です。Weave は CrewAI アプリケーションのトレースを自動的に取得するため、エージェントのパフォーマンスややり取りを監視・分析できます。 以下のセクションでは、Crew のトレース、ツールの使用のトラッキング、Flow のトレース、guardrail 関数を Weave op としてラップする方法について順に説明します。

Crew を使ってみる

この例を実行するには、CrewAI と Weave をインストールしてください。CrewAI のインストール方法の詳細については、CrewAI インストールガイドを参照してください。
次の例では、CrewAI の Crew を作成し、その実行を Weave でトレースします。トレースを有効にするには、スクリプトの冒頭で weave.init() を呼び出します。weave.init() の引数には、Weave がトレースをログする先のプロジェクト名を指定します。
Weave は、エージェントのインタラクション、タスクの実行、LLM Call など、CrewAI ライブラリを通じて行われるすべての Call をトラッキングしてログします。トレースは Weave の Web インターフェースで確認できます。 crew_trace.png
CrewAI には、kickoff プロセスをより細かく制御するためのメソッドとして kickoff()、kickoff_for_each()、kickoff_async()、kickoff_for_each_async() が用意されています。このインテグレーションは、これらすべてのメソッドのトレースのログをサポートしています。

ツールをトラッキングする

CrewAI のツールを使うと、Web 検索、データ分析、コラボレーション、同僚間でのタスクの委任といった機能をエージェントに持たせることができます。このインテグレーションでは、これらのツールもトレースされます。 次の例では、インターネットを検索して最も関連性の高い結果を返すツールをエージェントが利用できるようにし、前の例で生成したレポートの品質を向上させます。 まず、追加の依存関係をインストールします。
この例では、SerperDevTool を使用して、‘Research Analyst’ エージェントがインターネット上で関連情報を検索できるようにしています。このツールとその API 要件の詳細については、SerperDevTool のドキュメントを参照してください。
インターネットにアクセスできるエージェントでこの Crew を実行すると、より関連性の高い結果が得られます。次の画像のように、Weave はツールの使用を自動的にトレースします。 crew_with_tool_trace.png
このインテグレーションは、crewAI-tools リポジトリにあるすべてのツールに自動的にパッチを適用します。

Flow を使ってみる

次の例では、CrewAI Flow を定義し、Weave でトレースします。Crew の場合と同様に、Flow を定義する前に weave.init() を呼び出してください。これにより、Weave は Flow.kickoff エントリポイントと、@start、@listen、@router、@or_、@and_ の各デコレーターを自動的に取得します。
flow.png
このインテグレーションは、Flow.kickoff エントリポイントと、利用可能なすべてのデコレーター (@start、@listen、@router、@or_、@and_) に自動でパッチを適用します。

Crew のガードレール: 独自の Op をトラッキングする

タスクのガードレールを使用すると、CrewAI がタスクの出力を次のタスクに渡す前に、その出力を検証および変換できます。Python の関数を使用すれば、エージェントの実行をその場で検証できます。 guardrail 関数を @weave.op でラップすると、その入力、出力、アプリケーションロジックが取得されるため、エージェント間でデータがどのように検証されるかをデバッグできます。また、実験を進める中でコードが自動的にバージョン管理されるため、git にコミットしていないアドホックな変更内容も取得されます。 次の例では、生成されたレポートの長さを検証するガードレールを追加して、リサーチアナリストとライターの Crew を拡張します。
guardrail 関数を @weave.op でデコレートすると、この関数の入力と出力に加え、実行時間、トークン情報 (関数が LLM を使用する場合)、コードのバージョンなどをトラッキングできます。 guardrail.png

まとめ

これで、エージェントのやり取り、ツールの使用、Flow の実行、ガードレールの検証を取得できる、Weave でトレースされた CrewAI アプリケーションが完成しました。このインテグレーションについての改善提案や問題の報告は、GitHub で issue を作成してください。 CrewAI を使ったマルチエージェントシステムの構築について詳しくは、CrewAI のサンプルとドキュメントを参照してください。
最終更新日 2026年9月30日