AIコーディングが生んだ“品質管理”という新たな課題
昨年、AIに指示を出しながら感覚的に開発を進める“Vibe Coding”が話題となった。そこで施氏もAIコーディングで作ったきれいなWebサイトを公開し、意気揚々と社内のメンバーに報告したところ、「今すぐそのサイトをシャットダウンしてください。30秒でルート権限を取得できてしまいました」と警告されたという。
このエピソードからもわかるように、AIコーディングでは、生成コードの検証が不可欠だ。いくら外見上は問題がなくても、セキュリティ・可用性・保守性・OSSライブラリ・OSSライセンスなど、さまざまな問題が潜むリスクがある。
GoogleのCEOサンダー・ピチャイ氏が出演したPodcastでは、「Googleでは、AIコーディングツールの導入により、現時点で開発生産性が約10%向上している」と発言していた。人間とAIのコーディングスピードだけを比較すれば、もっと生産効率が高まってもおかしくはない。だが実際は、「誰がどのタイミングでAIが生成したコードをチェックするのか」という新たな課題が生じており、「レビューにかかる時間や労力が、効率性の改善幅を狭めている」と施氏は指摘する。
最近では、AIコーディングをした後に、同じAIエージェントで検証するケースもあるが、AIエージェントによる検証には、さまざまな制限がある。たとえば、判定根拠がブラックボックスで確率論的。学習データとプロンプトによって結果が揺らぐこともあり、再現性に難がある。セルフレビューには限界があり、生成側と同じバイアスを持っていることから、本当は問題があったとしても問題なしと判断してしまう可能性がある。そして何といっても、外部のAIモデルを利用すると、検証ごとにトークンを消費するため、コストが高騰する危険がある。
そこでSonarQubeの登場だ。SonarQubeの検証では、AIは使わない。内部の仕組みが見えるホワイトボックスで、決定論的だ。7,000以上のルールによって検証するため、どのルールのどの箇所に違反しているかが明示される。そのため再現性も100%。AIのように結果が揺らぐことなく、何度検証を走らせても、常に同じ箇所を問題点として指摘する。また、AIコーディングとは別の独立したレイヤーで検証するため、組織全体で共通の閾値を適用でき、個々のAIエージェントの癖に依らない。また、SonarQubeのコミュニティ版(SonarQube Community Build)であれば、エアギャップやオフラインの環境であっても、回数無制限でスキャンすることができ、ネットワーク通信費用は発生しない。(ちなみにSonarQubeにはOSS版のほかに、クラウド版やIDE連携機能もある)

