AI導入における漠然とした不安の正体

最初に佐々木氏は、GitLabの概要とAIによる開発支援機能について紹介した。GitLabは、ソフトウェア開発ライフサイクル全体を支援する統合プラットフォームだ。単なるGitリポジトリ管理ツールに留まらず、チケット管理、CI/CD、セキュリティスキャン、さらには生産性分析といった機能を単一のプラットフォーム上で提供している。
そして、GitLabのAI開発支援機能がGitLab Duoだ。GitLab Duoの特徴は、AIによるソースコード生成だけでなく、メンバー間の議論の内容や開発の進捗といったソフトウェア開発ライフサイクル全体のコンテキストをAIが理解し、チームの一員のようにサポートする点にある。例えば、CI/CDの失敗の原因の特定や、議論の内容を反映したコードの生成が可能だ。佐々木氏は「GitLab Duoは、チームメンバーの一人ひとりに寄り添い、伴走することをコンセプトにしているAIだ」と紹介する。

AIを活用した開発ツールが次々と登場する一方、開発現場への導入状況はどうだろうか。ここで佐々木氏は、2024年にGitLabがグローバルで実施した調査結果を紹介した。レポートによれば、ソフトウェア開発にAIを活用中、または活用予定と回答した組織は78%に上った。しかし佐々木氏は、実際にはPoCや検証段階の利用も含まれており、開発プロセスへの本格的なAI導入は進んでいないのではないかと指摘する。特に日本の多くの企業が、「AIによって出力される成果物の品質は大丈夫か」「自分たちのソースコードがAIのトレーニングに使用されてしまうのではないか」といった根深い不安を抱えており、日本での本格導入の割合は50%を切るのではないかと佐々木氏は推測する。
佐々木氏は、組織が抱える漠然とした不安感を、3つの具体的な懸念に分類した。
第1の懸念は、知的財産の外部流出だ。自社の機密情報やソースコードがAIの学習に使われ、意図せず他社の生成物として流出した場合、競争優位性を失いかねない。 佐々木氏によれば、一部のツールでは「トレーニングには使用しない」と謳いつつも、特定の条件下で学習データとしての利用を許可するオプションが存在し、エンジニアが意図せず情報流出させてしまうリスクが潜んでいるという。
第2の懸念は、生成物の信頼性だ。CSET(米国セキュリティ・新興技術センター)が発表したレポート「Cybersecurity Risks of AI Generated Code」では、5つの著名なLLMにコンテキストを一切与えずにコード生成を行わせる実験を行った。結果として、生成コードの約半数に、バグやセキュリティリスクが含まれていた。これは、AIがインターネット上に公開されたコードを学習していることに起因する。バグや脆弱性を含むコードも無差別に学習し、人間のミスまでも模倣してしまうのが現状だと、佐々木氏は指摘する。
そして第3の懸念が、人間によるレビュー能力の限界だ。AIはリソースさえあれば無制限に働くため、次々と成果物を作り出す。しかし、人間のリソースには限界があり、AIのように広範な知識も持ち合わせていない。 AIが生成した膨大なコードの品質やセキュリティ要件を、人間によるレビューですべて担保するのが困難で、その点が開発のボトルネックになる。
GitLab Duoを紹介するウェビナー開催!
記事内で登場したGitLab Duoをご紹介するだけでなく、コーディング支援に留まる限定的なAI活用、AIが生成するコードに潜む脆弱性の検知と排除、そして現場で発生する予期せぬ知的財産の流出リスクといった、AI活用がスタンダード化する過程で浮上した新たな課題の解決方法についてもお伝えします! ソフトウェア開発におけるAI活用を実践・検討中の方におすすめです!10月8日(水)15時から開催いたします。
3つの懸念をどう解消するか——GitLabが考える解決策
これらの懸念に対し、佐々木氏は、GitLabが考える解決策を提示した。
第1の懸念である、知的財産の外部流出については、事業者のモラルと透明性の確保、そして利用者がコントロールできる選択肢を増やすことが不可欠だという。GitLabでは、プライバシーファーストを掲げ、顧客のコードをAIの学習データとして使用しないことを保証(※)しており、学習を許可するオプトインオプションも存在しない。
さらにSaaS版だけでなく、パッケージ版も提供しているので、自社のクラウドやオンプレミス環境にGitLabを構築することも可能だ。その場合、例えばAWS Bedrockや、ローカルLLMとの統合も可能になる。このような多彩な選択肢をGitLabが提供することで、企業は自社のセキュリティポリシーに合わせて、外部への情報流出リスクをコントロールすることができると、佐々木氏は言う。


第2の懸念である、生成物の信頼性については、セキュア・バイ・デザイン、セキュリティスキャン、シフトレフトといった、人間によるソフトウェア開発に適用される対策をAIにも適用することで対応している。GitLabでは、ソフトウェア開発にAIが活用されるようになる前からDevSecOpsの中核機能としてセキュリティスキャンを提供しており、マージリクエストの作成時に、脆弱性が含まれるライブラリやコンテナイメージ、バッファオーバーフローなどのリスクを自動でチェックする仕組みをパイプラインに組み込める。 このスキャンは、AIが生成したコードにも人間が書いたコードにも等しく、かつ強制的に適用されるため、脆弱性を含んだコードがリポジトリに混入するのを防ぐことができる。


最後に第3の懸念である、人間によるレビュー能力の限界については、レビュー自体にもAIを活用することで解決を図る。ソフトウェア開発におけるレビューは多角的な観点から実施されるが、中でもプログラミング言語やフレームワークに関する技術的観点でのレビューには高度な専門知識が要求され、有識者のリソース不足がしばしばボトルネックとなる。佐々木氏は、このような専門知識を要するレビュー業務こそAIの得意分野であり、AI活用によってレビュー負荷の大幅な軽減が実現できると指摘している。
また、GitLab Duoは、各チームに存在するレビューの観点やルール、チェックリストなどをYAML形式で記述し、それらの指示に基づきAIにチェックさせることが可能だ。この仕組みにより、細かなソースコードの変更であっても、チームや組織に設定されたルールに基づいて自動的にチェックが実行される。

GitLab Duoを紹介するウェビナー開催!
記事内で登場したGitLab Duoをご紹介するだけでなく、コーディング支援に留まる限定的なAI活用、AIが生成するコードに潜む脆弱性の検知と排除、そして現場で発生する予期せぬ知的財産の流出リスクといった、AI活用がスタンダード化する過程で浮上した新たな課題の解決方法についてもお伝えします! ソフトウェア開発におけるAI活用を実践・検討中の方におすすめです!10月8日(水)15時から開催いたします。
AIをもってAIを制す GitLab Duoで実現する安全な開発
最後に佐々木氏は、GitLab DuoがいかにしてAI導入の懸念を払拭し、安全な開発を実現するかをデモで実演した。
まず、GitLabの画面に表示されたWeb API開発のイシューから、専用のブランチを持つマージリクエストを作成。この時点で、ブランチに加えられた変更には、セキュリティスキャンとAIレビューが実行されるよう設定されている。ここで佐々木氏は現実的なリスクを想定したシナリオとして、AIによるコード生成機能を使わず、あえて人間の手で意図的に脆弱性のあるコードを挿入した。
この変更をリポジトリにプッシュすると即座にCI/CDパイプラインが実行され、セキュリティスキャンが開始された。 スキャンと承認が完了するまで、マージリクエストはブロックされ、リスクのあるコードがリポジトリ本体に統合されない仕組みだ。しばらく経つと、セキュリティスキャンが完了し、先ほど追加した中程度のクロスサイトリクエストフォージェリ(CSRF)脆弱性が1件検出された。佐々木氏によれば、GitLab Duoは問題箇所を特定するだけでなく、修正用のマージリクエストを自動生成することも可能だという。
佐々木氏は続いて、AIによるレビュー機能を実演。ドラフト状態のマージリクエストを「準備完了」にすると、わずか数秒でGitLab Duoがレビュー結果を表示した 。そこには「このメソッドには複数の問題があるばい」「バリデーションがなくて検証ができとらん」と博多弁での鋭い指摘が並ぶ。その理由は、佐々木氏がデブサミ福岡開催を祝して「博多弁で記載して」と事前にYAMLによる指示をAIに与えていたためだ。佐々木氏はデモンストレーションを通して、GitLab Duoが、チームのニーズに合わせた柔軟な観点や依頼事項を含めたAIによる自動レビューが可能であることをユーモアを交えながら示した 。
佐々木氏は、まとめとして「大規模組織が、安易にAIを導入すべきではないという慎重な姿勢になるのは理解できる。しかし開発生産性向上のためにはAI活用が不可欠であり、適切な対策を講じた上で導入を検討してほしい」と締めくくり、講演を終えた。
GitLab Duoを紹介するウェビナー開催!
記事内で登場したGitLab Duoをご紹介するだけでなく、コーディング支援に留まる限定的なAI活用、AIが生成するコードに潜む脆弱性の検知と排除、そして現場で発生する予期せぬ知的財産の流出リスクといった、AI活用がスタンダード化する過程で浮上した新たな課題の解決方法についてもお伝えします! ソフトウェア開発におけるAI活用を実践・検討中の方におすすめです!10月8日(水)15時から開催いたします。