CrewAI で構築されたエージェントの監視
CrewAI Python フレームワークであり、タスクを共同で完了させるAIエージェントの作成と管理を行います。 CrewAI を使用すれば、自律的に連携し、ワークフローを実行し、意思決定を最適化する自律型AIエージェントを構築できます。 CrewAI 大規模言語モデル(LLM)や外部ツールと連携し、自動化、研究、カスタマーサービスなどに活用できます。
Instana CrewAI, で構築されたエージェントの可観測性を提供し、AIエージェントのワークフロー、タスク実行、LLMパフォーマンスのリアルタイム監視を可能にします。
前提条件
以下の前提条件が満たされていることを確認してください:
Python 3.8 またはそれ以降
LLM API キー(Anthropic、 OpenAI,、または CrewAI でサポートされている任意の LLM プロバイダー)
Instana アプリケーションに合わせて設定するには、 はじめの一歩を参照してください
CrewAI アプリケーションの計測
CrewAI アプリケーションを Instana で計測するには、次の手順を完了してください:
CrewAI および OpenLLMetry に必要なパッケージをインストールしてください。
pip install crewai crewai-tools traceloop-sdkLLMプロバイダーの認証情報を設定し、 CrewAI's の内部テレメトリを無効にしてください。
export ANTHROPIC_API_KEY="<your-api-key>" export CREWAI_DISABLE_TELEMETRY=true注:異なるプロバイダー(例: OpenAI
OPENAI_API_KEYの場合)を使用する場合は、LLM プロバイダーの環境ANTHROPIC_API_KEY変数で を置き換えてください。CrewAI's の内部テレメトリを無効化することで、すべてのトレースが OpenLLMetry 経由でキャプチャされ、一貫した可観測性が確保されます。
CrewAI アプリケーションを作成してください。
以下の例では、タスクのために協力する2つのエージェント(研究者とライター)が作成されます:
from crewai import Agent, Task, Crew, Process from crewai_tools import SerperDevTool from traceloop.sdk import Traceloop from traceloop.sdk.decorators import workflow # Initialize OpenLLMetry Traceloop.init(app_name="crewai_demo") # Initialize search tool search_tool = SerperDevTool() # Define agents researcher = Agent( role="Senior Research Analyst", goal="Uncover cutting-edge developments in AI and data science", backstory="You are a Senior Research Analyst at a leading tech think tank.", verbose=True, allow_delegation=False, tools=[search_tool] ) writer = Agent( role="Tech Content Strategist", goal="Craft compelling content on tech advancements", backstory="You are a renowned Tech Content Strategist, known for insightful and engaging articles on technology and innovation.", verbose=True, allow_delegation=False, tools=[search_tool] ) # Define tasks task1 = Task( description="Perform an in-depth analysis of the following topic: {topic}", expected_output="Comprehensive analysis report in bullet points", agent=researcher ) task2 = Task( description="Using the insights from the researcher's report, develop an engaging blog post that highlights the most significant advancements", expected_output="A compelling 3-paragraph blog post formatted as markdown", agent=writer ) # Create the crew crew = Crew( agents=[researcher, writer], tasks=[task1, task2], verbose=True, process=Process.sequential ) # Wrap crew execution in a workflow for better tracing @workflow(name="crewai_workflow") def run_crew(topic): return crew.kickoff(inputs={"topic": topic}) # Execute the crew if __name__ == "__main__": topics = ["Artificial Intelligence", "Machine Learning", "Neural Networks"] for topic in topics: result = run_crew(topic) print(f"\nCompleted analysis for: {topic}\n")CrewAI アプリケーションを実行してください。
python crewai_app.pyCrewAI エージェントの連携を示す出力を生成します:
図 1. CrewAI 出力 
Instana でデータを表示する
アプリケーションを実行すると、 Instana Gen AI 監視ダッシュボードにデータが表示されます:
図 2. CrewAI Instana 内の痕跡 
トラブルシューティング
CrewAI で構築されたエージェントのトラブルシューティング情報
crewAI-telemetry に、期待されるサービス名ではなくトレースが表示される
問題 : トレースが期待されるサービス名(例: crewai_demo)の下に表示されず、 の下で表示される crewAI-telemetry。
原因 : CrewAI's 内部テレメトリがまだ有効になっています。
解決策 : 以下の環境変数を設定して、 CrewAI's の内部テレメトリを無効化します:
export CREWAI_DISABLE_TELEMETRY=true
この変数を設定すると、すべてのトレースデータがキャプチャされ、設定したサービス名のもとで OpenLLMetry を通じて一貫して報告されます。
次のステップ
Instana がサポートするその他の AI エージェントフレームワークを探る
LLM使用のコスト計算について学ぶ
CrewAI ワークフローのアラートを設定する