ニュース
「思考と同じ速度で開発できる」。開発サイクル全体を変えるGitHub Copilot、パナソニックも活用
2023年8月31日 10:06
開発者プラットフォームのGitHubは2023年8月30日、ソフトウェア開発における生産性に焦点を当てたイベントを東京都内で開催し、自動コード補完ツール「GitHub Copilot」をデモを交えて紹介した。
「GitHub Copilot」は、人工知能モデルの「OpenAI Codex」を使用した大規模な生成系AI系開発ツール。エンジニアの書こうとしているコードを自動で補完してくれる。ユーザー数は150万人以上。2023年2月にビジネス向けに一般提供を開始し、世界中で27,000以上の組織が登録して活用している。国内ではパナソニックコネクトのほか、ファッション通販大手のZOZOなどが活用して生産性を向上させている。
GitHubの調査によれば、Copilotを使った開発者は55%以上速くコードを書いているという。サポート範囲は開発者コードの平均46%。Javaでは61%に達する。約9割の開発者がタスク完了までの時間が早くなったと実感している。コードの補完だけでなく、能力を強化していくGitHub Copilot Xというビジョンのもと、AI機能の拡充にも取り組んでいる。
イベントにはパナソニック コネクト CTOの榊原彰氏も登壇。同社での活用状況を紹介した。主にクラウドやモバイル、生成Aなどの開発に携わる人たちにも使われており、 テスト導入の結果が好評だったことから今後本格導入予定だが、詳細は現在計画中とのこと。
開発者体験、組織をも変えるツール
まず始めに、ギットハブ・ジャパン カスタマーサクセスアーキテクトの服部祐樹氏がデモを行なった。「GitHub Copilot」はコードエディターの拡張機能の1つとして実装されており、エンジニアを助けてくれる存在としてコードを提案する。最終的な採用の判断は人間が行なうが、うまく活用することで実装の手間を省ける。服部氏によれば「特に企業では、テスト工程に関してはAIに任せたいという声が大きい」という。
「GitHub Copilot」はコードを読み、文脈を理解することで、どんなテストを書けば良いのか理解した上で提案コードを書いてくれる。ただし、テストケースもさまざまであり、全ての場合に対して書いてくれるわけではない。そのため実際にはエンジニアのスキルや知識は必要だ。「必要とするコードをどうやってAIから引き出すかも、これからは重要になってくる」という。
発展的ユースケースとしては、バックエンド開発のAPIを書く例が示された。特定のフレームワークにおいては背後にある文脈まで理解して、本当に全部補完して書いてくれるので、「タブとエンターを押していくだけで、だいたいできてしまう」という。これらは文脈を理解してくれる大規模言語モデル(LLM)の能力によるものだ。ChatGPTを使うのとは違って、エディターのツールとして実装されているので手間が大幅に省け、「本当にエンジニアとメッセージをやりとりするように耳元で囁いてくれる」という。
そして「開発者のツールとしてだけでなく、組織も変える可能性がある」と紹介を続けた。たとえば「こんなデータベースが欲しい」と考えたときにはデータベースの定義ファイルを作ってくれる。従来は色々なところからデータを引っ張るためにコピー&ペーストを何度も繰り返す必要があったが、その必要がなくなった。Copilotがデータを読んだ上で「こんなデータベース定義はどうですか」と提案してくるからだ。これは「こんなドキュメントの書き方はどうですか」といった発想にも繋がってくるので、開発ライフサイクル全体にも影響してくる話だという。
開発者体験も大きく変わる。CopilotはブラウザやExcel、エディタなどさまざまなツールを使うのではなく、エディタの中で完結する。そのためエンジニアの集中力を下げず、生産性をさらに上げることに寄与できるサービスだという。ほかにもさまざまな活用法があり、将来的には広範に広がっていくツールだと紹介した。
生成AIが開発フロー全体を再定義する
続けて、ギットハブ・ジャパン リージョナル ディレクターの山銅章太氏は日本の企業がどう活用しているか、中長期的に開発者体験にどう影響するかについて紹介した。山銅氏は「生成AIが新たな開発者体験を定義している」と語った。GitHub Copilotにより55%のコーディングが高速化し、コード生成のうち46%がカバーされており、満足度は75%に達しているという。
今はソフトウェアが全産業をドライブしていると言っても過言ではない時代となっている。多くの人が朝起きてから寝るまで数多くのアプリケーションにアクセスし、活用しており、ソフトウェアはあらゆる生活の基盤になっている。
ビジネスの成長もソフトウェアなしでは難しい。しかしソフトウェアを作る開発者は不足している。企業のデジタル資産を構築/維持する重要性やニーズはますます高まっている。コード量は増え、仕事は増加している。
ソフトウェア開発ニーズが増大し複雑化する中、開発者からは、もっと仕事に没入して満足度を高めるためのツールが求められている。その答えが「生成AI」だという。山銅氏は「生成AIは生産性に変革をもたらし、幸福度を高めて、イノベーションを起こす絶好の機会」だと述べた。
既にビジネスの効率化を推進するために多くの企業が取り組み始めており、開発フローを再定義しようとしている。世界でもっとも広く使われているAIツールが「GitHub Copilot」であり、ナレッジコミュニティのStack Overflowの調査によれば、55%が使ったことがあると回答。もっとも使用されたツールとなっている。また55%以上が活用することで従来よりも速くコードを書いている。これは想像を上回るものだという。
GitHub Copilotはあらゆる言語に対応しているが、特にPython、JavaScript、TypeScript、Ruby、Go、C#、C++に適しているとされている。生成したコードのうち、46%が使われている。JAVAだけなら61%に達する。コードの質は学習量によるため、人気があるコードや学習データが多いコードだと、AIが提案するコードも受け入れやすくなる傾向がある。
また使用したユーザーのうち75%が「仕事にやりがいを感じる」、「イライラが減少する」、「Copilotのあるなしでモチベーションが変わる」と答えており、採用面でも影響があるという。
日本に関しては今年(2023年)の2月に一般展開を開始。世界中では27,000以上の組織が使っている。日本ではデジタル系の会社だけでなくリテール、製造業など、あらゆる産業においてCopilotの導入が進められている。
パナソニックコネクトでは主に定型的なコード生成に使う時間を減らすために使われている。品質が良い製品を市場にいち早く出荷するためだ。
製造業ではレガシーな言語が使われたシステムが長年使われていることも少なくない。特に組込系では古い言語で開発されたものが使われていることが多い。そのコードをメンテナンスしたり、ブラッシュアップすることは経験の浅い若いエンジニアだと難しい。
そこでCopliotを使って別の言語に変換したり、どんなコードなのか効率よく学ぶといった使い方をすることで、手付かずだったソフトウェアを新しいものに置き換え、古い知的財産を新しいものを生み出す素とすることができているという。
全ての開発ステップにおいてAIを活用できるように
さらに強化した 「GitHub Copilot X」への取り組みも紹介された。この「X」は開発者エクスペリエンスへの取り組みのことを指しており、全ての開発ステップにおいてAIを活用できるようにすることを目指しているという。
山銅氏は「GitHubはデベロッパーの生産性を10倍高められるのではないかと考えている。1つのプロンプトで、秒の単位で終わらせるようになると、要件定義をもらってテストを行ない、またコメントをもらうといった従来の開発の進め方自体も変わってくるだろう。アジャイル開発に適したものになって、市場に取り入れられやすいものになる」と述べた。
そして「思考と同じ速度で開発できるようになる。それが手の届くところにきている。社会に役立つ、より良いソフトウェアが生み出される開発環境が生まれる」と語った。
パナソニックコネクトによる開発プロセスの変革
パナソニック コネクト 常務CTOの榊原彰氏は、同社ではソフトウェアベース事業、ハードウェアベース事業、それぞれの事業特性に合わせて異なる成長戦略を描いていると紹介した。モバイルノートブックの「レッツノート」等を含むハードウェアベース事業はポートフォリオの大幅な見直しを実施しており、収益性の高い事業に集中している。ソフトウェアやクラウドについては「現場ソリューションカンパニー」としてのノウハウを統合。サプライチェーンを自律最適化する「BlueYonder」を8,000億円で買収するなどの取り組みを行なっている。
「BlueYonder」はサプライチェーンマネジメントを行なうクラウドのプラットフォームで、さまざまなレイヤーをカバーして全体を最適化する。顧客維持率は97%に達しており、ほぼ解約されていない。「現場データを反映させるところがクラウドの肝であり、パナソニックのIoT技術とBlue Yonderの技術を統合して柔軟に変化に対応できるものにしていきたい」と考えており、これを「オートノマスサプライチェーンマネジメント」と呼んでいると紹介した。
榊原氏はパナソニックでは以前はソフトウェアに付加価値があるとは考えられていなかったと述べた。90年代、同社でいうソフトウェアとは基本的に組込みソフトウェアのことであり、あくまでハードウェアを動かすためのものだった。つまりハードでしか評価されてなかった。それが2000年代にはハードを売るためのソフトウェアへと発展した。
2010年代以降は、さまざまなサービスがコモディティ化。従来のウォーターフォールやCMMI(能力成熟度モデル統合)のような開発のやり方では市場に対応しきれなくなってしまった。「思考停止のような状態になってしまい、生産性がまったく上がらない状態が続いていた」という。
榊原氏の前職は日本マイクロソフトCTOで、2021年11月の現職就任は広く注目された。パナソニックコネクトに参加後、研究段階から整理。研究と開発も一体化した。買収したクラウドベンダーのBlue Yonderにも学び、アジリティとインナーソース文化への移行を進めた。マーケットドリブンで未来予測をしてバックキャストで開発を行ない、自分達の作戦(プレイブック)を立案して研究を進めているという。
またパナソニックは事業部制を取っている。同じ会社内だが事業部間ではコードも開示されなかった。だが現在の世の中では非効率だと考え、開発プロジェクトの成果物、研究内容などの詳細の可視化に取り組んでいるという。知財の質・量の充実も進めている。
クラウドソフトウェアの会社である「Blue Yonderに学べ」というのを標語として掲げ、どんな開発を行なっているのか学んでいるという。「アジャイル」とはソフトウェア開発手法の1つではあるが、実際には「ビジネスを速く回すための手法である」ということを徹底し、ビジネスモデルの可視化や意思決定、PoCの進め方、展開プロセスなども変えた。このプロセスを回すためにはさまざまなところを自動化しないといけない。そのためのツールの1つがGitHubであるという。
研究開発組織でも開発環境整備を行なった。さらに全事業部に対してGitHubなどの開発環境の導入を行なってプロセスを変えた。1年8カ月経ったところで、GitHubに1,100リポジトリ、539ユーザーへと活用が広がった。
「GitHub Copilot for Business」の試験導入
パナソニックコネクトにおける「GitHub Copilot for Business」の試験導入は7月10~30日にかけて行なわれた。ユーザー数は50名。ワークショップを2時間行ない、既存の社内利用ルール、知財部門、AI倫理規定委員会と相談の上、Copilot利用ルールを策定した。
アンケートの結果、一番活用が多かった言語はPython。生産性についてはほとんどの人が「上がった」と答えた。コード補完による効率的なコード生成とリーダブルなコードの提案、多様な活用と先回りしたサジェスト機能が便利だったという意見が多く、「テストコード生成で助かった」という人はかなりいたという。コーディング中の知識の収集など知見の取得時間の節約、また簡易な作業の代替などの時間短縮効果も評価が高かった。
継続使用については、費用はユーザーあたり月額19ドルに過ぎず、費用対効果は高いと判断された。そのほか、生産性向上の実感、簡易なコード生成による自分のアイディアをすぐ実現できるため引き続き利用する意欲がある、アプリ実践とテスト工数の削減に役立つ、継続使用したいというコメントが多かった。
榊原氏は、大胆な発想で研究テーマを探索しろ、アイデアだけでは意味がないので形にして見せてくれ、手を動かしてくれと言っているという。また従来のガチガチのプロセスではなく早く失敗して学びを得て、それを繰り返して品質を上げていく、そういう手法をとることを標語にしていると語った。
そして榊原氏が監訳を行なっているジーン・キム著『The DevOps 勝利をつかめ! 技術的負債を一掃せよ』(日経BP)の中の図を紹介し、DevOps(開発と運用)には3つの道があると述べた。
第1の道はITバリューのスピードアップ。まず、開発からリリースまでの速度を上げる。これがアジャイルの基本となる。そして第2弾は運用して得られた知見を開発にまた返す。第3段階はフィードバックの過程で組織が学び続けるような体制、文化を作ること。パナソニックコネクトではこの第3段階を目指していると語った。
最後に「パナソニックのハードウェアセントリックな開発スタイルを現代的なものに変えていくことにチャレンジしている最中」と述べた。GitHub Copiilotの本格導入自体は決定しているが、その詳細は現在計画中とのことだ。これまで「窮屈だ」と思っていた人たちは嬉しがっていたという。組込系ではあまり使われてないようだが、ソースコードはGitHubに上げるようにしており、プロセス可視化やノウハウ共有はほかのツールも使って行なっているとのことだった。