BabyAGIとは

執筆者

Ivan Belcic

Staff writer

Cole Stryker

Staff Editor, AI Models

IBM Think

BabyAGIは、ユーザーが指定した目的に基づいて一連のタスクを生成および実行するように設計された自律エージェント・フレームワークです。2023年にYohei Nakajima氏によって公開されたBabyAGIは、大規模言語モデル(LLM)とベクトル・メモリ・ストアを使用して、タスクの作成、実行、優先順位付けのループを調整します。

標準的な実装は、APIを介したOpenAIのGPTモデル、メモリ用のベクトル・データベース(通常はPinecone)、およびAIエージェント・ロールを構成するためのLangChainエージェント・フレームワークを使用するPythonスクリプトです。ベクトル・データベースは、結果をコンテキスト検索に使用される埋め込みとして記録しますが、LLMはエージェントの推論とタスク・ロジックを強化します。1

自律型AIエージェントであるBabyAGIは、完了したタスクの結果を使用して新しいタスクに情報を供給し、タスク・リストの優先順位を変更し、サブタスクを実行することで継続的に反復します。このプロセスは、タスク・キューがすべて実行されるか、停止条件に達するまで継続されます。

BabyAGIの仕組み

BabyAGIは、繰り返し実行される3段階のAIワークフローを使用します。

  1. タスクの実行: 実行エージェントは、ベクトル・データベースからのコンテキストと高レベルの目標をガイダンスとして使用してタスクを実行します。

  2. タスクの作成:実行されたタスクの結果に基づいて、タスク作成エージェントは当初の目的に沿ったフォローアップ・タスクを生成します。

  3. タスクの優先順位付け:優先順位付けエージェントは、新しいタスクを含むすべての未解決タスクを、依存関係とゴールとの関連性に基づいて並べ替えます。

タスクがなくなるか、別の終了条件が満たされるまで、ループを繰り返します。

BabyAGIの主な機能

BabyAGIは、連携して自動タスク生成、優先順位付け、実行を促進する複数のコア・アーキテクチャー・モジュールで構成されています。これらのコンポーネントには次のものが含まれます。

  • LLM
     

  • ベクトル・データベース

  • タスク・リスト

  • タスク実行エージェント

  • タスク作成エージェント

  • タスクの優先順位付けエージェント

LLM

BabyAGIのLLMコンポーネントは、エージェント・システムの中央オーケストレーターです。この人工知能(AI)モデルは、高レベルのディレクターとして機能し、ユーザーのプロンプトを受け取り、自然言語処理(NLP)を使用して評価し、目標を特定します。また、タスクを作成、実行、優先順位付けするエージェントも強化できます。

BabyAGIは通常、OpenAIのGPT-4を使用します。BabyAGIシステムの3つのエージェントは、正確なプロンプト・エンジニアリングを使用して、エージェントの役割におけるGPT-4の動作をガイドします。

ベクトル・データベース

BabyAGIのベクトル・データベース・コンポーネントは、完了したタスクの記録と結果を保管し、エージェントのメモリーでもあります。BabyAGIは、最初のタスクの結果を使用して2番目のタスクに情報を与え、このプロセスを繰り返してタスク・リストを消化します。

ベクトル・データベースは、埋め込みと呼ばれる数学的表現としてデータを保管します。高次元ベクトル空間内で互いに近いデータ・ポイントは、より意味的に類似していると見なされます。BabyAGIはセマンティック検索を使用してデータベース内の関連情報を検索します。

正規の実装ではPineconeを使用しますが、MetaのFacebook AI Similarity Search(FAISS)やChromaなどの代替ベクトル・ストアがバリアントやフォークで使用されることもあります。FAISSとChromaはオープンソースですが、Pineconeは多くのOpenAI製品と同様にオープンソースではありません。

タスク・リスト

タスク・リストまたはキューは、高レベルの目標と初期タスクから生じる優先順位付けされたサブタスクのリストです。タスク実行エージェントがタスクを完了すると、その結果がベクトル・データベースにアップロードされます。これらのタスクの結果に基づいて、優先順位の調整や新しいタスクの追加に応じて、タスク・リストを変更することができます。

タスク実行エージェント

タスク実行エージェントは、LLMとベクトル・データベース内のデータを使用して、タスク・リスト内のタスクを実行します。データベース内の関連情報を見つけるために、セマンティック検索技術が使用されます。タスクが完了すると、システムは新しい埋め込みを作成し、データベースにレコードを保管します。

タスク作成エージェント

タスク作成エージェントは、高レベルの目標と前のタスクの成果を使用して、ワークフロー内の次のタスクを生成します。所定のワークフローに基づいて作業するのではなく、継続的なタスク生成プロセスにより、システムは過去の成果を反復し、動的に学習することができます。

タスクの優先順位付けエージェント

タスクの優先順位付けエージェントは、タスク・リストを定期的に再順序付けして整理することにより、タスク管理を処理します。その仕事は、以前のタスクの成果と、新しいタスクが高レベルの目標にどのように関連するかに基づいてサブタスクに優先順位を付けることです。優先順位付けエージェントは、タスク間の依存関係、つまりあるタスクが別のタスクの作業前に完了する必要がある場合など、タスク間の依存関係も考慮します。

AIエージェント

AIエージェントの5つのタイプ:自律機能と実世界アプリケーション

目標主導型でユーティリティーベースのAIがワークフローや複雑な環境にどのように適応するかをご覧ください。

BabyAGIの使用方法

BabyAGIはPythonライブラリーで、使用するにはPythonコーディングの知識が必要です。ただし、セットアップ・プロセスは比較的合理化されています。

  1. PythonとGitをインストールします。github.comからBabyAGI GitHubリポジトリーをダウンロードします。

  2. BabyAGIでディレクトリーを開き、pip installコマンドを使用してすべての依存関係をインストールします。

  3. .envファイルを作成し、envのサンプル・ファイルをそこにコピーします。

  4. .envファイルにOpenAI APIキーとPinecone APIキーを追加します。必要であれば、まずOpenAIのアカウントを作成し、APIキーを取得します。

  5. OBJECTIVE値を変更して目標を定義します。次に、最初のタスクを指定します。

  6. .envファイルを保存して閉じます。
     

  7. コマンド「python babyagi.py」を入力して、エージェントを実行します。

BabyAGIのユースケース

BabyAGIは、主流のエージェント型AIでの使用に適した製品レベルのアプリケーションではなく、教育用のサンドボックスです。機械学習(ML)やエージェント型AIの愛好家は、BabyAGIを使用して、自律的なタスク・エージェントやLLMによる思考連鎖推論を探求しています。

BabyAGIとAutoGPTの比較

BabyAGIは、LLM上に構築された自律エージェント用の別のオープンソース・フレームワークであるAutoGPTとよく比較されます。どちらも、LLMとメモリーおよびツール使用を組み合わせることで、複数のステップ目標を自動化するように設計されたAIツールです。

BabyAGIは、短期および長期記憶用のベクトル・データベースを使用して、タスクを作成、実行、再優先順位付けするコンパクトなループを実行します。AutoGPTは、目標の分解、ツールの統合、外部APIの使用のための機能が豊富なフレームワークを提供します。

BabyAGIは調査ツールやサンドボックスとして最適ですが、AutoGPTは大規模なタスクを自動化できます。

BabyAGIは汎用人工知能(AGI)か

その名称にもかかわらず、BabyAGIは汎用人工知能(AGI)の一例ではありません。AGIは、人間レベルの思考能力と推論能力を持つ仮想AIです。今日までに、AGIはまだ理論上の概念に過ぎません。BabyAGIを含め、これほど高度なレベルに達したAIアプリケーションはありません。

他の多くの生成AIアプリケーションの例と同様に、BabyAGIは高度な統計モデリングを使用して、特定のインプットに対して最も可能性の高い結果を予測します。人間のように理解し、学び、考察することはできません。

BabyAGI 2とは

2024年、Nakajima氏は、関数とその関連メタデータを保管するfunctionzフレームワークを使用する実験的なバリアントであるBabyAGI 2を導入しました。エージェントは、自ら構築するときにメタデータを使用して関数を読み込み、実行し、更新できます。

関連ソリューション
IBMのAIエージェント開発

開発者が、IBM watsonx.aiを使用してAIエージェントの構築、デプロイ、および監視を行えるようにします。

 

watsonx.aiの詳細はこちら
人工知能ソリューション

業界をリードするIBMのAI専門知識とソリューション製品群を使用すれば、ビジネスにAIを活用できます。

AIソリューションはこちら
AIコンサルティングとサービス

AIの導入で重要なワークフローと業務を再構築し、エクスペリエンス、リアルタイムの意思決定とビジネス価値を最大化します。

AIサービスはこちら
次のステップ

事前構築済みのアプリケーションとスキルをカスタマイズする場合でも、AIスタジオを使用してカスタム・エージェント・サービスを構築し、デプロイする場合でも、IBM watsonxプラットフォームが対応します。

  1. watsonx Orchestrateの詳細はこちら
  2. watsonx.aiの詳細はこちら