メインコンテンツへスキップ
Colab で開く このガイドでは、CrewsFlows の両方を含む CrewAI のマルチエージェントアプリケーションを、Weave を使用して監視およびトレースする方法を紹介します。 CrewAI は、自律型 AI エージェントを構築するための Python フレームワークです。LangChain や他のエージェントフレームワークには依存しておらず、高レベルの Crews と低レベルの Flows という 2 つの抽象化をサポートします。 CrewAI アプリケーションは複数のエージェントが連携して動作することが多いため、それらがどのように協調し、やり取りしているかを理解することが不可欠です。Weave は、CrewAI アプリケーションのトレースを自動的に取得し、エージェントのパフォーマンスや相互作用を監視・分析できるようにします。 以下のセクションでは、Crew のトレース、ツール使用状況のトラッキング、Flow のトレース、およびガードレール関数を Weave op としてラップする方法を順に説明します。

Crew を使い始める

この例を実行するには、CrewAI と Weave をインストールしてください。CrewAI のインストールの詳細については、CrewAI installation guide をご覧ください。
次の例では、CrewAI Crew を作成し、Weave を使用して実行をトレースします。トレースを有効にするには、スクリプトの先頭で weave.init() を呼び出します。weave.init() の引数には、Weave がトレースをログするプロジェクト名を指定します。
Weave は、CrewAI ライブラリを介して行われるすべての calls をトラッキングし、ログします。これには、エージェント のやり取り、タスクの実行、LLM calls が含まれます。トレースは Weave の Web インターフェースで確認できます。 crew_trace.png
CrewAI には、kickoff プロセスをより細かく制御するための複数の method (kickoff(), kickoff_for_each(), kickoff_async(), kickoff_for_each_async()) があります。このインテグレーションは、これらすべての method からのトレースのログをサポートしています。

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

CrewAI のツールは、Web 検索やデータ分析から、共同作業や同僚へのタスク委任まで、さまざまな機能をエージェントに提供します。インテグレーションでは、それらもトレースできます。 インターネットを検索して最も関連性の高い結果を返せるツールを使えるようにすることで、前の例で生成されたレポートの品質を向上させます。 まず、追加の依存関係をインストールします。
この例では、SerperDevTool を使用して、‘Research Analyst’ エージェントがインターネット上の関連情報を検索できるようにしています。このツールと API の要件の詳細については、SerperDevTool documentationをご覧ください。
インターネットにアクセスできるエージェントでこの Crew を実行すると、より関連性の高い結果が得られます。Weave は、以下の画像のようにツールの使用を自動的にトレースします。 crew_with_tool_trace.png
このインテグレーションは、crewAI-toolsリポジトリで利用可能なすべてのツールに自動的にパッチを適用します。

Flow 入門

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

Crew guardrail: 独自の ops をトラッキングする

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

まとめ

これで、エージェント間のやり取り、ツールの使用、Flow の実行、ガードレールの検証を取得する、Weave でトレースされた CrewAI アプリケーションが用意できました。このインテグレーションの改善案を提案したり問題を報告したりするには、GitHub で issue を作成してください CrewAI でマルチエージェントシステムを構築する方法の詳細については、CrewAI のサンプルドキュメントをご覧ください。