AI駆動開発エージェント – SWEエージェント

CL君ブログ:AI駆動開発って何?シリーズ

こんにちは。CLくん@ビジネスチームです。

最近よく聞くSWE-Agents (SWEエージェント)をご存知でしょうか?

Perplexityによると、「SWE-AgentsのSWEはSoftWareEngineeringの略で、ソフトウェアエンジニアリング分野に特化したAIエージェントの総称です。」とのことでした。後ほど触れるオープンソースのSWE-Agentとは別に、エージェント型開発ツールをさす文脈で使われることもあるようです。

代表的なツールとしてCognition社が開発するDevin(デヴィン)があります。2024年に登場した時は、「エージェント」のコンセプトが斬新で驚きをもって受け止められました。AIエージェントと一緒にソフトウェアを開発する未来がDevinの登場で現実になってきました。

クリエーションラインが支援させて頂いているお客様のプロジェクトでも、Devinを組織として導入されるケースが増えてきています。Devin CEOのScott Wuさんが5月に来日して日本のユーザー企業とディスカッションされました。安野貴博さんのYoutube動画でもScottさんへのインタビューがされています。とても面白い動画でおススメです!(URL)

ということで、今回はSWEエージェントについて調べていきたいと思います。

まず、SWEエージェントが今までの開発の補助ツールとしてCopilotの考え方と異なるポイントは「自律的に」開発タスクをこなしてくれる点にあります。コードを打ち始めると続くコードを提案してくれたりチャットでの質問に回答してくれるというのがCopilotです。それに対して、SWEエージェントは以下のようなタスクを自動的に解決することを目指しています。

  • コンテキストの自動取得
  • コードの自動生成・バグ修正・Issue自動解決
  • テストケースの自動作成
  • コードレビューやドキュメント作成の自動化
  • 開発環境の自動構築

次に疑問になるのが、具体的なツールとしてどんなものがあるのか?代表的なものを4つを紹介します。

1. SWE-Agent  

SWE-Agent Website (URL)

プリンストン大学NLPグループが開発。オープンソースのAIエージェントで、GPT-4などの大規模言語モデルを活用し、GitHubリポジトリの問題(Issue)解決を自動化するエージェント。一般用語としてのSWE Agentsと混乱しますが、2024年の時点からSWEエージェントの草分けとしてリリースされています。

SWE-Agentの特徴 

  • GitHub上のバグ修正やIssue解決を自律的に実行。
  • SWE-benchにおいて「初めて有意なスコアを記録したオープンソースエージェント」として知られており、GitHub上でも無料で公開されています。
  • Agent Computer Interface(ACI)という独自のインターフェースを備え、AIが直接ファイル操作・コード修正・テストなどを行います。

2. Devin

Devin Website (URL

Devinは、米Cognition社が開発した世界初の「完全自律型AIソフトウェアエンジニア」です。従来のAIアシスタントとは異なり、設計・コーディング・デバッグ・デプロイまで、ソフトウェア開発の全工程を人間の介入なしで自律的に遂行できる点が最大の特徴です。Slackなどのチャットで指示を出すことも特徴で、より人間の開発者にタスクを依頼するイメージで利用されます。実際の開発現場で使われるSWEエージェントと言えばこれ、といったツールになっています。

Devinは協力的なAIチームメート

これはDevinのウェブサイトで出されているメッセージで、Devinの世界観を表してます。IDE型でエディタ内で動作して開発者個人を支援してくれるAIエディタ型に対し、Slackでタスクを依頼する使い方になり、まさにチームの一員として自律的に動作します。 AIチームメートとしてのDevinはチームでの開発体験を変えるという点で、今後のチーム開発の形に大きなインパクトがあります。

Devinの特徴

  • タスクの自律的な実行とエンドツーエンド開発
    • タスクの開始から完了まで、計画立案・実行・成果物提出までを自分で行います。エラーが発生しても自ら発見・修正し、必要な情報を調査・学習しながら進めます。
  • チャット型のインターフェース
    • チャットベースのインターフェースを採用しており、Slackや専用Web画面から指示を出せます。途中で追加要望や修正依頼もチャットで伝えられ、成果物や作業内容の説明も自動で返されます。
  • 非同期でのマルチタスク処理
    • タスクを「セッション」として非同期的に受け付け、複数の作業を同時並行で進めることができます。例えば、API実装、フロントエンド開発、テストコード作成など、異なるタスクをそれぞれ独立したDevinエージェントに割り振り、同時に進行させることが可能です。
    • 開発者は各セッションの進捗を確認しつつ、必要に応じて指示やレビューを行うだけでよく、他の作業と並行して効率的に開発を進められます。
  • 開発環境の内蔵
    • クラウド上のVMにVSCodeライクなIDE、ターミナル、ブラウザなどを統合した独自の開発環境を構築し、その中でAIが自律的にプロジェクトを進める仕組みを持っています。この環境により、エンドツーエンドのソフトウェア開発を効率的かつ再現性高く実現できる点が大きな特徴です。

CEOのScott Wuさんも来日して日本のユーザーの声を拾うなど、企業としての姿勢にも好感が持てます。Devinの方向性が今後の開発スタイルに大きく影響を与える点で、引き続き大注目のツールです。

3. Github Copilot Workspace

Github Website (URL) 

GitHub社が2024年にテクニカルプレビューを開始したエージェント。AIによるコード補完だけでなく、ワークスペース内での開発フロー全体をAIが支援する、というエージェントのコンセプトを現したものです。(製品として提供されているものではないようです)

Github社は2025年4月にCopilotのエージェントモードもプレビューしており、かつProject Padawanというエージェント機能のリリースも2025年中に計画されているようです。2025年は Github Workspaceで公開された機能も実際の製品としてリリースされそうです。

Github Copilot Workspaceの発表情報

  • GitHubリポジトリやIssueから直接作業を開始し、自然言語での指示が可能
  • コードのブレインストーミング、設計、実装、テスト、実行までをワンストップで実現
  • チーム共有や協業支援機能が充実し、プロジェクト管理やタスクベース開発にも対応
  • モバイル端末にも対応し、どこでも作業が可能

4. Cline

Cline Website (URL)

Clineは開発者のプログラミング作業を強力に支援するAI開発ツールです。「CLI aNd Editor」の略称を持ち、その名前は、コマンドラインインターフェース(CLI)とエディタの両方を操作できる能力に由来しているようです。VS CodeやCursor上で動作するため、IDEにプラグインで追加するエージェントの位置づけとなります。エディタやターミナル、ブラウザなどを実際に操作できる点が特徴です。これにより、開発者はAIチャットとエディタの間を行き来する手間が省け、開発ワークフローを大幅に効率化できます。

Clineの特徴

  • 自律的なファイル操作と編集
    • Clineはプロジェクト内のファイル構造を分析し、ファイルの作成・編集を行うことができます。コードを生成するだけでなく、構文エラーやコンパイルエラーを監視し、自動的に修正提案を行う能力も持っています。
  • ターミナル操作と実行監視
    • ターミナルコマンドを直接実行し、その出力を監視することで、パッケージのインストールやビルド、開発サーバーの起動など、開発プロセス全体をサポートします。
  • ブラウザ操作機能
    • Webアプリケーション開発においては、ヘッドレスブラウザを起動し、クリック、入力、スクロールなどの操作や、スクリーンショットの取得、コンソールログの監視が可能です。これにより、ランタイムエラーや視覚的なバグの修正をサポートします。

IDE型ツールのエージェントモード

今回ご紹介したエージェントとは別に、IDE統合型のツールでもエージェントモードが実装されるなど、ソフトウェア開発のAIツールの分野でエージェント機能がどんどん開発されている状況です。Github Copilot、Cursor、Windosurfにはエージェントモードがあります。自社のコード資産やWeb等の外部情報を見るというタスクを実行する事でより高度に文脈(コンテキスト)を理解して提案してくれます。まさに先輩エンジニアの動き方を学んで成長している新人エンジニアのようです。

まとめ

今回、色々調べていく上で、SWEエージェントは単なるコード生成・補完ツールから、実際のソフトウェア開発現場で自律的に複雑なタスクをこなす「もう一人の開発者」として振舞ってくれるという意味が分かってきました。

また、開発者個人の開発体験を変えるAI型エディタのエージェント機能と、チームでの開発体験を変えるDevinに代表されるエージェント型など、一口にエージェントと言っても違った形での使い方になることも分かりました。

AIツール製品の特長に応じて、AIと人間との役割分担や開発プロセスの設計してくことは、今後の開発現場のテーマになりそうです。引き続き、クリエーションラインではSWEエージェントの最新の機能をウォッチしていきたいと思います!(また、使い方についてもブログで発信していきます!)

最後に

AI駆動開発の各ツールにご関心をお持ちの方、またはAI駆動開発をどのようの自社に取り入れていくかを検討されている方は、ぜひ当社の問い合わせフォームよりご相談ください。

貴社の状況に応じて出来る限りアドバイスさせて頂きます!

参考:

AI駆動開発 - AIツール比較(AIエディタ)もこちらからご覧いただけます!

Author

2020年に生まれたCLキャラクター。CL内ではビジネス企画/マーケティングを担当。2024年はCLの取組みや学んだことを中心に発信していきます!アジャイル開発、クラウドネイティブ、AI/機械学習を中心にトレンドを調べたりプロジェクトチームに聞いたりして勉強中!

CLくんの記事一覧

新規CTA