Qtブログ(日本語)

生成AIコードの品質を決定論的に自動担保するワークフローのご紹介

作成者: Mikio Hirai|Jun 19, 2025 8:21:15 AM

こんにちは。Qt Japanでソリューションエンジニアを務めております、平井です。

本日は、生成AI時代のコード品質担保という題材でブログを執筆したいと思います。

生成AIによるコーディング生産性の向上

私も含め、読者の皆様も日々のコーディングに生成AIを使用している方は多いのではないかと思います。

Open AI、Anthropic、Google、Meta、DeepSeekなどのAI系テックジャイアントが日々熾烈な競争を繰り広げる中で、生成AIができること、そしてその品質は日々改善されていき「もはやAIなしでコーディングをすることはできない」と感じられる方も多いのではないでしょうか。

こういった動きは世界中で広がっているようで、MicrosoftのSatya Nadella氏は、20%から30%程度のMicrosoftのコードはAIによって書かれているという発言をしていたり、MetaのMark Zuckerberg氏は、おそらく来年には50%の開発がAIによってなされるだろうと発言しています。(ソース

一方で、我々エンジニアにとってはAIによって仕事が楽になるというメリットの裏に、AIがエンジニアの職を奪っていくのではないかという不安もつきまといます。

実際に、AmazonのCEOであるAndy Jassy氏は生成AIエージェントにより、管理部門の従業員が減少する可能性に言及しています。(ソース

アメリカの大学専攻別・新社会人の失業率ワースト10では、3位にコンピューターエンジニアリング(7.5%)、7位にコンピューターサイエンス(6.1%)という結果となっており、アメリカ全体の失業率(2025年5月)の4.2%と比較しても高い数値になっています。(ソースは2025年6月18日のWBS「イラン在住日本人「街はパニック」核施設の攻撃検討バンカーバスターとは」)

意外と注目されていない生成AIコーディングのリスク

こういった雇用の不安がハイライトされる中で、意外と注目されていない生成AIのリスクが生成AIが生成したソースコードの品質です。

生成AIが生成したソースコードを1行1行しっかりとレビューしている人は、実際どれくらいいるのでしょうか?「生成AIだから品質も高いはず...」「面倒だし、まぁ動いているからいいや...」こういった誘惑に駆られ、また業務の忙しさが追い打ちをかけて、ついしっかりとしたレビューなしにコードベースにマージしてしまいたくなる誘惑というのは、あるのではないでしょうか。

生成AIというのは「非決定論的に」コードを生成しているので、プロンプトからは意図せぬ記述がコードに入り込むことがあります。製品によっては、これが重大な事故につながってしまうこともあります。例えば、自動車や航空機、医療機器などのシステムにおけるソフトウェアの重要性も年々高まってきており、そのなかに生成AIコードのバグが入り込むことがあったら、ユーザーの安全にもかかわる重大事故につながりかねません。

非決定論的生成とは?

生成AIは「次に出力する語(トークン)」を確率的にサンプリングする仕組みを持つため、同じプロンプトを与えても毎回微妙に異なるコードを生成します。
このように再現性が一定でなく、同じ入力から同じ結果が得られない性質を「非決定論的」と呼びます。

しかし、だからと言って生成AIを使うのを制限してしまっては、開発スピードで競合他社に後れを取ってしまいますし、生産性も下がるので人件費も増えてしまいかねません。

この問題を解決する方法を考えるとき、「生成AIによる生産性の向上」と「高いレベルでの品質の担保」の良いとこどりをすることが、とても重要になります。

もっと具体的にいうと、生成AIで「非決定論的に」コードを生成して生産性と市場投入スピードを上げ、実装機能の数を増やして製品を消費者にとって魅力的なものにする一方で、クオリティゲートとして「決定論的に」ソースコードの品質を自動担保するツールをワークフローに組み込むことで、高精度なソースコードレビューを自動化し、開発者が新機能の開発に集中できるようにするのです。

Axivionを使用した決定論的クオリティゲート

Qt Groupでは、Axivion(アクシビオン)というC/C++/C#/CUDAを対象言語とする高機能かつ高性能なハイエンド静的解析ツールをご案内しております。

今日、世界中で様々なお客様にご活用いただいていますが、特に車載やメディカルや精密機械系等、ソフトウェアに高い品質が求められる製品で選ばれている実績がございます。(日本での実績例はこちら

AxivionはMISRAAUTOSARの自動チェックはもちろん、CertCWEC Secure Codingランタイムエラーや自社のコーディング規約まで、実際にソースコードをコンパイルすることで非常に高い精度で検出します。さらに、コードクローン循環依存デッドコードメトリクスアーキテクチャ検証など豊富な機能を提供しており、非常に高機能かつ高精度なハイエンド静的解析ツールと言えます。ライセンス形態の自由度が高く同時に使用できる人数に制限がないことや、CI/CDとの高い相性も強みとして挙げられます。

私が提案するワークフローは以下です。

①左手中央に位置するエンジニアは、Axivionをローカルインストールした状態で、生成AIを使用して開発を行います。②機能の実装が完了したら、IDEに統合したAxivionの静的解析をローカルで実行します。これは、コードを全体のコードベースにプッシュする前に、少なくとも自分の書いた部分に対して問題が無いかを確認する意味があります。Axivionの柔軟なライセンスシステムにより、同時に使用する人数に制限がかかることはなく、フローティングライセンスで発生しがちな待ち時間(=ボトルネック)は一切発生しません。ここで「決定論的に」検知された問題はエンジニアが修正し、再度Axivionを実行して③バージョン管理システムにプッシュします。

④バージョン管理システムはCIジョブを実行します。⑤ここではAxivionが実行され、全体のソースコードに対して「決定論的に」解析を実行します。⑥今回の変更点に対する解析結果がWeb UIに結果が表示され、ソースコードの品質が可視化されます。⑦エンジニアやプロジェクトマネージャーなどのメンバーはこちらを確認し、迅速に問題を修正して再度Axivionによる全体チェックの結果を待ちます。

このワークフローを構築することで、生成AIのメリットとAxivionの高性能かつ広範囲な「決定論的」解析をクオリティゲートとして自動実行できるメリットを最大限享受し、市場投入速度と生産性、製品の魅力と品質のすべてを同時に向上させることができます。

ご相談はこちら

こちらのセットアップに少しでもご興味をお持ちいただけた方は、是非こちらのリンクから、「お問い合わせ内容」欄に当ブログを読まれた旨を併記のうえ、お気軽にご連絡ください。まずは相談ベースからでも、お話をお聞かせいただければと存じます。