生成AI導入により業務効率と品質はどうなるのか?
NECソリューションイノベータは、NECグループのシステムインテグレーター。従業員数は約1万2000人で、多様なエンジニアが集まっており、特にマネジメントやアーキテクトを得意とする人材が多い。
最初に登壇したのは藤井美穂氏。これまで10年以上にわたり、Windowsアプリやスマホアプリ、Linux向けのファームウェア開発など、さまざまなレイヤーの開発を経験してきた。現在はITアーキテクトとして、AWSやAI、XRなど最新の技術を取り入れたサービス提供に力を注いでいる。
藤井氏は、エンジニアの仕事が多岐にわたる中で、本当にやりたい仕事は限られていると指摘した。「私の場合、チームメンバーとコミュニケーションを取りたいし、良いコードを書きたいし、新しい技術にも挑戦したい。でも実際にはやるべき仕事が山積みであり、この状況を改善する助けとなるのが生成AIだと考えています」と話した。エンジニアの仕事を分類すると、生成AIに任せられる部分が見えてくる。プログラミングを含む開発業務、保守運用、そしてコミュニケーションについても、AIの活用可能性がある。藤井氏はこれらの分野の具体的な活用事例を紹介した。
開発業務では、GitHub Copilotを活用したコーディングが可能だ。普段使用している開発者ツールにプラグインを導入すると、コードを書き始める際にCopilotが適切と思われるコードを提案してくれる。開発者はその提案を受け入れるかどうかを判断するだけでよい。さらに、自分のコードに対して改善点があるかどうかのセルフレビューも行える。藤井氏は「実装を褒めてくれることもあり、嬉しくなります!」と語った。
ソースコードを解析するため、変数や関数の一覧をMarkdown形式で出力することも可能だ。これにより、コードを元に設計書などのドキュメントを作成する際の省力化が期待できる。また、AIが日本語でソースコードを解説できるため、コードの理解も深まる。藤井氏はこのほか、AWS Cloud Development Kitのテンプレートから、アーキテクチャー図を作る、JavaScript XMLのレイアウトや目的に応じた関数について、コメントした内容のコードの自動生成の例を示した。
GitHub Copilotの効果を測るため、開発歴3年以上のA氏、2年以上のB氏、1年未満のC氏とD氏の開発生産性や品質を調査した。その結果、4名全員の生産性が向上した。特に開発歴が1年未満のC氏とD氏は大幅な効果を見せた。バグについては、4名中3名は減少したものの、D氏だけは増えてしまった。この要因はCopilotの提案を鵜呑みにしてしまったためだ。藤井氏は「生成AIは必ずしも正しい答えを返してくれるとは限りませんので、提案された内容が合っているかどうかをジャッジする面も大切です」とコメントした。
さらに「Copilotを使用するとコーディング時のイライラが軽減されたか」「繰り返し作業をより早くこなせるようになったか」を尋ねたところ、「そう思う」や「とてもそう思う」が大きな割合を占めた。このことから、エンジニアのストレスを減らす効果があると考えられる。藤井氏は「生成AIが助けてくれる部分がたくさんあるので、エンジニア自身が自分のやりたいことに使える時間が増えるのではないでしょうか」との考えを示した。
AIを活用した迅速な障害解析と解決方法
続いて、NECソリューションイノベータの堀研介氏が登壇し、保守運用における生成AIによる障害対応について話をした。堀氏はAPI連携プラットフォームや顔認証決済、AI売買審査など、NECのサービス事業のクラウドSIを担当し、基盤のリーダーを務めるプロフェッショナルだ。
システム障害が発生した際、その解析に多くの時間を費やすことがある。障害は予測できないため、24時間365日対応が求められることもある。堀氏は、実際の業務で生じた障害を例に、AWSの生成AIアシスタント「Amazon Q」を用いて原因を究明した。
堀氏が紹介したトラブルは、オンプレミスのデータセンターに配備したインターネットバンキングシステムの安全性向上のため、AWS Shield Advancedを導入し、AWSへのアクセスをDirect Connect経由に変更するプロジェクトに関するものだ。結合テストでインターネット経由のアクセス時に、タイムアウトが発生し、一部の画像ファイルやHTMLファイルで応答がなくなることがあった。発生頻度も不規則で、原因特定に苦労し、解決までに4日を要した。
原因はルーティングの誤りで、複数のサブネットにデプロイされたALBのルーティングが一部間違っていた。片方はインターネットを経由していたが、もう片方はインターネットに向いていなかったため、戻りの通信が返らなかったのだ。この障害により結合テストが全てストップし、オンプレミスとクラウド間でタイムアウトの原因を切り分けるのに多くの時間を費やした。
堀氏はこの障害についてAmazon Qに質問した。検証環境として、パブリックサブネット上に2つのルーティングを設定し、そのうち片方だけ誤った状態のシンプルなHelloWorld環境を用意した。URLアクセス時の断続的なタイムアウトの原因を尋ねたところ、Amazon Qはネットワーク接続に関する問題解決のヘルプを提供した。さらに詳細な質問をしたところ、Amazon Qは自ら分析を行い、インターネットとALBの接続を確認してルーティングの誤りを見事に特定した。
この結果から堀氏は「人間では約4日かかった障害を、Amazon Qとのたった3回の会話で解決しました。障害解析もAIと一緒に行う未来がくるかもしれません」とコメントした。
アジャイル開発とAIの相乗効果とは
続いて、NECソリューションイノベータの加藤学氏が登壇し、開発チームのコミュニケーションやマネジメントと生成AIをテーマに話した。加藤氏はマイクロサービスや認証サービスの開発にアーキテクトとして関わっており「今回はアジャイル開発の事例を紹介したい」と説明を始めた。
アジャイルの特徴は、設計からテストまでの各サイクルを繰り返し、フィードバックを頻繁に行い迅速に対応できる点にある。
加藤氏のアジャイルチームは、短いサイクルで開発を続けるため疲弊しがちで、新しいことに取り組む時間が取れず、ペアプログラミングもメンバーが忙しくて頼みにくいという課題を抱えていた。アジャイルでは各サイクルごとに計画を立てて進めるため、残業が増えることはないが、作業に追われて勉強の時間が取れず、メンバーが疲弊しモチベーションが低下する懸念があった。
そんなある日、GitHub Copilotをプロジェクトで使えることになり、メンバーは期待を寄せた。生成AIは必ずしも正しい答えを返すとは限らないが、アジャイルの短いサイクルで得た知見を次々に改善していけるため、不安はなかった。設計段階では問題が起こりにくく、開発やテストで遅れが生じることが多いが、アジャイルでは小さな失敗を繰り返し改善して進めていく。このように、小さな失敗を教訓として改善を繰り返すことでAIも含むチーム全員が成長し続けていける。
生成AIを導入して3ヶ月、約10サイクル展開した後にメンバーにアンケートを採った。「生成AIの導入で開発時間を短縮できましたか?」という質問に対して、ほとんどの人が「そう思う」「とてもそう思う」と回答した。また、「生成AIで短縮した時間を何に使用しましたか?」という質問に対しては、検討作業やチェック時間の増加、新しい技術の調査などの学習に充てられていることがわかった。
加藤氏は「ウォーターフォールだと3ヶ月経ってもまだ設計段階で、開発に生成AIを使うところまで至りません。しかし、アジャイルでは自分たちの成長が促進されています。これはすごいことだと思う。最初は失敗してもいい。小さな失敗を繰り返して改善していくのがアジャイルの良いところ。生成AIと良い関係を保ちながら私たちは今も成長し続けています」と語った。
加藤氏はさらに人材不足について話を向けた。NECソリューションイノベータではリモートワークを中心のワークフローを確立しているため、全国幅広い地域から人材を集められるようになっているものの、それだけでは足りないため、海外の人材登用を拡大したいと考えている。加藤氏は、ベトナムのメンバーがオンライン会議でベトナム語を話し、それが日本語テキストに自動翻訳される様子のビデオを共有し「このような技術が進展すれば、言語を超えてリアルタイムでコミュニケーションできる時代が来るのではないかと考えています」とコメントした。
最後に再び藤井氏が登壇し、エンジニアには「本当にやりたい仕事」があること、やりたい仕事に集中するには、これまで述べてきたように、生成AIの助けが有効であることを説明した。「AIは時には優しい先輩として、時には気が利く後輩として、隣でエンジニアの仕事を一緒に支えてくれるパートナーです」
本セッションの締めくくりとして語られたのは、エンジニアの「輝く未来」。そこには、パートナーであるAIとともに、美味しい大福を堪能しつつ、技術力を高めながら楽しく仕事をする未来の1日が描かれていた。
藤井氏は「エンジニアがやりたいことをもっと追求し、エンジニア自身が輝いていきましょう!」と呼びかけた。
私たちと一緒に働きませんか?
国内最大級のソフトウェア企業、NECソリューションイノベータでは一緒に働く仲間を募集しています。キャリア採用サイトでは現場の社員の声や働く環境、社内制度について詳しく掲載しています。本記事で興味を持たれた方は、キャリア採用サイトもぜひご覧ください。