日本CTO協会はこのほど、CTO(Chief Technology Officer:最高技術責任者)やソフトウェア開発者向けのイベント「Developer eXperience Day 2023」を開催した。本稿では同イベントから、日本マイクロソフトの岡嵜禎氏が語った、AIの発展による開発者体験の変化に関する基調講演の模様をお届けしたい。

生成AIの登場とその特徴

ChatGPTの登場が顕著な例だが、近年の生成AIによって私たちの業務が大きく変わりつつある。これに伴って各国はAIの規制措置や国家戦略への適合など、議論を活発化させている。また、企業単位で見ても、多くの企業が生成AIをいち早く自社に取り入れ、ナレッジ獲得を急務としている。

そうした中で、開発者としては生成AIとの作業分担や「プロンプトエンジニアリング」に注目が集められている。AIをうまく活用するためにも、適切な回答を引き出す指示(プロンプト)を記述できる開発者が求められているのだ。

岡嵜氏はChatGPTにも用いられているLLM(Large Language Models:大規模言語モデル)をはじめとするAIモデルについて、「さまざまな用途に使える汎用性が大きな特徴だ」と説明していた。

  • LLMの進歩

    LLMの進歩

これまでにも同様の処理が可能な数多くのAIが開発されてきたが、その多くは特定の領域や特定の作業にのみ特化したモデルである。AIが学習するためのデータセットの準備など、多くの学習コストを必要とする課題があった。しかし、LLMは事前学習が済んでいるためそれほど多くの学習コストを必要とせずに利用できる点に特徴がある。

これまでクラウドやAIによって進んできたDX(デジタルトランスフォーメーション)が、生成AIによってさらに加速すると考えられる。おそらく、今後さまざまな分野で生成AIが大きな変化をもたらすだろう。

  • 従来のAIモデルと生成AIの違い

    従来のAIモデルと生成AIの違い

AIによって変革する働き方、AIを副操縦士として使う

コロナ禍において、出社と在宅勤務を柔軟に切り替えるハイブリッドワークが浸透した。そうした中で、同社が実施した調査によると、70%の人が「非生産的な単一業務や反復業務をAIに任せて、ほかのことに集中したい」と考えていることが明らかになった。その一方で、49%の人が「AIに自分の仕事を代替されるリスクを感じている」ことも明らかになっている。

実際に、生成AIによって実行できるタスクの種類は増えつつある。従来のAIでも、文章の要約や校正、感情分析、キーフレーズの抽出、翻訳などは行えていたが、生成AIによって、文脈を理解したインサイト抽出や、思考の壁打ち、ソースコードの生成、アイデアの創出なども可能となっている。

  • 生成AIが対応可能なタスク

    生成AIが対応可能なタスク

このように、さまざまな業務をAIが実行できるようになった。そこで、MicrosoftはAIを「仕事のCopilot(副操縦士)」であると提唱している。また、同社のあらゆる製品にAI機能を搭載する方針も示している。その中には、Microsoft office製品や、「GitHub Copilot」のような開発者向けツールも含まれる。

  • 生成AIを搭載したMicrosoft製品

    生成AIを搭載したMicrosoft製品

AIによって変革する開発者体験、「GitHub Copilot X」は音声入力でコードを自動生成

開発者が取り組むべき本質的な課題は、生産性の向上やコード品質の向上、ロジックへの集中などが挙げられる。クラウド技術によって、開発者を取り巻く環境にクラウドネイティブがもたらされたように、AIによってAIネイティブな開発環境がもたらされることで、開発者はさらに本質的な業務に集中できる環境が期待できる。

ちなみに先述のGitHub Copilotだが、同社製品の中でも最も早く生成AIを実装したサービスなのだという。これによって、プロジェクトの文脈に応じたコードの自動生成が可能となり、開発者の生産性向上を支援している。

  • AIネイティブな開発環境が期待できるという

    AIネイティブな開発環境が期待できるという

その結果、同社の調査によると96%の人が「同じタスクをより速く実行できる」と回答しており、88%が「生産性が上がる」と証言し、74%が「より満足できる仕事に集中できるようになる」と回答している。また、実際の利用者の様子を観察すると、開発にかかる時間を従来のおよそ半分にできているとのことだ。

同社はすでに、GPT-4を搭載した「GitHub Copilot X」を発表している。同サービスはソースコードのみならずテストコードの自動生成が可能なほか、音声入力やチャット入力でコードを自動生成してくれる機能も追加されている。「こんなイメージでゲームを作りたい」と入力するだけで、コードを提案してくれるようだ。まさに文字通り「Copilot」として頼りになるかもしれない。

  • 「GitHub Copilot X」の概要

    「GitHub Copilot X」の概要

「今後は、開発者が自分たちのCopilotをどのように作るかが重要になる時代がくるはず」(岡嵜氏)

同社はCopilotを開発するためのフレームワーク「Copilot stack」を発表した。これによると、アプリケーションレイヤでプラグインを使って拡張する方法、アプリケーションコードでプロンプトエンジニアリングを組み合わせて拡張する方法、LLMに自社のデータも組み合わせることでファインチューニングして拡張する方法の3つのレベルがあるという。

  • 「Copilot stack」フレームワーク

    「Copilot stack」フレームワーク