開発者ツールは変化の一途をたどっており、AIの役割も当初のコード補完ツールから複数段階のソフトウェア開発ワークフローを一本化する一元化管理ツールにまで発展を遂げている。昨今のGitHub Copilot WorkspaceやClaude 3のシステムレベルの推論のリリースからも、AIの役割が当初のコーディングアシスタントとしての役割から、計画構想・ドキュメント作成・テスト支援へと広がりだしている変化を伺うことができる。DevFlowをはじめとする新たなプロジェクトでは、ドキュメント生成・テストの提案・アーキテクチャダイアグラム作成機能が統合されている。こうした業界傾向で、近い将来の開発者環境がどう再構築されていくか、その変貌の初期段階に関する洞察が得られるだろう。
AI駆動開発ツールは、コード補完ツールから幅広いワークフローサポートツールへと徐々に用途を拡大してきたが、その発展には目覚ましいものがある。 GitHub Copilotのような主要なプラットフォームサービスは、当初一行ごとのコーディング支援を専門としていた。だが、近年は、GitHub Copilot Workspaceなどの新規ツールをリリースし、計画・ドキュメント作成のサポートも開始している。 同様に、Claude 3などのその他の大規模言語モデルもプロジェクト規模での推論機能の提供をスタートしてはいるが、開発者にとっての身近な利用ツールチェーンとしては確立しきれていない現状である。業界動向としては、オールインワンの統合ツールキット確立を目指してはいるものの、完全な統合開発環境の実現への道のりはまだ始まったばかりである。
DevFlowをはじめとする新規プロジェクトからも、新規開発ツールが開発環境の統合範囲の拡大に向かっていることが伺える。ドキュメントの作成、アーキテクチャ図の生成、単体テストの提案、そしてコパイロット機能を単一環境に統合することでソースコード上での直接実行も可能になっている。まだ試みは始まったばかりだが、従来複数に散らばる開発工程をAI駆動型の単一環境に統合する動きがこうしたオールインワン開発環境構築の模索に現れている。今後、ツールキットも統合化に向かっていくことがここからも読み取れるだろう。
出典: DevFlow
開発者の生産性に関する複数の研究結果から、コンテキストスイッチを削減し、フィードバックループを短縮することでソフトウェアデリバリーのパフォーマンスが大幅に向上することが明らかになっている。DORAの2024年のAccelerate State of DevOps Reportでは、リードタイムの短さやサービス復旧の迅速さとエンジニアリングチームのパフォーマンス向上に関連があると報告されている。GitHubのCopilot Workspaceの実装には、アイデアからコードへの変換を効率化することで認知負担の軽減効果や開発者フローの改善効果を得る狙いがある。こうした効率化による実証例が、オーストラリア・ニュージーランド銀行から発表されている。1,000人のエンジニアを対象にGitHub Copilotの大規模な社内導入をしたところ、大幅な生産性向上とコード品質改善が確認できたという。同様に、Salesforce社でCodeGenieを社内導入したケースでも、同様の効果が得られている。AIアシスタント機能をGitHub、CLI、Slackなどに直接統合することで、プルリクエスト生成、コードレビューの提案、テストケース作成などのタスクが自動化され、開発者ワークフローが改善されたとの報告が挙げられている。一連の事例から、AIアシスタント機能を搭載した統合ツールキットの実現で、イテレーションの高速化、コード品質の向上、開発サイクルの効率改善といったメリットが得られることが読み取れるだろう。
AIアシスタント機能の統合で多くのメリットが得られるものの、統合自体が大きなハードルとなるだろう。先日のBuilder.io社のブログでは、開発環境と外部システムの切り替えによる開発者の生産性の低下が問題視されている。AIツールの多くが既存のワークフローとシームレス統合されていないスタンドアロン型であるため、この結果生じる開発環境と外部システムの切り替えがコンテキストスイッチとなり、開発者の生産性を妨げているというのだ。さらに、2024版のStack Overflow Developer Surveyによると、開発者の63%が、職場でのAIツール利用の最大のハードルとしてアーキテクチャ、ツール、プロセスに関わる社内のAI使用環境の整備不足を選択している。 こうした開発環境とAIの相互運用における課題に対する取り組みも始まっている。例えば、OpenAPI拡張機能の追加やAI Plugin Standardといったイニシアチブが挙げられる。こうした追加実装では、AI機能と既存の開発環境の統合をより簡単にすることで、複数ワークフロー間の摩擦軽減を目指している。だが、AI機能が広く標準認知されているものの、依然として統合までは長い道のりが広がっている。