このページの本文へ

Google Cloud上に生成AIを活用できる開発環境を構築、プログラミングスキルの底上げへ

古い言語のプログラムを生成AIで統廃合 住友ゴムが“Gemini”で進める開発効率化

2024年03月14日 08時00分更新

文● 福澤陽介/TECH.ASCII.jp

  • この記事をはてなブックマークに追加
  • 本文印刷

 Google Cloud は、2024年3月7日、生成AIをテーマとしたイベント「Generative AI Summit Tokyo '24」を開催。同イベントでは、生成AI活用を実践に移す、各業界のユーザー企業が登壇した。

 本記事では、設計におけるシミュレーションの現場で開発効率化に取り組む住友ゴム工業の「製造業における生成AIを使った業務効率化への取り組み」と題したセッションの様子をお届けする。

住友ゴムのシミュレーション手法開発部門が抱える悩み

 住友ゴムは、タイヤ製品を中核に、ゴルフやテニスなどのスポーツ用品や、地震による建物の揺れを低減する制振ダンパーといった産業品も手掛けている。

 このうちタイヤ製品の設計では、開発初期段階から車両メーカーとの間で設計データをやり取りするため、「デジタル化が重要だ」と住友ゴム工業の研究開発本部 研究第一部長である角田昌也氏は言う。

 加えて、タイヤ開発では、多岐にわたる性能のシミュレーションが必要となる。住友ゴムでは、デジタル設計に1990年代から取り組んでおり、その中で用途に合わせた解析ソフトを活用してきた。

住友ゴム工業 研究開発本部 研究第一部長 角田昌也氏

 シミュレーションのプロセスにおいては、自動化処理やカスタマイズのために、CADでは“Lisp”、シミュレーションには“C++”、結果処理には“Python”といった具合に、さまざまなプログラミング言語を用いなければならないという。さらに、古い自作ソフトも稼働中であり、“Fortran”や“Perl”といった言語も現役である。

シミュレーションの流れ、自動化やカスタマイズのために様々な自作ソフトが稼働し、多様なプログラミング言語が用いられる

 こうした開発環境の中で、角田氏が所属するシミュレーション手法開発部門は2つの課題を抱えていたという。

 ひとつはプログラムを書くにあたっての課題だ。古い言語を書けるエンジニアが定年退職したことで、保守性に不安を抱えていた。加えて、マルチリンガル(多様な言語)でのプログラミングが必要であるにもかかわらず、入社してからプログラミングを始める社員も多く、スキルの底上げや開発効率化が求められていた。

 もうひとつは、プログラムの運用にまつわる課題である。プログラムを実際に活用する設計部門では、最新バージョンの適用や環境設定の煩雑さが課題となっていた。ウェブアプリ化すれば解決できるが、その場合は新たにサーバー管理などの作業が生じる。

新規コード生成や似た言語間の変換は比較的スムーズに実現、違いが大きな言語間変換は回避策も

 まず、プログラミングを書くにあたっての課題は、生成AIを用いて解決を試みた。部門横断の調査チームを結成し、Google Cloudのセキュアな環境で、生成AIの開発支援が受けられる「Gemini for Google Cloud(旧称Duet AI for Google Cloud)」を2023年10月頃より利用開始している。

 Google Cloudでの開発環境は、同社の多くのエンジニアが利用していたVisual Studio Codeを基盤としており、ひとつの画面で、Gemini(GoogleのAIアシスタント)との会話から、プログラミングの実行確認までができる。

Google Cloudでの開発環境上の画面

 生成AIの適用は、開発効率化のための“新規プログラムの自動生成”から始めた。例えば、「csvデータを読み込んで、3Dプロットを描画するプログラムをPythonで書いて」とプロンプトで指示し、そこで自動生成されたコードを基に、エラー修正などを追加で依頼するだけでコードを完成させる。

 加えて、単体テスト用のプログラムも生成してもらい、プログラムを検証するのも重要だという。「『生成AIの書いたプログラムは信用できない』という人もいるかもしれないが、信用できるようにするテストも考えてくれるくらい優秀だ」と角田氏。

新規プログラムの自動生成の例

単体テストも生成してもらう

 もうひとつの適用先が、保守性を高めるための“プログラム言語の変換”だ。PerlからPythonといったスクリプト言語同士の変換は、直接生成AIに変換を依頼する形でも比較的上手くいくケースが多く、「有識者の負担が減らせる」と角田氏。

 一方で、FortranからPythonのようなコンパイラ言語からスクリプト言語の変換については、「『私は所詮LLM』と、さすがに断られた」(角田氏)という。回避策として、Fortranのプログラムを生成AIに要約してもらい、その要約を基にPythonによるコード生成を依頼すると、適宜修正が必要となるものの変換に成功したという。「Pythonが得意な人なら上手くいくのではないか」と角田氏。

プログラム言語の変換(スクリプト言語同士の例)

プログラム言語の変換(コンパイラ言語からスクリプト言語の例)

生成AIを活用できる開発環境構築でプログラミングスキルの底上げへ

 2つ目のプログラムの運用に関しては、Google Cloud内のセキュアな環境に、自作プログラムをウェブアプリ化して社内配布する環境を整備することで解決した。

 ここでは、コンテナ型アプリをGoogle Cloudが用意した環境で構築できる「Cloud Run」を用いており、利用者(設計者)の環境を考慮する必要がなく、バージョン管理も容易になったという。ウェブサーバーの管理もGoogle Cloudに任せられる。また、利用者からのアクセスがあった時のみ課金されるため、低コストで運用が可能だ。

自作プログラムをウェブアプリ化して社内展開

 角田氏は、「シミュレーション担当のエンジニアがプログラムを開発して直接社内に展開できる。今まではシステム部門に頼っていたが、技術の進化が速い中では、アジャイル開発が実施できる環境を整備することが重要になってくるのではないか」と語る。

 今後も、既存プログラムの整理、統廃合や、ウェブアプリ化を推進し、開発・運用の負荷を軽減していく。更には、生成AIを活用できる開発環境を社内に拡げて、プログラミングスキルの底上げを目指していくという。

■関連サイト

カテゴリートップへ