GitHub Nextは、25人の開発者に対するインタビュー調査の結果をまとめたブログ記事「開発者の第2の脳:AIとの連携による複雑さの軽減」を公開した。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
GitHubの次世代プロジェクトに取り組む研究者とエンジニアのチームであるGitHub Nextは2024年1月17日(米国時間)、25人の開発者に対するインタビュー調査の結果をまとめたブログ記事「開発者の第2の脳:AIとの連携による複雑さの軽減」を公開した。
このインタビュー調査は、開発者のワークフローへのAI(人工知能)の統合が進み、開発者の働き方に大きな変化をもたらす中、「開発者はこうした動きをどのように感じているか」「開発者の仕事の質やアイデンティティーを高めるような形でAIをワークフローに統合するには、どうすればよいか」「AIを用いて開発者に価値を提供する次の機会は何か」を明らかにするために行われた。
GitHub Nextは、「理解できないものは測定できないため、こうした目的に向けて測定指標や統計を開発する前に、インタビュー調査で開発者の意識や考え方を定性的に把握しておくことは不可欠だ」としている。
インタビュー調査では、開発者が開発に携わるシステムが大規模化、複雑化していることを踏まえ、どのタスクの認知負荷が最も高いかを尋ねるとともに、開発者がAIと連携してそれらのタスクに取り組むさまざまなシナリオを示して意見や感想を聞いた。
GitHub Nextは、以下のように調査結果を5つの項目に分けて紹介した上で、これらの結果が開発者にとって何を意味するか、同チームの取り組みにどのように活用されているかを説明した。
開発者にとって認知負荷が高いタスクは、以下の2つのカテゴリーに分類される。
開発者は、これらのタスクは時間をかける価値がなく、自動化に向いていると考えている。
開発者はこれらのタスクを、プログラミングの中核的なタスクと考えている。これらは学習、問題解決、物事の解明を必要とし、これらはいずれも、エンジニアとしての成長に役立つ。
AIは既に、退屈な作業の負担を軽減している。「GitHub Copilot」のようなツールは、開発者にとって「第2の手」となり、面白みのない作業を素早くこなすために使われている。
さらにAIは、開発者に新たな価値を提供するチャンスがある。AIツールのパラダイムは「第2の手」から「第2の頭脳」へとシフトし、AIは開発者の思考の拡張や、高度なタスクの認知的負荷の軽減、複雑さへの対処を支援する。
複雑なタスクについて開発者を支援することには高い価値がある可能性があるが、適切に支援するのは難しい。退屈なタスクとは異なり、開発者は複雑で高度なプログラミング作業に強い愛着を感じているからだ。また開発者は、複雑な問題を解決する最終的な責任は自分自身にあると考えている。
開発者のこうした見解は非常に重要だ。ワークフローへのAIの関与とその方法を、開発者がどの程度オープンに受け入れるかに影響するからだ。この見解を受けてGitHub Nextは、「開発者の理解、学習、アイデンティティーを損なうことなく、複雑なタスクにおいてAIがどのように開発者の能力を拡張できるかを解明し、開発者とAIの優れたパートナーシップを構築する」という目標を掲げている。
インタビュー調査では、開発者が現在、AIには完璧を期待していないことも分かった。さらに、開発者は自らがAIツールを監督し、適切なアウトプットを生み出すよう導いていると考えている。このプロセスは、現時点ではストレスの元になっており、非生産的な場合もあるが、開発者は、開発者とAIツールが互いに適応し、連携することで、このプロセスが長期的に利益をもたらすと考えている。
さまざまなタスクにおける自動化の適用や、人間とAIのインタフェースに関する従来の研究から得られた上のフレームワーク(若干調整されている)は、調査参加者全員の共感を得た。
タスクを4つの部分に分解するこのフレームワークは、「AIの支援がどの領域で開発者に最もインパクトを与えるか」を理解し、「開発者とAIのパートナーシップや両者の役割分担はどのようなものか」を考える上で有用だ。
開発者はタスクのコンテキストを素早く理解したいが、そのためには多くの情報を見つけ、収集、分析する必要がある。そこで、このプロセスに関するAIの支援を強く望んでいる。ただし、適切な支援を受けるには、AIを監視し、状況に応じてAIに追加の情報を入力する必要があるとも認識している。
また開発者は、問題解決やタスク実行の具体的なステップを一から決定するのが大変なため、AIに複数の計画を出させたり、それぞれについて長所と短所を論じさせたり、それらをたたき台として検討するためのプロンプトとしてAIを使ったりしたいと考えている。同時に、コンテキスト理解と同様に、AIを監視し、AIが作った計画を編集したり、部分的に取り入れたりできるようにしたいとも考えている。
一方、開発者は複雑なタスクや大規模な変更に取り組んでいる間は、全ての意思決定をコントロールし続けたいと考えている。開発者のアイデンティティーは複雑なプログラミングタスクや問題と結び付いており、開発者は、それらに関する最終的な責任や説明責任を自らが負っていると認識しているからだ。
また開発者は、AIに自律的に実装を行わせることにもちゅうちょしている。その背景には2つの懸念がある。1つは、今日のAIは、この作業を任せるには信頼性が足りないと考えられることだ。もう1つは、AIに自律的に実装させると、開発者のコードに対する理解や学習機会を損なう上、開発者が現在貢献している価値をなくしてしまう恐れがあることだ。
AIツールの第1波は開発者に「第2の手」を提供し、定型的な作業にかかる時間の削減に貢献した。次のフロンティアは、自然言語、AIエージェント、ビジュアルプログラミングなどの進歩を通じて、AIツールを「第2の脳」として進化させることで、開発者の認知的負荷を軽減し、開発者の精神的エネルギー(時間と同じく、有限かつ重要なリソース)の一層の有効活用につなげることだ。「開発者が第2の脳で武装し、複雑さに対処できるよう支援しなければならない」と、GitHub Nextは述べている。
さらにGitHub Nextは、AIとのパートナーシップが、開発者の思考や作業の抽象度を自然に引き上げる結果になると予測している。開発者はキャリアの早い段階から「システム思考者」として、問題を解決し、機会に対処するシステムやアプリケーションの動作を特定することに集中し、AIツールが生み出すものを管理、監視し、必要な場合は介入するようになるだろうと、GitHub Nextはみている。
こうして、より多くの開発者が複雑化する課題に取り組み、開発者の価値やアイデンティティーを高めながら、ワークフローにおいてAIツールと明確に役割を分担するようになるとしている。
GitHub Nextは調査結果から、開発者とAIのパートナーシップを成功させるには、それぞれの強みを生かす必要があると認識している。
今日のAIツールやAIモデルの強みは、多くの情報を効率的に素早く解析、要約、合成できることだ。さらに、AIエージェントは複雑なタスクの行動計画を推奨したり、批評したりすることも可能だ。
これに対し、開発者は、状況やコンテキストに応じた知識を持ち、それに基づいてAIの提案を適切に判断できる。
またGitHub Nextは、開発者とAIツールの連携においては、AIツールのかじ取りのしやすさと透明性が、開発者にとっていかに重要かを強調している。開発者が求めているのは、コンテキストの理解や行動計画の作成に関与するが、監視、同意、レビュー、承認なしに行動を実行することはないAIツールだ。
GitHub Nextは、インタビュー調査結果から導き出されたこうした一連の設計原則に基づいて開発を進めているプロジェクトの例として、「GitHub Copilot Workspace」を挙げている。Copilot Workspaceは、タスクの説明から、プルリクエストとなる実装に至るまで、開発者がAIとパートナーを組むというGitHub Nextのビジョンを体現しているという。
ツールの標準化、AI機能の拡充、開発者の行動の適応が進む中、GitHub Nextは今後もユーザー本位を徹底し、開発者の感情とニーズに耳を傾けて理解し、開発者によるコードとシステムの所有、理解、学習を、新しい方法で強力にサポートしていくとしている。
インタビュー調査の対象は、フルタイムで働く米国在住の25人のソフトウェアエンジニアだ。インタビュー対象者のうち18人(72%)はAIツールに好意的で、7人(28%)はAI懐疑派を自認していた。64%が大企業、32%が中小企業、4%が新興企業に勤務している。職業経験年数で見ると、経験年数0〜5年が32%、6〜10年が44%、11〜15年が16%、16年以上が8%となっている。
Copyright © ITmedia, Inc. All Rights Reserved.