CrewAI(クルーエーアイ)
ロール(役割)ベースのマルチエージェントオーケストレーションフレームワーク。Agent(役割)・Task(タスク)・Crew(チーム)の3概念でLLMエージェントチームを構成し、最小限のコードで複雑な協調タスクを実行する。2024年公開のPythonライブラリ。
CrewAIとは
CrewAIは、2024年初頭に公開されたロールベースのマルチエージェントオーケストレーションフレームワークである。GitHub Stars 25,000超(2026年時点)で急成長中。Agent(役割を持つLLMエージェント)・Task(実行すべきタスク)・Crew(エージェントチーム)の3つの概念だけでマルチエージェントシステムを構築できる簡潔さが人気の理由。
主な特徴
- ロールベース設計: 各Agentに Role(役職)、Goal(目標)、Backstory(背景設定)を付与。「シニアリサーチャー」「テクニカルライター」等の人間的な役割分担
- 3概念のシンプルAPI: Agent + Task + Crew の3クラスだけでマルチエージェントを構築。LangGraphの明示的グラフ定義より遥かに少ないコード量
- 自動タスク依存解決: タスク間の依存関係(context)を宣言するだけで実行順序を自動決定。シーケンシャル/並列/階層的実行をサポート
- ツール統合: 100以上のビルトインツール(Web検索・ファイル読み書き・API呼び出し等)+カスタムツール定義
- プロセスタイプ: Sequential(順次)・Hierarchical(マネージャーが割り振り)・Consensual(合意形成)の3種類
- メモリ: Short-term(会話内)・Long-term(永続)・Entity(エンティティ別)の3種類のメモリをサポート
- CrewAI+(Enterprise): マネージドサービス版。デプロイ・監視・チーム管理をGUIで提供
- ライセンス: MIT
コード例
from crewai import Agent, Task, Crew
researcher = Agent(
role="Senior Research Analyst",
goal="Uncover cutting-edge developments in AI",
backstory="You are an expert analyst at a leading tech think tank",
tools=[search_tool],
llm="gpt-4o"
)
writer = Agent(
role="Tech Content Strategist",
goal="Craft compelling content on tech advancements",
backstory="You are a renowned content strategist"
)
research_task = Task(
description="Research the latest AI agent frameworks in 2026",
agent=researcher,
expected_output="A comprehensive report with key findings"
)
writing_task = Task(
description="Write a blog post based on the research",
agent=writer,
context=[research_task],
expected_output="A 1000-word blog post"
)
crew = Crew(agents=[researcher, writer], tasks=[research_task, writing_task])
result = crew.kickoff()
他フレームワークとの比較
| 観点 | CrewAI | LangGraph | AutoGen |
|---|---|---|---|
| 抽象度 | 高(ロール定義のみ) | 低(グラフ構築) | 中(会話定義) |
| コード量 | 最小 | 中〜多 | 中 |
| 制御性 | 低(フレームワーク任せ) | 高(明示的制御) | 中 |
| 学習コスト | 低 | 中〜高 | 中 |
| 適用範囲 | コンテンツ生成・リサーチ | 汎用ワークフロー | 会話・コード生成 |
| デバッグ | 難(ブラックボックス) | 容易(グラフ可視化) | 中 |
ユースケース
- コンテンツ生成パイプライン: Researcher→Writer→Editorの3ロールでブログ記事・レポートを自動生成
- マーケットリサーチ: Analyst→DataCollector→Summarizer で競合分析レポート作成
- カスタマーサポート分析: TicketClassifier→SentimentAnalyzer→ResponseDrafter で問い合わせ対応
- 技術ドキュメント生成: CodeAnalyzer→DocWriter→Reviewer でAPIドキュメント自動生成
- 採用プロセス: ResumeScreener→InterviewQuestionGenerator→Evaluator
選び方・注意点
- 制御性の低さ: CrewAIはフレームワークが実行順序を決定するため、細かなフロー制御が必要な場合はLangGraphの方が適切
- LLMコスト: ロールベースのプロンプトが冗長になりやすく、トークン消費が多い。role/goal/backstoryの設定を簡潔にすることが重要
- デバッグの難しさ: エージェント間のやり取りがブラックボックスになりやすい。verbose=Trueでログ出力を有効化推奨
- プロダクション利用: CrewAI+(有料)のマネージドサービスが安定だが、OSSのセルフホストも可能
- LangChainとの関係: CrewAIは内部でLangChainを使用。LangChainの知識があると理解が早い
よくある質問(FAQ)
Q1: CrewAIはLangGraphの代替になる? A: 用途による。シンプルなマルチロールタスク(コンテンツ生成等)ならCrewAIの方が圧倒的に少ないコード量で実現可能。複雑な条件分岐・ループ・Human-in-the-Loopが必要ならLangGraphが適切。
Q2: CrewAI+(Enterprise)の価格は? A: 2026年時点でFreeプラン(月100回実行)、Proプラン($49/月・1000回実行)、Enterpriseプラン(カスタム)。OSSのセルフホストなら完全無料。
Q3: Backstoryは本当に性能に影響する? A: 影響する。Backstoryが具体的であるほどLLMのレスポンス品質が向上する。「You are an expert analyst at a leading tech think tank with 10 years of experience」と「You are an analyst」では出力の深さが変わる。ただし長すぎるBackstoryはトークンコストを増加させるためバランスが重要。
まとめ
- CrewAIはRole・Task・Crewの3概念でマルチエージェントを最小コードで構築可能
- ロールベースの直感的な設計で学習コストが低く、コンテンツ生成やリサーチに最適
- 制御性はLangGraphに劣るが、シンプルなタスクではコード量1/3以下で実現
- GitHub 25K+ Starsで急成長中、エンタープライズ版CrewAI+もあり