生成AIは「副操縦士」- 責任ある品質エンジニアリング

このブログは「"It’s a Copilot, Not a Pilot”: How to Use GenAI Responsibly in Software Quality Engineering」を翻訳・一部加筆したものです。
 

 

Felix Kortmann氏 – Ignite by FORVIA HELLA CTO

Felix をフォロー iconmonstr-linkedin-3

  • 役職:グローバル自動車部品サプライヤー FORVIA HELLA の子会社、Ignite by FORVIA HELLA の CTO。
  • 専門分野: 自動車ソフトウェアや高信頼性システムを含む、幅広いソフトウェアとハードウェアのポートフォリオの開発を統括しています。
  • 視点: 複雑で安全性が重要な環境において、AIの規律ある活用(「コパイロット、パイロットではない」)を重視しています。堅牢なツールチェーンへの統合とシフトレフト品質対策に強く注力しています。

「AI は副操縦士のように扱うべきです。その名前はコパイロットであり、パイロットではありません」

AI は急速に進歩しています。しかし、自動車や組み込みシステムなどの品質が重要な業界では、AI は単に急速に進歩するだけでは不十分です。責任を持って進歩しなければなりません。私の AI に関する経験は、学術研究で道路の損傷検出や自動運転システムのためのコンピュータビジョンに取り組んだことから始まりました。そこで私は、重要なことを学びました。

それは、AI が何ができるかではなく、AI に何をすることを許し、どのようにAI を導くかということです。

過去の役割と現在のIgnite by FORVIA HELLAのCTOとしての役割の両方で、私は堅固な基盤の構築に注力してきました。それは優れたツール、厳格なレビュープロセス、一貫したワークフローです。そのため、生成AIに関しては、ブームに流されません。私は、エンジニアリングチーム全体にスケールし、ソフトウェアの品質を向上させる「責任ある採用」を優先しています。私は、スピードだけでなく、エンジニアリングチーム全体に拡大し、ソフトウェアの品質を向上させる責任ある採用を優先しています。

QAワークフローにおけるGitHub Copilotの早期採用

私たちは、自動車グレードの組み込みソフトウェア開発においてGitHub Copilotを早期に採用した企業の1つです。このようなツールを適切に活用すれば、生産性を大幅に向上させることができます。しかし、エンジニアがプロンプトの出し方、出力の解釈、批判的なレビューの方法を知らない場合、誤ったコードをこれまで以上に迅速に生成するリスクもあります。

そのため、私はチームに常に次のように伝えています。

「名前はコパイロットです。パイロットではありません。提案は受け入れるが、自分の頭も使いなさい。全体像をレビューしなさい。」

その後、私たちはGitLabのツールへの対応を拡大し、Ignite by FORVIA HELLAで3,000人以上のエンジニアに対し、生成AIをコーディングだけでなく、要件の明確化、テストカバレッジ、命名規則など、より明確な思考プロセスに活用する方法についてトレーニングを実施しました。

生成AIのソフトウェアQAに適合

生成AIの最も有望な分野の一つは要件工学です。自動車ソフトウェアでは、典型的なプロジェクトは5,000件の顧客要件から始まり、10,000件を超えるソフトウェア要件に膨れ上がることもあります。手動で不一致や重複を検出するのは悪夢です。

これらの問題を早期に発見するほど、効果は高まります。統合開発環境(IDE)レベルで検出されたエラーは、QA段階で発見されたエラーの10倍安価です。そのため、私は統合ツール(ソースコードのエラー、スタイルの問題、潜在的なバグを自動的にチェックする静的コード分析ツールであるリンター)、MISRA準拠チェッカー、AIを活用した提案をIDE内に直接組み込むことを推奨しています。ただし、これは生成AIが静的コードアナライザーソフトウェア構成分析プラットフォームのようなツールを置き換えるという意味ではありません。生成AIはこれらのツールを補完し、伝統的なルールベースのエンジンが不足する領域、特に要件文書や自由形式のコードコメントのような構造化されていない入力の処理において機能します。

ガイドラインからガードレールへ

ツールだけでは不十分です。エンジニアは、生成AIを責任を持って使用するためのガイドラインが必要です。展開中にリーダーシップ層からよく聞かれた質問の一つは、「高品質なコードをどう確保するか」でした。

私たちの回答は、開発者に プロンプティング技術、ユニットテスト提案ガイド、明確な境界線を提示することです。私たちは Copilot にユニットテストを書かせません。Copilot に提案させ、私たちが決定します。

したがって、行動の支援には以下の内容が含まれます:

  • 開発者に対するプロンプトエンジニアリングのトレーニング
  • 明確な生成AI使用境界の確立
  • AI支援ユニットテスト提案を促進しつつ、AIが監視なしにテストを書くことを許可しない。

私がよく言うように、

「あなたが正確に何を求めているか分かっているなら、優れたプロンプトが迅速に目的を達成します。不確かな場合はAIが探索を支援しますが、最終的な判断はあなたにあります。」

QAにおける生成AIの未来

将来を見据えると、生成AIが自動化されたアーキテクチャレビュー、インラインドキュメント生成、最終的にはリリースドキュメント分析において、AIが700ページのPDFを事前に読み込み、人間が確認する前に品質問題を指摘する役割を果たす可能性に興奮しています。

しかし、まだその段階には至っていません。

「AIが生成した出力の品質を検証する成熟した方法はまだ存在しません。AIが真に価値を追加しているかを評価するためのより良いメカニズムが必要です。」

それまでの間、私のアドバイスはシンプルです。すべての開発者を品質エンジニアに育成すること。伝統的なツール、AIの拡張機能、ドメイン知識の適切な組み合わせを装備し、生成AIをショートカットではなく加速器として活用できるようにしましょう。

QAリーダーと開発チーム向けの要約

  • Copilotスタイルのツールは探索用に使い、最終的なコード生成には使用しないでください。
  • 生成AIをIDEだけでなく、GUIテスト自動化にも統合してください。
  • 要件分析を自動化して、後工程のQA債務を削減してください。
  • 静的解析ツールやSCAツールを置き換えないでください。それらを強化してください。
  • AI利用を拡大する前にガードレールを構築してください。

このブログは、QA およびテスト自動化の第一人者、Peter Schneider(Qt Group 製品管理責任者)、Maaret Pyhäjärvi氏(CGI コンサルティングディレクター)、Felix Kortmann氏(Ignite by FORVIA HELLA CTO)による 3 回シリーズの 1 回目です。3 人は、最新のテスト戦略、自動化フレームワーク、およびソフトウェア開発における品質保証の役割について、豊富な経験と独自の視点をもたらしています。

QA Orbit を購読して、今後のブログをいち早くお読みください。

次の一手

パネルディスカッション「Maximize the Potential of AI in Quality Assurance品質保証における AI の可能性を最大限に引き出す)」をご覧ください。以下のAI 実践者による洞察をご紹介します。

Peter Schneider, Principal, Product Management at Qt Group
Maaret Pyhäjärvi, Director of Consulting at CGI
Felix Kortmann, CTO at Ignite by FORVIA HELLA

Panel SQF: Maximize the Potential of AI in Quality Assurance


Blog Topics:

Comments