😄

【コード自動生成エージェントOpenDevin、Pythagora、plandexの比較検討】

2024/04/06に公開

最近話題のコード自動生成ツールを比較してみた - OpenDevin、Pythagora GPT Pilot、plandex

はじめに

最近、大規模言語モデル(LLM)を活用したコード自動生成ツールが大きな注目を集めています。その中でも特に話題となっているのが、OpenDevin、Pythagora GPT Pilot、plandexの3つです。この記事では、これらのツールの特徴や目的、機能を比較し、それぞれの違いを探り、使ってみた所感について述べたいと思います。

OpenDevinの特徴

https://github.com/OpenDevin/OpenDevin

OpenDevinは、Devinという自律型AIエンジニアを模倣し、さらに改善することを目的としたオープンソースプロジェクトです。Devinは、シェル、コードエディタ、ウェブブラウザなどの複数のツールを組み合わせることで、複雑なエンジニアリングタスクを実行できます。また、ソフトウェア開発においてユーザーと協調して作業を行うことも可能だそうです。

Pythagora GPT Pilotの特徴

https://github.com/Pythagora-io/gpt-pilot

Pythagora GPT Pilotは、LLMを活用して本番環境で使用可能な完全なアプリケーションを構築することを目指しているツールです。AIがアプリケーションの大部分(約95%)のコードを記述できるものの、残りの5%は汎用人工知能(AGI)が実現するまでは人間の開発者が必要であるという考えに基づいています。

GPT Pilotでは、アプリケーション名と説明を入力すると、Specification Writer、Architect、Tech Lead、Developer、Code Monkey、Reviewerなどの各エージェントが連携し、段階的にアプリケーションを構築していきます。開発者は、問題が発生した場合にコードをレビューし、修正を行うことができます。

plandexの特徴

https://github.com/plandex-ai/plandex

plandexは、ターミナルベースのAIコーディングエンジンであり、複雑なタスクに対応するためのツールです。開発者の生産性向上を目的とし、不慣れな技術の習得、行き詰まりの解消、単調な作業の削減などに役立ちます。

plandexは、大規模なタスクを小さなサブタスクに分割し、それぞれを実装していく方式を採用しています。変更は保護されたサンドボックスに蓄積され、プロジェクトファイルに適用する前にレビューすることができます。また、組み込みのバージョン管理機能により、手戻りや別のアプローチの試行が容易に行えます。

比較表

項目 OpenDevin Pythagora GPT Pilot plandex
目的 Devinの模倣と改善 本番環境対応のアプリケーション構築 複雑なタスクの自動化
アプローチ Devinの再現 複数エージェントの連携 タスクの分割と実装
開発者の役割 コードのレビューと修正 実装の監督、問題発生時の対応 サンドボックスでのレビューと適用
特徴 複数ツールの組み合わせ、コラボレーション 段階的なアプリケーション構築 バージョン管理、代替アプローチの試行

使ってみた所感

OpenDevinはDevinの模倣を目指しているとは述べているものの、対話だけでは十分な要件が伝わりきらず、空回りしてしまっているイメージ。本物のDevinはもっと能力値が高いらしいので、デフォルトのGPT-4では実力不足だったのかもしれない。
逆にPythagoraは、はじめに大量の質問攻めに会い、それらを各々役割の与えられたAIに割り振り、細かなタスクを連携しながら進めていく。そのため、タスクの分割精度はとても良かったが、基本的に0からプロジェクトを構築することに特化しているため、これならgithubにあるtemplateでよくないか?というのが正直な印象だった。
plandexはバランスが取れている印象で、フォーカスしたいファイル群をコンテキストに読み込んで、それらを参照しながら、コードを生成していく。ある意味セルフRAGしている感じなので、全自動とは遠いが現状の最適解だと感じた。

まとめ

株式会社Omlucでは生成AI活用事業を行っております。
生成AIを活かした事業をしたい方はご連絡ください。
https://omluc.com/

Discussion