AIモデルとプラットフォーム

Auto-GPT & GPT-Engineer: AIエージェントの最新動向に迫るガイド

mm
Unite.AI を Google の優先ソースに追加

ChatGPTとAuto-GPTやGPT-Engineerのような自律型AIエージェントを比較すると、意思決定プロセスに大きな違いが現れる。ChatGPTは、ユーザーのプロンプトに基づいて会話を進めるために、人間の積極的な関与を必要とするのに対し、自律型AIエージェントは、人間の介入なしにタスクを独立して実行できる。

自律型エージェントのオープンソースルーツ: Auto-GPTとGPT-Engineer

多くの自律型AIエージェントは、革新的な個人によって率いられるオープンソースの取り組みから生まれている。これらのエージェントは、単に提案を提供するのではなく、オンラインショッピングから基本的なアプリの構築まで、さまざまなタスクを独立して実行できる。OpenAIのコードインタープリターは、ChatGPTをアイデアの提案から問題の解決までアップグレードすることを目的としている。

Auto-GPTとGPT-Engineerは、GPT 3.5とGPT-4の力を備えている。これらは、コードの論理を理解し、複数のファイルを組み合わせ、開発プロセスを高速化することができる。

Auto-GPTの機能の核心は、AIエージェントにある。これらのエージェントは、ユーザーが設定した境界内で、スケジューリングのような単純なタスクから、戦略的な意思決定を必要とする複雑なタスクまで、さまざまなタスクを実行するようにプログラムされている。

例えば、ChatGPTを統合したチャットウェブアプリを構築するようにAuto-GPTに依頼した場合、Auto-GPTは、HTMLフロントエンドの作成やPythonバックエンドのスクリプト化などの実行可能なステップに目標を分解する。Auto-GPTはこれらのプロンプトを自律的に生成するが、ユーザーはこれらのプロンプトを監視して変更することができる。

https://twitter.com/SigGravitas/status/1642181498278408193

以下の図は、自律型AIエージェントの一般的なアーキテクチャを示しており、裏側のプロセスについての貴重な洞察を提供している。

AIエージェントアーキテクチャ

AIエージェントアーキテクチャ

プロセスは、OpenAI APIキーを検証し、パラメータを初期化することから始まる。キー データがエージェントに渡されると、モデルはGPT3.5/GPT4とやり取りして応答を取得する。この応答はJSON形式に変換され、エージェントによって解釈されて、オンライン検索、ファイルの読み書き、コードの実行などのさまざまな機能を実行する。Auto-GPTは、事前トレーニングされたモデルを使用して、これらの応答をデータベースに保存し、将来のやり取りではこの保存された情報を参照する。ループは、タスクが完了するまで続く。

Auto-GPTとGPT-Engineerのセットアップガイド

GPT-EngineerやAuto-GPTのような最新のツールを設定することで、開発プロセスを合理化できる。以下は、これらのツールをインストールして設定するための構造化されたガイドである。

Auto-GPT

Auto-GPTの設定は複雑に見えるかもしれないが、正しい手順に従うと、比較的簡単になる。このガイドでは、Auto-GPTの設定手順とそのさまざまなシナリオについて説明する。

1. 前提条件:

  1. Python環境: Python 3.8以降をインストールしておく必要がある。Pythonの公式ウェブサイトからダウンロードできる。
  2. リポジトリをクローンする場合は、Gitをインストールする必要がある。
  3. OpenAI APIキー: OpenAIとやり取りするには、APIキーが必要である。OpenAIアカウントからキーを取得する。
Open AI APIキー

Open AI APIキー生成

メモリバックエンドオプション: メモリバックエンドは、AutoGPTが重要なデータにアクセスするためのストレージメカニズムとして機能する。AutoGPTは、ショートタームとロングタームの両方のストレージ機能を備えている。Pinecone、Milvus、Redisなどが利用可能なオプションである。

2. ワークスペースの設定:

  1. 仮想環境を作成する: python3 -m venv myenv
  2. 環境をアクティブにする:
    1. MacOSまたはLinux: source myenv/bin/activate

3. インストール:

  1. Auto-GPTリポジトリをクローンする(Gitがインストールされていることを確認する): git clone https://github.com/Significant-Gravitas/Auto-GPT.git
  2. Auto-GPTのバージョン0.2.2を使用するには、git checkout stable-0.2.2を実行する必要がある。
  3. ダウンロードしたリポジトリに移動する: cd Auto-GPT
  4. 必要な依存関係をインストールする: pip install -r requirements.txt

4. 構成:

  1. .env.templateファイルを/Auto-GPTディレクトリ内で見つけて、.envに名前を変更する。
  2. .envファイルを開き、OPENAI_API_KEY=の後にOpenAI APIキーを設定する。
  3. Pineconeや他のメモリバックエンドを使用する場合は、.envファイルを更新して、Pinecone APIキーとリージョンを設定する。

5. コマンドラインインストラクション:

Auto-GPTは、動作をカスタマイズするための豊富なコマンドライン引数を提供する:

  • 一般的な使用方法:
    • ヘルプの表示: python -m autogpt --help
    • AI設定の調整: python -m autogpt --ai-settings <filename>
    • メモリバックエンドの指定: python -m autogpt --use-memory <memory-backend>
AutoGPT CLI

AutoGPT CLI

6. Auto-GPTの起動:

構成が完了したら、以下のコマンドでAuto-GPTを起動する:

  • LinuxまたはMac: ./run.sh start
  • Windows: .run.bat

Docker統合(推奨設定アプローチ)

Dockerを使用すると、Auto-GPTをコンテナ化することができる。ただし、Dockerの初期設定は少し複雑になる可能性がある。Dockerのインストールガイドを参照してください。

以下の手順に従って、OpenAI APIキーを変更する:

  • Dockerイメージをビルドする: docker build -t autogpt .
  • 実行する: docker run -it --env-file=./.env -v$PWD/auto_gpt_workspace:/app/auto_gpt_workspace autogpt

docker-composeを使用する場合:

  • 実行する: docker-compose run --build --rm auto-gpt
  • 追加のカスタマイズの場合、引数を追加することができる。例えば、--gpt3only--continuousを実行する場合: docker-compose run --rm auto-gpt --gpt3only--continuous
  • Auto-GPTは、大きなデータセットからコンテンツを生成する能力を持っているため、悪意のあるウェブソースにアクセスするリスクがある。

リスクを軽減するために、Auto-GPTを仮想コンテナ内で実行することが重要である。これにより、仮想空間内で悪意のあるコンテンツが隔離され、外部のファイルやシステムが影響を受けない。

セキュリティのため、常に仮想環境内でAuto-GPTを実行し、システムが予期せぬ出力から保護されるようにすることが重要である。

これらの手順に従うと、Auto-GPTを正常に設定できるはずである。しかし、Auto-GPTのユーザーは、ファイルへの書き込みを試みたときに、たびたび問題に遭遇したと報告している。これは、ファイル名に問題があることが原因であることが多い。以下は、エラーの例である:

Auto-GPT (リリース 0.2.2) は、エラー "write_to_file returned: Error: ファイルは既に更新されています" の後にテキストを追加しません

この問題に対する解決策は、関連するGitHubスレッドで議論されている。

GPT-Engineer

GPT-Engineerのワークフロー:

  1. プロンプトの定義: プロジェクトについて詳細な説明を自然言語で書く。
  2. コードの生成: プロンプトに基づいて、GPT-Engineerはコードのスニペット、関数、または完全なアプリケーションを生成する。
  3. 改良と最適化: 生成されたコードを、特定の要件に合わせて修正して、最高の品質を確保する。

GPT-Engineerの設定プロセスは、簡単に従えるガイドに凝縮されている。以下は、ステップバイステップの説明である:

1. 環境の準備: プロジェクトディレクトリを用意する前に、ターミナルで以下のコマンドを実行する:

  • ディレクトリ「website」を作成する: mkdir website
  • ディレクトリに移動する: cd website

2. リポジトリのクローン: git clone https://github.com/AntonOsika/gpt-engineer.git .

3. 移動して依存関係をインストール: クローンした後、ディレクトリに移動して、make installを実行する。

4. 仮想環境のアクティブ化: 仮想環境をアクティブ化する:

  • macOS/Linuxの場合: source venv/bin/activate
  • Windowsの場合: set OPENAI_API_KEY=[your api key]

5. APIキー設定: OpenAIとやり取りするには、APIキーが必要である。まだキーを持っていない場合は、OpenAIプラットフォームにサインアップして、以下のように設定する:

  • macOS/Linuxの場合: export OPENAI_API_KEY=[your api key]
  • Windowsの場合: set OPENAI_API_KEY=[your api key]

6. プロジェクトの初期化とコードの生成: GPT-Engineerの魔法は、main_promptファイルから始まる。プロジェクトフォルダ内のprojectsフォルダ内にこのファイルがある。

  • 新しいプロジェクトを開始する: cp -r projects/example/ projects/website

ここで、「website」を自分のプロジェクト名に置き換える。

  • テキストエディタでmain_promptファイルを編集し、プロジェクトの要件を書く。

  • プロンプトに満足したら、実行する: gpt-engineer projects/website

生成されたコードは、プロジェクトフォルダ内のworkspaceディレクトリ内に存在する。

7. 生成後: GPT-Engineerは強力であるが、常に完璧ではない。生成されたコードを確認し、必要に応じて手動で変更し、すべてが正常に実行されることを確認する。

実行例

プロンプト:

「PythonでStreamlitアプリを作成し、ユーザーデータをインタラクティブなチャートで視覚化したい。アプリは、CSVファイルのアップロード、チャートの種類(例:バー、パイ、ライン)の選択、データの動的な視覚化を可能にする。Pandasを使用してデータを操作し、Plotlyを使用して視覚化する。」

GPT-Engineerの設定と実行

GPT-Engineerの設定と実行

Auto-GPTと同様に、GPT-Engineerも完全に設定した後でも、エラーに遭遇することがある。しかし、3回目の試行で、以下のStreamlitウェブページにアクセスすることができた。エラーについては、GPT-Engineerリポジトリの問題ページを参照する。

GPT-Engineerによって生成されたStreamlitアプリ

GPT-Engineerによって生成されたStreamlitアプリ

AIエージェントの現在のボトルネック

運用費用

Auto-GPTによって実行される単一のタスクは、複数のステップを伴うことがある。重要なのは、これらの各ステップが個別に請求される可能性があることである。Auto-GPTは、繰り返しのループに陥り、約束された成果を提供できない可能性がある。これらの発生は、信頼性を損ない、投資を損なう。

例えば、Auto-GPTを使用して短いエッセイを作成したいとします。エッセイの理想的な長さは8Kトークンですが、作成プロセス中に、モデルは中間ステップを複数回実行してコンテンツを完成させる可能性があります。GPT-4を使用して8Kコンテキスト長の入力の場合、請求額は$0.03となり、出力の場合、$0.06となります。モデルが予期せぬループに陥った場合、プロセスは長くなるだけでなく、各繰り返しでコストが加算される可能性があります。

これを防ぐために:
使用制限を設定する: OpenAIの請求と制限で:

  • ハード制限: 設定したしきい値を超える使用を制限する。
  • ソフト制限: しきい値に達したときに電子メールアラートを送信する。

機能制限

Auto-GPTの機能は、ソースコードに示されているように、特定の境界を持っている。問題解決戦略は、内在的な機能とGPT-4のAPIによって提供されるアクセシビリティによって規定される。詳細な議論と可能な回避策については、Auto-GPTディスカッションを参照する。

AIの労働市場への影響

AIと労働市場の関係は、常に変化している。この関係は、この研究論文で詳細に記述されている。重要な点は、技術の進歩は、熟練した労働者に利益をもたらす一方で、ルーチンワークに従事する人々にリスクをもたらす可能性がある。実際、技術の進歩は、特定のタスクを置き換える可能性がある一方で、多様な労働集約型タスクの道を開く。

AI労働市場 自律型エージェント

アメリカ人の労働者の約80%は、LLM(言語学習モデル)が1日のタスクの約10%に影響を与える可能性がある。この統計は、AIと人間の役割の融合を強調している。

AIの労働市場への二面的な役割:

  • 正の側面: AIは、カスタマーサポートから財務アドバイスまで、多くのタスクを自動化することができ、小規模企業が専門チームを雇用することなく、負担を軽減することができる。
  • 懸念: 自動化の利点は、特に人間の関与が重要な分野での仕事の喪失の可能性について懸念を引き起こす。さらに、AIが機密情報にアクセスすることに関連する倫理的な問題もある。これには、透明性、説明責任、AIの倫理的な使用を確保するための強力な基盤が必要である。

結論

明らかに、ChatGPT、Auto-GPT、GPT-Engineerのようなツールは、技術とユーザーの関係を再定義する最前線に立っている。これらの自律型AIエージェントは、オープンソース運動に根ざしており、スケジューリングからソフトウェア開発まで、タスクの合理化を実現している。

AIが私たちの日常生活にさらに深く浸透する未来に突入するにつれて、AIの能力を活用し、人間の役割を保護するバランスを取ることが重要になる。より広い視点から見ると、AIと労働市場の関係は、成長の機会と課題の両方を示唆しており、技術倫理と透明性の意識的な統合を必要とする。

私は過去5年間、機械学習とディープラーニングの魅力的世界に没頭してきました。私の情熱と専門知識は、AI/MLに特に焦点を当てた50以上の多様なソフトウェアエンジニアリングプロジェクトに貢献することになりました。私の継続的な好奇心は、自然言語処理という分野にも私を引き付け、さらに探求したいと思っています。