AIエージェントの世界:CrewAIで実現する自律タスク処理

AIエージェントの世界:CrewAIで実現する自律タスク処理

僕らのサイト「プロンプトエンジニアリングのビジネスHUB」って、AIをどうビジネスで使うか、その「実践」の部分にものすごくフォーカスしてますよね。単に「こんな技術があります」で終わらせないで、「じゃあ、それ、明日からどうやって自分の仕事に活かすの?」っていう、一番知りたいところに切り込んでくれる。そんな姿勢が、僕もすごく好きで、いつも刺激をもらっています。最新のニュースを追いかけるのも大事だけど、やっぱり自分の手で触って、業務がラクになったり、新しいアイデアが生まれたりする瞬間が一番楽しいじゃないですか。そんな中、最近僕が個人的にめちゃくちゃハマってるのが、「AIに自律的にタスクをこなしてもらう」っていう、いわゆる「AIエージェント」の世界なんです。

これまでの生成AIとのやりとりって、基本は僕らが一つ一つ指示を出す「対話型」でしたよね。「この文章を要約して」「このデータでグラフ作って」みたいに。でもAIエージェントは、そこから一歩進んでるんですよ。僕らが最終的な「目的」を伝えるだけで、AIが自分で計画を立てて、必要な情報を調べて、タスクを分割して、複数のAIエージェントが協力しながら自律的にゴールを目指してくれるんです。まるで、AIでできた小さなプロジェクトチームを立ち上げるような感覚。例えば、Microsoftが開発した「AutoGen」や、最近だとより直感的に使える「CrewAI」みたいなフレームワークが出てきてて、これがもう、未来の働き方を予感させてくれてワクワクが止まらないんです。

せっかくなんで、僕が最近試した「CrewAI」の簡単なコードを紹介させてください。これは、特定のテーマ(例えば「テスラ社」)について、Webから最新情報を集めるリサーチャーAIと、その情報を元にブログ記事を書くライターAIを協調させる、っていう簡単なデモです。Pythonが動く環境があれば、pip install crewai crewai_tools ってコマンドを打ってライブラリを入れればすぐに試せますよ。

```python
import os
from crewai import Agent, Task, Crew, Process
from crewai_tools import SerperDevTool

# APIキーを設定(Serperという検索エンジンのAPIキーが必要です) # https://serper.dev/ で無料で取得できます os.environ["SERPER_API_KEY"] = "YOUR_SERPER_API_KEY"

# ツールを定義 search_tool = SerperDevTool()

# エージェント(AI)を定義 # 1. リサーチャー役 researcher = Agent( role='シニアリサーチアナリスト', goal='テスラ社に関する最新の動向を調査する', backstory="""あなたはテスラ社に関する最新ニュース、技術革新、市場動向を 見つけ出すエキスパートです。詳細な分析と洞察力に定評があります。""", verbose=True, allow_delegation=False, tools=[search_tool] )

# 2. ライター役 writer = Agent( role='プロのコンテンツライター', goal='テスラ社に関する魅力的なブログ記事を作成する', backstory="""あなたはAIやテクノロジーに関するブログ記事を執筆する専門家です。 複雑なトピックを分かりやすく、読者の興味を引く文章にまとめるのが得意です。""", verbose=True, allow_delegation=True )

# タスクを定義 task1 = Task( description="""テスラ社の2024年第2四半期における主要なニュースや 製品発表、株価の動向について調査し、重要なポイントをまとめる。""", expected_output='箇条書き形式のポイントまとめレポート', agent=researcher )

task2 = Task( description="""リサーチャーがまとめたレポートを元に、テスラ社の現状と 将来性について考察する、1000文字程度のブログ記事を作成する。 読者がワクワクするような、キャッチーなタイトルもつけてください。""", expected_output='完成されたブログ記事のテキスト(タイトル付き)', agent=writer )

# クルー(チーム)を結成してタスク実行 crew = Crew( agents=[researcher, writer], tasks=[task1, task2], verbose=2 )

# 実行! result = crew.kickoff()

print("######################")
print(result)
```
このコードを実行すると、AIたちが裏側で相談しながら(実際には情報の受け渡しをしながら)、調査から記事作成までを自動でやってくれるんです。初めて動いた時はちょっと感動しました。

もちろん、まだ完璧じゃないし、複雑なタスクには細かな調整が必要です。でも、こういう技術がもっと身近になれば、定型的な情報収集や資料作成みたいな仕事は、本当にAIチームに「丸投げ」できるようになるかもしれない。そう考えると、僕らがやるべきことは、AIにどんな「目的」を与えるか、どんなチームを組ませるか、といった、より創造的で戦略的な部分になっていくはずです。このサイトで学べるような、AIの特性を理解して的確な指示を出すプロンプトの技術は、こういう未来の働き方を実現するための、めちゃくちゃ重要な基礎体力になるんだろうなと、改めて感じています。僕もこのサイトで学びながら、もっと色々なAIエージェントを試して、未来の働き方を先取りしていきたいですね。