
はじめに
こんにちは。
SB C&Sの佐藤です。
本ブログでは、Cognition.aiの主力製品の1つである「Windsurf」が「Devin Desktop」へリブランディングされた背景を、単なる製品名変更ではなく、AI開発支援の使い方が変化している兆しとして捉えて整理していきます。
目次
AIコーディングを巡る現状
AIコーディング支援ツールの使い方は、この数年で大きく変化してきました。
当初は、エディタ上でのコード補完や、チャットによる実装相談が中心でした。開発者がコードを書き、その横でAIが候補を出すような使い方です。もしくは、開発者が質問し、AIが説明や修正案を返すといった「一問一答」の使い方です。
多くのAI開発支援は、このような「人間が主導し、AIが補助する(コパイロット型)」使い方から始まり、そして広まっていきました。
しかし、最近は少し違う段階に入りつつあります。
単一のAIに質問するだけでなく、作業内容に応じて複数のエージェントを使い分けるといった使い方です。調査、実装、テスト、レビューといった作業をタスク分解し、適切なエージェントに実作業を委任する。人間は、エージェントの進捗を確認し、必要に応じて介入する。
つまりAI開発支援は、単に「AIを使う」段階から、「エージェント群をどう扱うか」を考える段階へ移りつつあると言えます。
この流れを象徴しているのが、CognitionによるDevin Desktopの発表だと感じています。
Devin Desktopは、Windsurfの次世代として位置づけられています。ここで重要なのは「単なる製品名変更」ではなく、この変更により、Windsurfが持っていたAI開発IDEとしての体験に、エージェント管理の考え方がより明確に組み込まれているという点です。
なぜ「エージェント管理」が重要になるのか
AIエージェントを開発に活用する場合、最初に考えがちなのは「どれだけ賢いAIを使うか」です。もちろん、モデル性能やコード理解力は重要です。しかし、実務で使うほど、それだけでは足りない場面が増えてきます。
たとえば、ある機能改修を考えてみます。
最初に必要なのは、既存仕様の理解です。どの画面、API、DBテーブル、テストコードに影響があるのかを調べる必要があります。
次に、実装方針を決める必要があります。その後、実装、テスト、レビュー、PR作成、場合によっては追加修正が発生します。
これらをすべて1つのAIとの会話に詰め込むと、会話履歴は長くなり、前提情報も膨らみます。人間側も、何をどこまで依頼したのか、どの作業が進行中なのかを把握しにくくなります。AIが複数動く場合はなおさらです。
そこで重要になるのが、エージェントの作業状況を可視化し、どの作業を誰に任せ、どこで人間が確認・介入するかを管理できることです。
ここでいう管理とは、単にエージェントを起動することではありません。
進行中の作業、対応が必要な作業、レビュー待ちの作業を把握すること。必要に応じて、作業内容を確認し、方針を修正すること。最終的な成果物を人間がレビューし、受け入れるかどうかを判断することです。
Devin Desktopは、このようなエージェント管理を開発体験の中心に置こうとしている点で注目できます!
Devin Desktopとは?
Devin Desktopは、Windsurfの次世代として発表された開発環境(IDE)です。
従来のIDEとしてコードを編集するだけでなく、Agent Command Centerを通じて、ローカルエージェントやクラウドエージェントの作業状況を確認し、必要に応じて開発者が介入できる点が特徴です。
Agent Command Centerでは、エージェントの状態をカンバン形式で確認できます。
どのエージェントが作業中なのか、どの作業が人間の対応待ちなのか、どの作業が完了またはレビュー待ちなのかを、同じ画面で把握しやすくなります。
この点から見ると、Devin Desktopは単なるAI開発IDEではなく、IDEとエージェント管理画面が統合された、開発作業の司令塔に近い存在だと感じています。
開発者は、必要に応じて自分でコードを確認し、細かな修正を加えることもできます。一方で、まとまった実装や調査をエージェントに委任することもできます。
重要なのは、人間とAIの役割を固定的に分けるのではなく、作業内容に応じて柔軟に切り替えられる点です。
ACPとは?
ここで少し話題を変え、Devin Desktopを理解するうえで重要なポイントになっている「ACP」について簡単に解説していきます。
ACPはAgent Client Protocolの略で、コードエディタとコーディングエージェントの間の通信を標準化するためのプロトコルです。たとえるなら、LSPがエディタと言語サーバーの接続を標準化したように、ACPはエディタとAIコーディングエージェントの接続を標準化するものと説明できます。
最近よく耳にするMCP(Model Context Protocol)と比較すると違いが分かりやすいかもしれません。MCPはAIエージェントが外部ツールやデータソースを利用するための接続仕様です。例えば、AIがGitHubのIssueを取得したり、社内ナレッジベースを検索したり、データベースへ問い合わせたりする際に利用されます。
一方でACPは、IDEやエディタがエージェントそのものと連携するための仕様です。
イメージとしては、MCPが「エージェントが利用する道具箱への接続」、ACPが「エディタとエージェントをつなぐ接続」と考えると理解しやすいでしょう。
つまり、ACPで接続されたエージェントが、必要に応じてMCP経由でさまざまなツールやサービスを利用する、という関係になります。
簡単な構成で表すと、次のようになります。
Devin Desktop
└Agent Command Center
└ACP
└ACP対応エージェント
この構成により、Devin DesktopはDevinだけでなく、ACPに対応した外部エージェントや独自エージェントとも連携できる可能性があります。
これは、AI開発支援を考えるうえで重要な変化です。
これまでは、特定のAIツールを使う場合、そのツールの画面、そのツールのエージェント、そのツールの流儀に合わせて使うことが一般的でした。しかしACPのような仕組みが広がると、開発者は複数のエージェントを同じ操作画面で扱えるようになります。
つまり、今後の開発環境では、「どのAIを使うか」だけでなく、「複数のAIエージェントをどの画面で、どのように管理するか」が重要になっていく可能性があります。
ただし、ここで注意も必要です。
外部エージェントを利用する場合、データの取り扱い、認証、課金、ログ、社内利用可否は、その外部エージェント側の条件に依存します。Devin Desktop上で扱えるからといって、すべてのエージェントが同じセキュリティ条件や管理条件で利用できるわけではありません。
企業利用では、この点を分けて考える必要があります。エージェントを一元的に見られることと、利用条件やガバナンスを一元的に保証できることは同じではありません。
DevinとDevin Desktopはどう使い分けるのか
Devin Desktopの活用を考える際に疑問点となりやすいのが、Devinそのものとの使い分けです。
整理すると、Devinはクラウド上で自律的に作業を進めるエージェントです。一方、Devin Desktopは開発者の手元でコードを確認しながら、ローカルエージェントやクラウドエージェントを管理するツールとして位置づけられていると考えられます。
たとえば、GitHubやGitLabのIssueをもとに、既存コードを調査し、実装し、テストを追加し、PRを作成してほしい場合は、Devinに任せるシナリオが考えられます。作業単位がある程度まとまっており、開発者が常に画面の前で見続ける必要がないためです。
一方で、既存コードを見ながら設計方針を相談したい場合や、影響範囲を確認しながら細かく進めたい場合は、Devin Desktop上でDevin Local Agent(※)を使う方が自然です。
(※)開発者のマシン上で動作し、ローカルのファイル、ツール、環境にアクセスできるエージェント
つまり、ざっくり言えば次のような使い分けになります。
Devinに向いている作業
- 実装内容が明確なIssue単位の実装
- まとまった不具合修正
- テスト追加
- 依存関係更新
- 移行作業
- 開発者が常時見続けなくてもよい作業
Devin Desktop / Devin Localに向いている作業
- 既存コードを見ながらの設計相談
- 影響範囲の調査
- 実装方針の確認
- 複雑な新規機能の実装
- PR差分の確認
- ローカル環境を使った検証
- 複数エージェントの進捗管理
ここで重要なのが、開発ワークフローにおいてすべてをAIに任せればよいわけではなく、逆にこれまでのようにすべての作業を人間が行う必要もない、という点です。またAIにも得意不得意があり、人間も含めた適材適所で活用していくことが必要になります。
そのため実装開始前に、どの作業を人間が行い、どの作業をどのエージェントに任せるかを分別することが、AIエージェント活用の成否や精度に大きく影響を与えます。
AIエージェントを導入するということは、単に便利なツールを追加することでなく、開発プロセスの中に新しい作業担当を組み込むことに近い、と捉えるべきなのだと最近は強く感じています。
開発ワークフローにおけるAI活用をご検討の際は、まずは「既存業務の洗い出しと見直し」を行い、こういった仕分けをしっかり行った上で「どの作業をどのAI(エージェント)に任せるか」を是非社内で検討してみてください。
まとめ
WindsurfがDevin Desktopへ進化したことは、AI開発支援の使い方が変わりつつあることを表していると感じます。
これまでは、開発者がAIに質問し、AIが回答する。あるいは、開発者がコードを書き、AIが補完する。そうした使い方が中心でした。
しかし、これからは複数のエージェントを使い分ける場面が増えていきます。ローカルで相談しながら進める作業もあれば、クラウド上のDevinに任せる作業もあります。調査、実装、テスト、レビューをサブエージェントに分けて任せる場面も出てきます。
そのときに重要になるのは、エージェントをただ起動することではなく、作業を分解し、適切なエージェントに委任し、進捗を確認し、必要に応じて人間が介入し、最終的にレビューすることです。
Devin Desktopは、そのためのIDEであり、エージェント管理の操作画面でもあります。
AI開発支援は、AIを「使う」段階から、エージェント群を「管理する」段階へ進みつつあります。開発者に求められるのは、AIに任せる力だけでなく、何を任せ、何を自分で判断するかを設計する力です。
そういった意味でも、Devin DesktopはAI開発支援の次のフェーズを考えるうえで、非常に分かりやすいターニングポイントになっている、と改めて感じました。
このブログを通じてDevinやDevin Desktopにご興味を持たれましたら、是非お気軽にSB C&Sまでお問い合わせください!
開発(DevOps)に関わる情報はこちらから
著者紹介
SB C&S株式会社
ICT事業本部 技術本部 技術統括部 第2技術部 2課
佐藤 梨花
勤怠管理システムの開発(使用言語:Java)に約8年間従事。
現在はエンジニア時の経験を活かしたDevOpsやDX推進のプリセールスとして業務に精励しています。
