AIスタートアップのCognitionは、自律型のAIソフトウェアエンジニア「Devin」を発表しました。
Devinは人間が課題を与えると、自律的に情報を参照し、コーディングやデバッグ、デプロイを行い、システム構築を実現するAIソフトウェアエンジニアだと説明されています。
以下はデモ動画からのキャプチャです。
Devinは人間のソフトウェアエンジニアと同様に、自身のコンソール画面(右上)、コードエディタ(右下)、Webブラウザ(左下)を持っています(左上は人間とチャットでやり取りする領域)。
人間がプロンプトで何らかの課題を与えると、まず課題解決のためのプランを生成します。
今回、Devinは必要とするAPIの情報をWebブラウザで参照し、情報を利用して開発を進めます。
作業の途中でエラーが出力されると、Devinは関連しそうなコードの場所にデバッグ用のPrint文を挿入し、出力された内容からエラーの原因を探ります。
Devinは出力されたPrint文によるログからエラーの原因を分析し、自律的にデバッグを行います。
最終的にDevinはビルドとデプロイを行い、課題に対応したWebサイトを生成しました(左下のグラフの画面)。
同社によると、実世界のソフトウェアの課題に関する大規模言語モデルを評価するためのベンチマークである「Real World Software Engineering Performace(SWE-bench)」で、Devinは他を圧倒する成績を示したとしています。
GitHubリポジトリのReadmeを読んで環境を構築
別のデモ動画では、Devinに大規模言語モデルを量子化により効率よくファインチューニングする「QLoRA」を使ってLlamaのファインチューニングを依頼。
DevinはQLoRaのGitHubリポジトリをクローンし、Redmeを読んでPythonのパッケージ管理システムであるPIPを使って環境を構築。
実行時にCUDA関連のエラーが起きると、NVIDIAの環境を再インストールするなどして問題を解決。問題なくファインチューニングを完了させる様子が示されています。
Devinを発表したブログ「Introducing Devin, the first AI software engineer」には、その他Devinによるライフゲームの機能拡張、テストコードの生成など、Devinによる自律的なシステム構築やプログラミングの様子が紹介されています。
デモ動画の通りであれば、少なくとも初級プログラマよりもずっと優れているように見えるのではないでしょうか。
現時点でDevinはアーリーアクセス版となっており、興味のある人はウェイトリストからの申し込みが必要です。
GitHub Copilot Workspaceより自律的に見える
AIによる自律的なプログラミングは、GitHubも「Copilot Workspace」を昨年(2023年)11月に発表し、デモを披露しています。Copilot WorkspaceもDevinも、課題が与えられると計画を立てるところは似ています。
しかし今回のDevinはデモを見る限り、Readmeを読んでその通りに環境を構築するなど、Copilot Workspaceのデモよりもさらに自律的になっているように見えます。
この記事は新野淳一氏が運営するメディア「Publickey」が2024年3月14日に掲載した『自律型AIソフトウェアエンジニア「Devin」登場。Readmeを読んで環境構築、Print文を使ってデバッグなど』を、テクノエッジ編集部にて編集し、転載したものです。