ProjectDev は、競技プログラミングの問題よりも複雑な 14 の代表的なソフトウェア開発タスクからなるセットであり、 マルチエージェントのソフトウェア開発システムを評価するために AgileCoder:アジャイル手法に基づくソフトウェア開発のための動的協調エージェント の著者らがまとめたものである。各タスクは、テスト対象のシステムに対して、複数の実行可能ファイルからなる包括的な コードベースを生成するよう求める。著者らはこれを、そうしたシステムの評価には HumanEval や MBPP よりも 適したものとして提示している。
内容
各タスクは、短いプロンプト(たとえば「Create a snake game」)と、ゲームボード、衝突処理、スコア計算、 エラー処理といった見出しの下にまとめられた詳細な要件リストで構成される。タスクは多様な領域にわたり、 ミニゲーム(スネーク、ブロック崩し、2048、Flappy Bird、戦車バトル、Caro)、Streamlit・pandas・SQLite の 上に構築されたデータ処理および CRUD アプリケーション、カスタムのプレスリリース生成ツール、動画プレーヤー、 YouTube 動画ダウンローダー、QR コードの生成・検出ツール、ToDo リストアプリ、電卓などが含まれる。
来歴
著者らは、コード生成ベンチマークと実世界のソフトウェア開発との間のギャップを埋めるために、タスクを自ら 収集したと説明している。また、公開されていないとする MetaGPT の SoftwareDev や ChatDev の SRDD とは 対照的に、このデータセットは一般公開される予定だと述べている。
利用
AgileCoder の論文では、各手法をタスクごとに 3 回実行し、得られたプログラムを Python 経験 2 年以上の 開発者が手作業で評価する。実行できたプログラムは、タスクの要件のうち満たした割合によってスコア付けされ、 実行に失敗したプログラムの数はエラーとして数えられる。これに基づき、同論文は AgileCoder が ChatDev や MetaGPT よりも高い実行可能性を示したと報告している。