見出し画像

AutoGPTにプログラムを作成させてみる

AutoGPTはLLMによって駆動され設定した目標を自律的に達成することができるアプリケーションです。

これを利用して簡単なプログラムを自動的に作成させてみます。

準備

AutoGPTをセットアップ

こちらを参考にセットアップしました。 

(2023年4月30日 追記:公式ドキュメントできたみたいです)

AIはWin11 WSL2 Ubuntu 上のDocker環境で実行しました。
AIが私のコンピューター上で任意のコマンドを実行できてしまい、セキュリティ的に少し怖いので、 dockerコンテナの中でのみ作業させるようにします。

auto_gpt_workspaceをマウント

AIのファイル操作は「/home/appuser/auto_gpt_workspace」フォルダで行われるので、ホストOSからファイル操作が見やすいようにdocker-compose.ymlを編集しておきます。

volumes:
  - "./auto_gpt_workspace:/home/appuser/auto_gpt_workspace"

プログラムの自動作成

セットアップ

Auto-GPTを開始します。

$ sudo docker compose run auto-gpt

aiの名前を聞かれるので、「fizzbuzz」という名前にします。

名前を入力

次にAIの役割を説明します。

役割を入力。(日本語で応答はしてくれない ^^;)

aiのゴールを入力します。5つまで指定できますが、今回は以下の1つだけ指定しました。

  • fizzbuzz.pyというファイルを作成し、Fizzbuzz問題を解決するPythonプログラムを記述する

ゴールを入力

すると、AutoGPTとのセッションが始まります。

Pythonファイルの作成

ここからが大変です。「NEXT ACTION: COMMAND = do_nothing」とあるので、次に何をすれば良いのか分からないようです。

ネクストアクション:do_nothing

いろいろなフィードバックをして、AIが自発的にpythonファイルを書き込むように誘導します。

まず、PLANの1つ目をそのままフィードバックしてみます。

ダメでした。「NEXT ACTION: COMMAND = do_nothing」のままです。

次に、日本語でやるべき作業を直接指定してみます。
「Pythonコードを作成し、fuzzbuzz.pyというファイルに保存してください。」

今度はよさそうです。「NEXT ACTION: COMMAND = write_to_file ARGUMENTS = {'file': 'fizzbuzz.py', 'text': "for i in range(…」となり、 pythonコードをファイルに書き込もうとしているのがわかります。

そのとおりにコマンドを実行してもらいたいのでyを入力。

「SYSTEM: Command write_to_file returned: File written to successfully.」とあり、ファイル書き込みに成功しました。
ファイルもちゃんと作成されています。

Pythonの実行

次のコマンドは「NEXT ACTION: COMMAND = execute_python_file ARGUMENTS = {'file': 'fizzbuzz.py'}」となっていて、作成したpythonファイルを実行しようとしています。

それでよいので、yを入力。

SYSTEMにfizzbuzz実行結果が表示される

pythonファイルが実行されfizzbuzzが出力されました。

さらにセッションは続きますが…

nextアクション

これ以上やることはないのでnを入力して終了。

nを入力

おしまい!

おまけ:開発状況

2023年4月24日現在、プルリクが約250個開いていました。一日に20件マージしても、2週間はかかりそうです。直近2週間は頻繁に更新され続けるということですね。
これだけプルリクが溜まっていると、他にも似たようなことを考える人がいるようです。docker-composeにAIの作業フォルダをマウントするプルリク送ろうと思いましたが既に存在しました。


この記事が気に入ったらサポートをしてみませんか?