はじめに
この記事はGoogle Cloud Next 2025で公開されたセッション「Boost your code coverage with an AI-powered unit-testing agent」についてのセッションメモです。誤りなどがありましたら随時、修正していく予定です。
本セッションを理解するために必要な知識をおさらい
本セッションでは「Gemini Code Assist」を中心に説明がありました。
「Gemini Code Assist」はGemini for Google Cloudのひとつとして提供されているサービスであり、簡単に説明するとGeminiベースで利用できるAI コーディングアシスタントです。
なお、Google Cloud Japan様のチャンネルになりますが、YouTube動画もあります。
5 分で解説!Gemini Code Assist で実現する AI 支援のアプリケーション開発
セッションの内容を要約するとつまり
とてもシンプルにまとめると以下のとおりです。
- Gemini for Google Cloudのうちのひとつ、Gemini Code Assistが開発現場にもたらす革新について説明している
- Gemini Code Assistは、AIエージェントを活用して開発者の生産性向上を目指し、特にルーチンワークの自動化とテスト効率化に焦点を当てている。
- デモでは、AIエージェントがオープンソースのJava Webフレームワークに対し、短時間で網羅的なユニットテストを自動生成してコードカバレッジを劇的に向上させる様子が示された
- Gemini Code AssistのAIエージェントは複数の専門的なペルソナが連携して自己修復機能を備えることで質の高いテストコードを反復的に生成する高度なアーキテクチャを持つ
- 将来的には、IDEだけでなくSlackやGitHubなどの様々な開発ツールとの連携を強化し、より広範な開発ワークフローをAIが支援する方向性が示唆された
Gemini Code Assist agentsのプライベートプレビューが発表され、開発者からのフィードバックを積極的に取り入れながら、今後の機能開発を進めていく方針が示された。
全体を通してこのセッションではAIエージェントを活用し、開発者の生産性を向上させる方法としてテストにおけるコアなカバレッジを高める方法が紹介されました。
セッションの内容(本編)
本セッションで提示されたアジェンダは3つです。
順番に見ていきましょう。
Developer Productivity(開発者生産性)について
ソフトウェア開発の世界では、生産性の向上が常に求められています。しかし、開発者はコーディングだけでなく、テスト作成、ドキュメント整備、依存関係の管理など、多くの付随的なタスクに時間を費やしているのが現実です。
とりわけ「単体テスト」は、品質保証に不可欠である一方、その作成と保守は単調で時間のかかる作業と見なされがちです。
この課題に対し、Google CloudはAIを活用した解決策として「Gemini Code Assist」とそのエージェント機能を提示しました。
※「労苦」と表現していますが、間違いではありません。英語では「toil」
※ toilの定義については Google SRE – What is Toil in SRE: Understanding Its Impactを参照してください
最近のDeveloper SurveyではAIエージェントがどのように開発者の「労苦」を軽減し、生産性を飛躍的に向上させる可能性を秘めているかが示されました。
Benefits of AI tools(AIによる恩恵として何が一番大きいか)
AI in the development workflow(開発工程中で動くAIとして何が多いか)
調査を踏まえてIndustry Trends(イマドキの開発)に必要なものとしては以下のとおりです。
- Quality and Stability is declining
- Software Development Life Cycle(SDLC)
- Growing need for AI Automation
Gemini Code Assistは上記3つ、つまりはイマドキの開発をプロダクトテーマにしています。
単体テストの自動生成:AIエージェントの威力
Gemini Code Assistの中核となるのは、開発者のワークフローを支援するために設計されたAIエージェントです。
セッションでは、特に単体テストの自動生成に焦点が当てられました。
デモでは、オープンソースのJavaウェブフレームワーク「Spark」のリポジトリ(単体テストを意図的に削除したもの)を使用しました。
まず、Gemini Code Assistのチャットインターフェースを使い、特定のファイルに対する単体テストを生成しました。
次に、より強力なエージェント機能を呼び出し、指定したディレクトリ(フォルダ)内のすべてのファイルに対する単体テストを一括で生成しました。
驚くべきは、その結果です。当初0%だったコードカバレッジは、エージェントによるテスト生成後、ファイルあたり約80%にまで達しました。これは、開発者が手作業で行えば膨大な時間を要する作業です。
高品質なテスト生成を支える「自己修復ループ」
Geminiが生成したコードの品質や信頼性については、常に疑問が投げかけられます。Gemini Code Assistは、この懸念に対処するため、洗練されたアーキテクチャを採用しています。
- マルチエージェントシステム
単一のAIではなく、「ソフトウェアエンジニア」「テストエンジニア」といった専門的な役割(ペルソナ)を持つ複数のエージェントが協調して動作します。
- 建設的な批評と反復
各エージェントは、他のエージェントが生成した内容を自身の専門的観点から評価・批評します。
これにより、潜在的なエッジケースの考慮漏れなどを指摘し、改善を促します。
- 自己修復ループ
特に重要な機能です。エージェントはテストを生成するだけでなく、実際にそれを実行します。
その結果(成功、失敗、エラー、カバレッジのギャップなど)を分析し、問題点を特定する。
その分析結果を次のテスト生成に反映させ、目標とする品質に達するまで「生成→実行→分析→改善」のサイクルを繰り返します。
これにより、単にコードを生成するだけでなく、実行可能で質の高いテストスイートの構築を目指します。
ハルシネーションへの対策と将来性
質疑応答では、AIの「ハルシネーション(事実に基づかない情報の生成)」に関する懸念も提起されました。これに対し、前述のマルチエージェントによる批評メカニズムや、生成されたテストを実際に実行・検証するループが、生成されるコードの信頼性を高めるための重要な対策であることが説明されました。
また、将来的には以下のような展望も示されました。
- テスト駆動開発(TDD)への応用
現在は既存コードに対するテスト生成が主だが、TDDのようなテスト先行開発への応用も視野に入れている。
- 多様なテストへの対応
単体テストだけでなく、統合テストなど、他の種類のテスト生成機能も拡張予定。
- 開発ツールエコシステムへの統合
現在のIDE中心の利用から、Slack、GitHub、プロジェクト管理ツールなど、開発者が日常的に利用する様々なツールへエージェント機能を拡張し、よりシームレスな開発体験を目指す。
- コードカスタマイズ
ユーザー自身のコードベース(最大2万リポジトリ)をインデックス化(RAG: Retrieval-Augmented Generation)し、組織固有のコーディングスタイルや慣行に合わせた、より精度の高いコード生成や支援を提供する機能も開発中
Gemini Code Assist agentsのプライベートプレビューについて
開発者からのフィードバックを積極的に取り入れながら今後の機能開発を進めていく方針であると説明があった。
wait listのURLはQRコードで提供された。
Gemini Code Assist agents Private Preview | Google for Developers
※Shape the future of Gemini Code Assist agents
関連する次のセッションについても示された。(Keynoteあり)
まとめ
Gemini Code AssistのようなAIエージェントは、単なるコード補完ツールを超え、開発プロセスにおける「退屈だが重要な作業」を肩代わりする強力なアシスタントとなりつつあります。単体テスト生成の自動化はその第一歩であり、これにより開発者は、より創造的で複雑な問題解決に集中できるようになるでしょう。
AIが開発者の仕事を奪うのではなく、開発者の能力を「拡張」し、ソフトウェア開発全体の生産性と品質を向上させる。そんな未来が、もうすぐそこまで来ているのかもしれません。Gemini Code Assist Agentsのプライベートプレビューも発表されており、今後の進化から目が離せません。
感想
Gemini Code Assistはリリース当初から触れており、他のコーディングアシスタントとどのような面が違うのか説明が難しいと感じることが多かったですが、今回のセッションを通して大きな違いを理解できたと思います。特に最新のGeminiを使ったコーディングアシスタントはとても精度が高く、そして大量のソースコードを読めるところがポイントだと思いました。
セッション内で説明されていたコードカバレッジについて、たしかに0から80まで比率が上がるのはすごいですが、テストはカバレッジ率でシンプルに計測できるものではないので場合によりけりだと思いました。(ただ、そうは言ってもテストを書こうと思った時のフットワークが軽くなるのは確実です。)
今回印象的だったポイントとして聞く限りではDesign Docに沿って開発されているように感じるところです。
※Design Docとはソフトウェア設計時にどのようなことを実現するかを文書化するドキュメント作業のこと。多くのテック企業で採用されており、以下の4つで主に構成される。
Scope(対応すること)
Background(対応する理由、実装するための背景知識)
Problem Statement(解決したいこと)
Proposal(実現方法を具体的に記載する)
要するに実際の機能説明だけでなく、なぜやるのかどうしてやるのかを実際の調査から逆算して開発しているということになります。ここから感じ取れることとしては力の入れ方に信頼と安心感があることです。
加えて、それを裏付けるかのように積極的なフィードバックと続編となるセッションも別の日に公開となっていました。実際に登録しているのでこれもレポートをしたいと思います。
全体を通して、Gemini Code Assistは動作と安定性が飛躍的に向上しており、今後も期待できるプロダクトであることとGemini Code Assist agentsは今後も注目しておきたいものでした。
ここも読んでおきたい(関連資料)
Gemini Code Assist によるコーディング支援が無償で利用可能に
Gemini Code Assist | AI coding assistant
Gemini Code Assist: AI を活用したコード生成
よくある質問 | Gemini Code Assist | Google for Developers