前言#
本文は、Auto-GPT の概要と実装原理について簡単に説明します。インストールや使用方法、API キーの取得には触れません。
正文#
一、Auto-GPT とは#
公式プロジェクトの説明は次のようになっています:Auto-GPT は、GPT-4 言語モデルの機能を示す実験的なオープンソースアプリケーションです。このプログラムは、GPT-4 によって駆動され、LLM の「思考」を連鎖させて、設定した目標を自律的に達成します。GPT-4 が完全に自律して実行される最初の例の 1 つとして、Auto-GPT は AI で可能なことの限界を押し広げます。
簡単に言えば、自動実行でユーザーの目標を達成します。
二、Auto-GPT の特徴#
公式の定義を直接示します。
🌐 検索と情報収集のためのインターネットアクセス
💾 長期および短期メモリ管理
🧠 テキスト生成のための GPT-4 インスタンス
🔗 人気のあるウェブサイトやプラットフォームへのアクセス
🗃️ ファイルの保存と要約(GPT-3.5 を使用)
🔌 プラグインによる拡張性
三、Auto-GPT の原理#
原理を説明する前に、Auto-GPT の使用に必要な情報について説明する必要があります。実行時に、プログラムはユーザーに 3 つの変数を設定するように求めます:ロボットの名前(ai_name)、ロボットの役割(ai_role)、および達成したい目標(ai_goals)。これらの 3 つの変数に基づいて、プログラムは自動的に ai_goals を達成します。
では、どのように自動実行するのでしょうか?Promptを利用します!論理的には次のようになります:
ユーザーが目標を提示し、GPT-4 に目標を分解してもらい、いくつかの小目標と次のステップの目標を得ます。小目標を保存し、次のステップの目標を再び GPT-4 に投げることで、目標を分解し実行計画を持つことができます。これにより、目標を分解し、連続した実行フローを実現することができます。
これは、論理的に考えられる手順ですが、詳細はたくさんあります。Auto-GPT はこの点で非常に優れており、プロジェクトディレクトリのautogpt
フォルダ内のpromptgenerator.py
ファイルとprompt.py
ファイルに Prompt 関連のコードがあります。
たとえば、まず GPT-4 にルールを設定し、応答形式、実行可能な操作、使用できるリソースなどを定義します:
# Add constraints to the PromptGenerator object
prompt_generator.add_constraint(
"~4000 word limit for short term memory. Your short term memory is short, so"
" immediately save important information to files."
)
prompt_generator.add_constraint(
"If you are unsure how you previously did something or want to recall past"
" events, thinking about similar events will help you remember."
)
prompt_generator.add_constraint("No user assistance")
prompt_generator.add_constraint(
'Exclusively use the commands listed in double quotes e.g. "command name"'
)
prompt_generator.add_constraint(
"Use subprocesses for commands that will not terminate within a few minutes"
)
# Define the command list
...
# Add resources to the PromptGenerator object
prompt_generator.add_resource(
"Internet access for searches and information gathering."
)
prompt_generator.add_resource("Long Term memory management.")
prompt_generator.add_resource(
"GPT-3.5 powered Agents for delegation of simple tasks."
)
prompt_generator.add_resource("File output.")
# Add performance evaluations to the PromptGenerator object
prompt_generator.add_performance_evaluation(
"Continuously review and analyze your actions to ensure you are performing to"
" the best of your abilities."
)
prompt_generator.add_performance_evaluation(
"Constructively self-criticize your big-picture behavior constantly."
)
prompt_generator.add_performance_evaluation(
"Reflect on past decisions and strategies to refine your approach."
)
prompt_generator.add_performance_evaluation(
"Every command has a cost, so be smart and efficient. Aim to complete tasks in"
" the least number of steps."
)
このような Prompt があることで、GPT-4 は要件を満たす情報を出力できます。
四、GUI インターフェースと日本語化#
Auto-GPT はターミナルで表示されるプログラムですが、一般のユーザーは GUI インターフェースで簡単に操作したいと思うかもしれません。また、日本語版もサポートする必要があります。
これらは関連プロジェクトで実現できます。たとえば、GUI プロジェクトは、Node.js 環境と Python 環境が必要です。
ここで注意する点は、このプロジェクトは現在さらなるメンテナンスが行われておらず、まだ v1 版の Auto-GPT を使用しています。現在の Auto-GPT は v2 版ですが、それぞれの実行コマンドが異なります。関連するコードは、プロジェクトディレクトリのapps\frontend\src\hooks
フォルダ内のuseAutoGPTStarter.ts
ファイルにあります。useAutoGPTStarter
関数のcommand
変数を変更し、v1 版 Auto-GPT の実行コマンドをpython scripts/main.py
に、v2 版の実行コマンドをpython -m autogpt
に設定します。
Auto-GPT の日本語版はこのプロジェクトを使用することができます。公式プロジェクトと同期しています。
五、まとめ#
AutoGPT を基に、将来的には多くの興味深いかつ有用な作業を達成することができます。以下はいくつかの展望です:
1. より効率的な自然言語処理:AutoGPT は、モデルの自動選択とハイパーパラメータの最適化により、自然言語処理のタスクの効率とパフォーマンスを向上させることができます。
2. 自動テキスト生成:AutoGPT は、記事、要約、対話などのテキスト生成を自動化し、人間にさらに多くのテキストリソースを提供することができます。
3. 自動コード生成:AutoGPT は既存のコードライブラリを学習し、コードを自動生成することでソフトウェア開発の効率を向上させることができます。
4. 自動音声認識と生成:AutoGPT は音声認識と生成に使用することができ、音声パターンと音声特徴を学習して音声コンテンツを自動生成します。
5. 自動機械翻訳:AutoGPT は機械翻訳に使用することができ、異なる言語間のマッピング関係を学習してテキストコンテンツを自動翻訳します。
以上は ChatGPT が提案した展望です😅。私としては、現時点では Auto-GPT はまだ初期段階であり、実行フローが完全ではなく、インターネットへのアクセス能力も十分ではありません。そのため、開発者は Plugin の機能を追加しました。詳細はプロジェクトをご覧ください。開発の進展とともに、まもなくアイアンマンのジャービスは漫画ではなくなるでしょう👀。
最後に言いたいのは、ChatGPT はマイルストーンです。それがどれほど無敵であるかではなく、インターネットの台頭と同様の社会的変革をもたらすことができるからです。それは人々の生活習慣を永久に変えるでしょう。
私は、1990 年代末にビル・ゲイツが行ったインタビューを思い出します。現在の状況と非常に似ています。まだアプリケーションの領域を開発していない初期段階にあり、徐々にアプリケーションの骨組みが現れるでしょう。言葉には「人々は常に来年のことを過大評価し、10 年後のことを過小評価する」とありますが、10 年は以前の経験ですので、今では 5 年に変える必要があるかもしれません。
最後に#
参考記事#
声明#
この記事は個人の学習記録として作成されました。
この記事はHBlogと同期しています。