AWS EC2のT3インスタンスで始めるCrewAI開発入門 — ローカルとクラウドを使い分けたハイブリッド環境構築ガイド


はじめに

マルチエージェントフレームワークであるCrewAIを使って開発環境を構築する際、AWSのT3インスタンスが推奨されることをご存知でしょうか。T3シリーズはコストを抑えつつ、開発やテストで必要なパフォーマンスをバランスよく提供してくれます。本記事では、T3インスタンスを使ったCrewAIの構築手順と、Windowsローカル環境との使い分け、そして実際のコード例を中心に解説します。最後にはCursorを使った開発手法についても触れますので、ぜひ参考にしてください。


1. なぜT3シリーズが推奨されるのか

1-1. バースト機能でコスト効率が高い

T3シリーズ(とくに t3.xlarget3.2xlarge)は、必要なときにバーストして高パフォーマンスを発揮する仕組みがあります。開発環境は常時高い負荷がかかるとは限らないため、この仕組みによってコストとパフォーマンスを両立できます。

1-2. 最小推奨スペックを十分に満たす

CrewAIの開発環境では、4〜8 vCPU8〜16GB程度のメモリがあれば快適に動作します。t3.xlargeやt3.2xlargeならばこれらのスペックを十分に確保可能です。ストレージもEBSで30〜50GiBを割り当てれば、OSやCrewAIのインストールに問題ありません。

1-3. スケーリングが容易

T3のような汎用インスタンスタイプは、将来的に負荷が増えても別のファミリーやより大きなサイズへスケールアップしやすいのがメリットです。まずは小さめのインスタンスで始めて、様子を見ながら拡張していく運用が可能です。


2. Windowsローカル開発との併用

2-1. Windowsローカルのメリット

  • オフラインで作業が可能
  • すぐにコードを書き始められるので初期コストが少ない
  • VS CodeやCursorなど、馴染みの開発ツールが使いやすい

2-2. Windowsでの注意点

  • UAC(ユーザーアカウント制御)の無効化や再起動が必要になる場合がある
  • ウイルス対策ソフトやファイアウォールの設定を事前に確認
  • GPUや特定のライブラリを使う場合、ドライバのインストールなどでトラブルが起きやすい

2-3. ハイブリッドな開発フロー

  1. ローカル環境で初期開発
    • 小規模のPoC(概念実証)や基本的なコードの動作確認
  2. AWS EC2(T3インスタンス)で統合テスト
    • チームメンバーや別拠点の関係者と同じ環境を共有
    • 本番に近い条件で最終チェックが可能

3. CrewAIの構築手順

3-1. 開発環境の準備

Pythonの仮想環境を作成・有効化し、CrewAIと必要パッケージをインストールします。

# 仮想環境の作成
python -m venv crewai-env
# 有効化(Mac/Linux)
source crewai-env/bin/activate
# Windowsの場合
crewai-env\Scripts\activate

# 必要パッケージのインストール
pip install crewai langchain openai python-dotenv

3-2. エージェントの定義

CrewAIでは「エージェント」を定義し、それぞれに役割とゴールを設定します。以下は「研究者エージェント」の例です。

from crewai import Agent
from langchain.tools import DuckDuckGoSearchRun

researcher = Agent(
    role='研究者',
    goal='与えられたトピックについて詳細な調査を行う',
    backstory='経験豊富な研究者で、複雑な情報を分析することが得意',
    verbose=True,
    tools=[DuckDuckGoSearchRun()]
)

3-3. タスクの作成

タスクに対応するエージェントを割り当てます。例えば、調査タスクライティングタスクを定義し、それぞれ別のエージェントに担当させることができます。

from crewai import Task

research_task = Task(
    description='指定されたトピックについて調査を行う',
    agent=researcher
)

3-4. Crewの実行

複数のエージェントとタスクをまとめて「Crew」を作成し、kickoff()メソッドで実行します。

from crewai import Crew, Process

crew = Crew(
    agents=[researcher],
    tasks=[research_task],
    process=Process.sequential,  # 順番にタスクを実行する
    verbose=2
)

result = crew.kickoff()
print(result)

必要に応じて非同期実行複数タスク同時実行など、柔軟なオプションが用意されています。


4. Cursorを使ったCrewAI開発

4-1. Cursorの特徴

CursorはVS Codeに似たAI支援エディタで、ChatGPTなどのAIモデルが組み込まれた補完機能を利用できます。コードの自動生成や編集リクエストが簡単に行えるので、生産性を高めることが可能です。

4-2. 開発手順の例

  1. Conda環境を作成・アクティベート conda create -n edu python=3.12 conda activate edu
  2. CrewAI関連パッケージをインストール pip install crewai
  3. Cursorで新規プロジェクトを作成してコードを書く
    • 研究用のエージェントとライティング用のエージェントを定義
    • タスクをまとめてCrewを起動
    • CursorのAIアシスタント機能でコードの改善やリファクタリングを行う

Cursorはコードの微修正を音声やテキストで指示するだけで自動化してくれるため、試行錯誤が多いCrewAIの開発で特に便利です。


5. まとめ

  • T3シリーズ(t3.xlarge / t3.2xlarge)は、CrewAIの開発環境に必要十分なスペックを備え、かつコストパフォーマンスにも優れています。
  • ローカル環境での手軽な開発と、EC2環境での統合テストを組み合わせるハイブリッドアプローチがおすすめです。
  • CursorなどのAI支援エディタを活用することで、CrewAIの開発効率をさらに高められます。

本番環境での運用を見据える場合は、T3インスタンスから始めて、必要に応じてスペックを上げることでリソース不足のリスクを抑えつつ開発を進められます。ぜひ今回のガイドを参考に、CrewAIのスムーズな構築を実現してみてください。


参考リンク

以上、AWSのT3インスタンスとCrewAIを組み合わせた開発環境構築についてご紹介しました。これからCrewAIを始める方や、開発環境を見直したい方の一助になれば幸いです。