AI駆動開発+脆弱化対応の自動化で目指す開発・運用工数の削減
先述のチェックプロンプトに加えて、レビューにはGitLab Duoも活用している。これまではレビューの属人化や、複数人でレビューできない場合に一部のレビュアーに負担が偏る課題があったが、マージリクエストのレビュアーとしてGitLab Duoを指定することで解決を図っている。これにより、ソースコードの変更箇所については自動的にレビューが出力され、Cursorのコード生成時やパイプラインで気づけなかった内容を検出することを目指す。
同社ではまだ導入が始まったばかりだが、「例えば冗長なコードで削除可能な部分を提案してくれる。あるいは、ハードコードされた値の変数化や処理失敗時のエラーハンドリングで不足している部分の指摘にも役立っている」と塙氏はその効果を説明した。
続けて塙氏は、同社のAI駆動開発を実現する実行環境の全体像を解説した。実行環境には一般的なマイクロサービスアーキテクチャを採用しており、フロントエンドとBFF、バックエンドはAmazon ECSで、データベースはRDS for PostgreSQLを利用している。また、監視機能については、ログ監視にOpenSearch、メトリクスにはPrometheus、トレースにはAWS X-Rayを利用している。そして、それらをAWS Managed Grafanaで可視化して一元的に管理している。
最後に、塙氏は今後の展望について触れた。同社では、生成AIやGitLab Duoのさらなる活用による開発・運用工数の削減を目指している。一方で、セキュリティチェックの頻度も増えるため、脆弱性対応の工数増加が懸念される。
この点について、同社では脆弱性対応を自動化する仕組みを導入しようとしている。GitLabで週次や日次でパイプラインによる脆弱性診断を行い、そのレポートをワークフロー管理ツール「n8n」に送って、深刻度をチェックする。その後、GitLabへIssueの起票を指示し、GitLab Duo内のマージリクエストからコードを自動生成する。さまざまな機能を組み合わせて、レビュアーの負担が減る仕組みを構築中だ。「全ての脆弱性対応を自動化するのは難しいが、まずは簡単な部分から取り入れてレビュアーの負担を下げていきたい」と、塙氏はその狙いを話す。
モノリシックなシステムのモダン化、さらにAI駆動開発に至るまでを想像するのは難しい。しかし、同社は着実な取り組みによってそれを実現しようとしている。
