ブラウン大学と大連理工大学による新しい研究によって、OpenAIのChatGPTのような生成AIを用いることで、機械が人間に頼ることなくソフトウェア開発会社を効果的かつ安価に経営できることが示唆された。
この発見は、先日、同様に大規模言語モデルを用いることでAIエージェントが仮想都市運営を行う事が可能であることを示した研究に続くAIの可能性を示す物である。
研究者らは、ChatGPT(GPT-3.5)を使って、追加のトレーニングなしにコンピュータープログラムがソフトウェアを作成できるかどうかを確かめたかった。これをテストするために、彼らはChatDevという架空のソフトウェア会社を作り、タスクを4つのパート(計画、コーディング、テスト、指示書の作成)に振り分けた。
そして、コンピューター・プログラムに「重要な情報」を与えて、何をすべきかを指示した。この情報には、どのようなタスクをこなすべきか、どのようにコミュニケーションをとるべきか、いつまでに終わらせるべきか、ルールなどの指示が含まれていた。それぞれの仕事を振り分けられたAIはは特定の仕事を担当した。あるものは「企画」のセクションで「CEO」や「CTO」であり、あるものは「コードを書く」セクションで「プログラマー」や「アートデザイナー」であった。彼らは、プログラミング言語の選択からコードのエラーの検出まで、ソフトウェアを完成させるために、人間の手をあまり借りずに互いにコミュニケーションを取ったのだ。
ChatDev:24時間働き続ける会社
科学者たちは、さまざまなタイプのソフトウェアで実験を行い、ChatDevがそれぞれのソフトウェアを完成させるのに要した時間とそのコストを記録した。
例えば、彼らはChatDevに「簡単なバックギャモンゲームを作ってくれ」と頼んだ。計画段階でCEOはCTOにプログラミング言語の推薦を依頼し、CTOはPythonを推薦した。CEOは、Pythonは初心者にも熟練プログラマーにも使いやすいので、これは賢明な判断だったと述べた。CTOはプログラマーにファイルを作成するよう指示し、プログラマーはデザイナーに視覚的に魅力的なインターフェイスを作成するよう指示した。AIは互いにチャットによって会話・相談を行い、このプロセスはソフトウェアが完成するまで繰り返された。
ChatDevに70のタスクを割り当てたところ、7分以内に1ドル以下でソフトウェア開発を完了できることがわかった。また、ChatDevは自分で問題を検出し、修正することができた。調査によると、ChatDevが作成したソフトウェアの約86.66%が「完璧にできていた」とのことだ。
研究者らは、ChatDevを使ってソフトウェアを作成することは効率的で費用対効果が高いと報告している。
これは、ChatGPTのような強力なAIが、特定のタスクを様々な方法で実行できることを示す物である。しかし、この研究にはいくつかの欠点もあった。研究者たちは、ChatGPTのような大規模言語モデルが間違いを犯したり、バイアスを持つことがあることを発見した。このような欠陥は、ソフトウェアを開発する際に課題となりうる。しかし、研究者らは、この発見が新しいプログラマーやエンジニアの実生活に役立つかもしれないと考えている。
論文
参考文献
- Medium: The Dawn of AI Teammates: Communicative Agents for Software Development
- via Bussiness Insider: AI chatbots were tasked to run a tech company. They built software in under 7 minutes — for less than $1.
研究の要旨
ソフトウェア工学は、複雑な意思決定プロセスを特徴とする領域であり、多くの場合、ニュアンスに富んだ直感と協議に依存している。最近のディープラーニングの進歩は、ソフトウェア開発の様々な段階で実装される精巧な設計を通じて、ソフトウェアエンジニアリングの実践に革命を起こし始めている。本稿では、ソフトウェア開発プロセス全体を通じて大規模言語モデル(LLM)を活用し、自然言語コミュニケーションを通じて主要なプロセスを合理化・統一することで、各フェーズで特化したモデルを必要としない革新的なパラダイムを紹介する。このパラダイムの中核にあるChatDevは、確立されたウォーターフォール・モデルを反映し、開発プロセスを4つの明確な時系列ステージ(設計、コーディング、テスト、ドキュメンテーション)に綿密に分割したバーチャル・チャット・ソフトウェア開発企業である。各ステージには、プログラマー、コード・レビュアー、テスト・エンジニアなどのエージェント・チームが参加し、協力的な対話を促進し、シームレスなワークフローを促進します。チャットチェーンはファシリテーターとして機能し、各ステージをアトミックなサブタスクに分解します。これにより、2つの役割が可能になり、コンテキストを意識したコミュニケーションを通じて解決策を提案・検証することができ、特定のサブタスクの効率的な解決につながります。ChatDevの機器分析では、ソフトウェア生成におけるその顕著な有効性が強調されており、ソフトウェア開発プロセス全体を1ドル以下のコストで7分以内に完了することができます。それは潜在的な脆弱性を特定し緩和するだけでなく、賞賛に値する効率と費用対効果を維持しながら潜在的な幻覚を修正します。ChatDevの可能性は、LLMをソフトウェア開発の領域に統合する新たな可能性を示している。
コメントを残す