【AI駆動開発】自動でアプリ開発!GPT Engineerの威力

GPT Engineerを使ってアプリ開発を自動化する試みと、その結果から得られたChatGPT活用の解説記事を見つけたので、整理しておく。

生成AIを使った開発の自動化に、一歩一歩近づいている。

www.creationline.com

GPT Engineerとは?

GPT Engineerは、ChatGPTを利用してアプリ開発を自動化するツールです。作りたいアプリの仕様を伝えるだけで、GPT EngineerがChatGPTと対話しながらコードを生成し、動作するアプリを作成します。

ChatGPT、Auto-GPTとの比較

機能 ChatGPT Auto-GPT GPT Engineer
用途 汎用 タスク遂行 アプリ開発
特徴 何でも対応 目的を与えると手順を考え実行 仕様を伝えるとアプリを作成
人間の介入 質問・依頼 手順の軌道修正 仕様の確認のみ
インストール 不要 ローカルPC ローカルPC

GPT Engineerの実力検証

  1. マルバツゲーム
    簡単なマルバツゲームの仕様を記述したところ、わずか1分で完全に動作するアプリが生成されました。Auto-GPTで同じことを試した際には11分かかり、バグ修正も必要でしたが、GPT Engineerは修正なしで完璧なアプリを作成しました。
  2. プロフィール共有システム
    より複雑なプロフィール共有システムのバックエンド開発を試した結果、こちらも約1分でコードが生成されました。いくつかのバグはありましたが、1時間程度の修正で動作する状態にできました。ChatGPTで同様のシステムを開発した際には20時間かかっており、GPT Engineerの圧倒的な効率性が証明されました。

GPT Engineerの凄さの秘密

  • 詳細な指示: ChatGPTが曖昧な回答をしたり、重要な部分を省略したりするのを防ぐための指示が組み込まれています。
  • ファイル構成の指定: コードを複数のファイルに適切に分割し、ファイル間の整合性を保つように指示しています。
  • エラー防止: 必要なimport文や依存関係の定義を忘れずに生成するように指示しています。
  • 質疑応答: 仕様の不明点について、ChatGPTが人間に質問するように指示し、その回答に基づいてコードを生成します。

これらの工夫により、ChatGPTの弱点を克服し、高品質なコードを自動生成することを可能にしています。

GPT Engineerの課題

  • 軌道修正: 仕様を伝えたら後は自動でコードが生成されるため、途中で軌道修正することができません。
  • トークン数制限: 複雑なアプリを作成しようとすると、ChatGPTが処理できるトークン数を超えてエラーになることがあります。
  • 質問の無視: 仕様の確認段階で複数の質問がある場合、最初の質問に答えると残りの質問が忘れられることがあります。

ChatGPT活用の真髄

GPT Engineerの成功は、「ChatGPTを使いこなせていなかった」という問題点を浮き彫りにしました。GPT Engineerのプロンプトのように、ChatGPTの弱点を理解し、それを補うような指示を与えることで、ChatGPTの能力を最大限に引き出すことができます。

まとめ

GPT Engineerは、アプリ開発を自動化する強力なツールです。まだ発展途上ではありますが、今後の進化によってさらに大規模なアプリ開発にも活用できるようになる可能性があります。

そして、GPT Engineerから学んだChatGPTへの的確な指示は、アプリ開発に限らず、あらゆる分野でChatGPTを活用する際に役立つでしょう。

ChatGPTを使いこなすためには、ChatGPTの特性を理解し、的確な指示を与えることが重要です。

 

以上