はじめに
AI技術の急速な進歩に伴い、複数のAIエージェントを組み合わせて複雑なタスクを解決する「マルチエージェントシステム」が注目を集めています。本記事では、そのような次世代のAI Agent開発を簡単に行えるフレームワーク「Praison AI」について紹介します。
Praison AIとは
Praison AIは、AutoGenやCrewAIなどのエージェントフレームワークを活用した、ローコードで集中型のフレームワークです。様々なLLM(大規模言語モデル)アプリケーションのためのマルチエージェントシステムの作成とオーケストレーションを簡素化することを目的としています。
特徴:
- 使いやすさ
- カスタマイズ性
- 人間とエージェントの対話重視
AI Agentの基本概念
AI Agentとは、特定のタスクや目標を達成するために設計された自律的なAIシステムです。マルチエージェントシステムでは、複数のAI Agentが協力して作業を行います。各エージェントは特定の役割や専門知識を持ち、他のエージェントと情報を共有しながら複雑な問題を解決します。
Praison AIは、このようなAI Agentの作成と管理を容易にするフレームワークです。
Praison AIの主要機能
- 自動化されたAIエージェント作成: CrewAIやAutoGenフレームワークを使用
- 100以上のLLMサポート: 様々な言語モデルを利用可能
- コードベース全体とのチャット機能: プロジェクト全体のコードを理解し対話
- インタラクティブなUI: 使いやすいインターフェース
- YAML形式の設定: 簡単にエージェントを定義
- カスタムツール統合: 独自のツールを追加可能
Praison AIの使い方
インストール
!pip install praisonai
初期化
import os
from google.colab import userdata
os.environ['OPENAI_API_KEY'] = userdata.get('OPENAI_API_KEY')
!praisonai --init create a movie script about dog in moon
これにより、現在のディレクトリにagents.yaml
ファイルが自動生成されます。
実行
!praisonai
または
!python -m praisonai
完全自動モード
!praisonai --auto "犬が月に行く映画の脚本を作成"
Google Colabで実行したときの出力の例
ユーザーインターフェース
Praison AIは以下のインターフェースを提供しています:
- UI(マルチエージェント)
- Chat(単一AIエージェントとのチャット)
- Code(コードベース全体とのチャット)
UIを使用する場合:
pip install -U "praisonai[ui]"
export OPENAI_API_KEY="あなたのAPIキー"
chainlit create-secret
export CHAINLIT_AUTH_SECRET=xxxxxxxx
praisonai ui
カスタムツールとエージェントプレイブック
カスタムツールの作成
Praison AIでは、独自のツールを作成して統合することができます。詳細は公式ドキュメントを参照してください。
エージェントプレイブック
エージェントの役割や動作を定義するYAMLファイルを「プレイブック」と呼びます。以下は簡単な例です:
framework: crewai
topic: 犬が月に行く映画の脚本を作成
roles:
screenwriter:
backstory: "AIに関する台本を魅力的な対話で作成するスキルを持つ。"
goal: "{topic}の脚本を作成する。"
role: 脚本家
tasks:
scriptwriting_task:
description: "AIに関する魅力的なキャラクターと対話を含む脚本を開発する。"
expected_output: "制作準備が整った完全な脚本。"
項目 | 値 |
---|---|
フレームワーク | crewai |
トピック | 犬が月に行く映画の脚本を作成 |
役割 | 脚本家 |
バックストーリー | AIに関する台本を魅力的な対話で作成するスキルを持つ。 |
目標 | {topic}の脚本を作成する。 |
タスク名 | scriptwriting_task |
タスク説明 | AIに関する魅力的なキャラクターと対話を含む脚本を開発する。 |
期待される出力 | 制作準備が整った完全な脚本。 |
設定を変更して実行しているコードの例
import os
import yaml
from praisonai import PraisonAI
from google.colab import userdata
# Example agent_yaml content
agent_yaml = """
framework: crewai
topic: 犬が月に行く映画の脚本を作成
roles:
screenwriter:
backstory: "AIに関する台本を魅力的な対話で作成するスキルを持つ。"
goal: "{topic}の脚本を作成する。"
role: 脚本家
tasks:
scriptwriting_task:
description: "AIに関する魅力的なキャラクターと対話を含む脚本を開発する。"
expected_output: "制作準備が整った完全な脚本。"
"""
# Create a PraisonAI instance with the agent_yaml content
praisonai = PraisonAI(agent_yaml=agent_yaml)
# Add OPENAI_API_KEY Secrets to Google Colab on the Left Hand Side 🔑 or Enter Manually Below
os.environ["OPENAI_API_KEY"] = userdata.get('OPENAI_API_KEY') or "ENTER OPENAI_API_KEY HERE"
# Run PraisonAI
result = praisonai.run()
# Print the result
print(result)
Google Colabでの実行例
出力結果
Entering new CrewAgentExecutor chain...
Thought: I now can give a great answer
Final Answer: my best complete final answer to the task.
タイトル: 犬とAIの月への冒険
シーン 1: 地球 - 宇宙研究所
(室内、宇宙研究所のラボ。科学者たちが忙しく働いている。)
博士(Dr. Yamazaki): (興奮して)ついに完成だ!このAI、ルナは犬のアポロをサポートして月に行くために設計されたんだ。
助手(Asuka): 本当に犬が月に行ける日が来るなんて、信じられません。ルナはどの程度のサポートができるんですか?
ルナ(AI): こんにちは、アスカ。私はアポロの健康管理、ナビゲーション、通信などを全てサポートします。
アポロ(犬): (尻尾を振りながら)ワン!
博士(Dr. Yamazaki): さあ、アポロ、準備はいいかい?月への旅が君を待っているぞ。
アポロ(犬): (自信満々に)ワン!
シーン 2: 発射台
(発射台、ロケットが準備されている。アポロとルナはカプセル内に乗り込んでいる。)
ルナ(AI): 発射まであと10秒です。アポロ、緊張しないで。私がついています。
アポロ(犬): (少し緊張しながら)ワン...
管制官(Mission Control): 発射5秒前、4、3、2、1... 発射!
(ロケットが発射し、空へと飛び立つ。)
シーン 3: 宇宙 - ロケット内部
(宇宙空間、アポロとルナが地球を見下ろしている。)
ルナ(AI): 見て、アポロ。あれが地球だよ。美しいね。
アポロ(犬): (窓の外を見て、興味津々)ワン!
ルナ(AI): 月までの旅は順調です。何か気になることがあったら教えてね。
アポロ(犬): ワン!(しっぽを振る)
シーン 4: 月面着陸
(月面、ロケットが静かに着陸する。)
ルナ(AI): 着陸成功です。アポロ、外に出てみましょうか。
アポロ(犬): (興奮して)ワン!ワン!
(アポロは宇宙服を着て、月面に降り立つ。)
シーン 5: 月面探査
(月面、アポロが走り回りながら探索している。)
ルナ(AI): アポロ、あまり遠くへ行かないでね。ここには地球にはない景色がたくさんあるから、気を付けて。
アポロ(犬): (楽しそうに)ワン!ワン!
(アポロは月の石を見つけ、興味深げに匂いを嗅ぐ。)
ルナ(AI): あれは月の石だね。とても貴重なものだよ。
シーン 6: 帰還
(月面からロケットに戻り、再び地球へ向けて出発する。)
ルナ(AI): アポロ、君は本当に素晴らしい探検家だったね。地球に戻ったら、みんなに君の冒険を話してあげよう。
アポロ(犬): (満足そうに)ワン!
シーン 7: 地球 - 宇宙研究所
(地球、研究所に帰還したアポロとルナ。)
博士(Dr. Yamazaki): よくやった、アポロ!君のおかげで新しい発見ができたよ。
助手(Asuka): ルナも素晴らしいサポートをありがとう!
ルナ(AI): 皆さんのおかげです。アポロ、またいつか新しい冒険に出かけようね。
アポロ(犬): (喜んで)ワン!
(アポロがルナと一緒に研究所を歩いていくシーンで終わる。)
終わり
Final Answer: my best complete final answer to the task.
まとめ
Praison AIは、AI Agentの開発と運用を大幅に簡素化する強力なフレームワークです。多様なLLMのサポート、使いやすいインターフェース、カスタマイズ性の高さなど、多くの利点を持っています。AI技術者やデベロッパーにとって、複雑なAIシステムを構築する際の強力なツールとなるでしょう。
Praison AIを使って、あなたも革新的なAIアプリケーションの開発を始めてみませんか?
参考リンク
- Praison AI公式ドキュメント
-
Praison AI GitHub
GitHubには、Google Colabで簡単に動作確認ができるサンプルのノートブックがあります。
この記事がPraison AIとAI Agentについて理解する助けになれば幸いです。