Crew を使ってみる
この例を実行するには、CrewAI と Weave をインストールしてください。CrewAI のインストール方法の詳細については、CrewAI インストールガイドを参照してください。weave.init() を呼び出します。weave.init() の引数には、Weave がトレースをログする先のプロジェクト名を指定します。
CrewAI には、kickoff プロセスをより細かく制御するためのメソッドとして
kickoff()、kickoff_for_each()、kickoff_async()、kickoff_for_each_async() が用意されています。このインテグレーションは、これらすべてのメソッドのトレースのログをサポートしています。ツールをトラッキングする
CrewAI のツールを使うと、Web 検索、データ分析、コラボレーション、同僚間でのタスクの委任といった機能をエージェントに持たせることができます。このインテグレーションでは、これらのツールもトレースされます。 次の例では、インターネットを検索して最も関連性の高い結果を返すツールをエージェントが利用できるようにし、前の例で生成したレポートの品質を向上させます。 まず、追加の依存関係をインストールします。SerperDevTool を使用して、‘Research Analyst’ エージェントがインターネット上で関連情報を検索できるようにしています。このツールとその API 要件の詳細については、SerperDevTool のドキュメントを参照してください。
このインテグレーションは、
crewAI-tools リポジトリにあるすべてのツールに自動的にパッチを適用します。Flow を使ってみる
次の例では、CrewAI Flow を定義し、Weave でトレースします。Crew の場合と同様に、Flow を定義する前にweave.init() を呼び出してください。これにより、Weave は Flow.kickoff エントリポイントと、@start、@listen、@router、@or_、@and_ の各デコレーターを自動的に取得します。
このインテグレーションは、
Flow.kickoff エントリポイントと、利用可能なすべてのデコレーター (@start、@listen、@router、@or_、@and_) に自動でパッチを適用します。Crew のガードレール: 独自の Op をトラッキングする
タスクのガードレールを使用すると、CrewAI がタスクの出力を次のタスクに渡す前に、その出力を検証および変換できます。Python の関数を使用すれば、エージェントの実行をその場で検証できます。 guardrail 関数を@weave.op でラップすると、その入力、出力、アプリケーションロジックが取得されるため、エージェント間でデータがどのように検証されるかをデバッグできます。また、実験を進める中でコードが自動的にバージョン管理されるため、git にコミットしていないアドホックな変更内容も取得されます。
次の例では、生成されたレポートの長さを検証するガードレールを追加して、リサーチアナリストとライターの Crew を拡張します。
@weave.op でデコレートすると、この関数の入力と出力に加え、実行時間、トークン情報 (関数が LLM を使用する場合)、コードのバージョンなどをトラッキングできます。